Jump to content

"Bei der Aktualisierung ist ein Fehler aufgetreten product ()" & nicht alle Produkte im Frontend


S_teffi

Recommended Posts

Hallo liebes Forum,

 

ich habe mal wieder ein Problem, diesmal aber ein ziemlich großes.

 

Bin gerade noch beim Aufbau und der Shop steht die meiste Zeit im Wartungszustand.

Nutze PrestaShop-Version 1.6.0.14

 

 

Fehler:

Gestern wollte ich ein Proukt aktualisieren, da kam mir folgende Fehlermeldung entgegen: Bei der Aktualisierung ist ein Fehler aufgetreten product ()     

 

Im Frontend habe ich dann auch gesehen, dass einige Produkte verschwunden sind:

- auf der Startseite sind alle neuen Produkte weg (Bild1) -> liegen aber noch im zeitlichen Rahmen & müssten angezeigt werden

- in der ersten Oberkategorie werden alle Produkte angezeigt, in der Unterkategorie erscheint hingegen nur "X Artikel". aber nicht welche (Bild2)

- in der zweiten und dritten Oberkategorie wird auch nur die Produktanzahl angezeigt, aber nicht welche..

 

 

Änderungen:

Seit dem Zeitpunkt, als es noch ging, ist nur folgendes passiert:

- Server war 1 Tag aus (glaube eher nicht, dass es daran lag)

- Montag waren etliche Modul-Updates (sieht man noch irgendwo welche das waren?)

 

 

Lösung?

Nun weiß ich irgendwie gar nicht wo ich ansetzen soll..  :unsure:

Ich weiß nicht, ob es ein Datenbankproblem, oder ein Modulproblem oder ein anderes Problem ist..

Könnt ihr mir bitte helfen und sagen, was ich probieren kann, um den Fehler zu beheben?

 

 

Vielen Dank und liebe Grüße, Steffi

post-1042484-0-18666200-1441257735_thumb.jpg

post-1042484-0-30093300-1441257736_thumb.jpg

Link to comment
Share on other sites

Hab jetzt mal den Debug-Modus gestartet und folgende Meldung bekommen:

 

[PrestaShopDatabaseException]

Unknown column 'pl.delivery_now' in 'field list'

SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,			pl.`meta_keywords`, pl.`meta_title`, pl.`name`, pl.`available_now`, pl.`available_later`, pl.`delivery_now`, pl.`delivery_later`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name,			product_shop.`date_add` > "2015-02-15" as new, MAX(product_attribute_shop.minimal_quantity) AS product_attribute_minimal_quantity,MAX(product_attribute_shop.id_product_attribute) id_product_attributeFROM `ps_product` p INNER JOIN ps_product_shop product_shop		ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)LEFT JOIN `ps_product_lang` `pl` ON 			p.`id_product` = pl.`id_product`			AND pl.`id_lang` = 1 AND pl.id_shop = 1 LEFT JOIN `ps_image` `i` ON i.`id_product` = p.`id_product` LEFT JOIN ps_image_shop image_shop		ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1)LEFT JOIN `ps_image_lang` `il` ON i.`id_image` = il.`id_image` AND il.`id_lang` = 1LEFT JOIN `ps_manufacturer` `m` ON m.`id_manufacturer` = p.`id_manufacturer`JOIN ps_category_product cp ON (cp.id_product = p.id_product)JOIN ps_category_group cg ON (cg.id_category = cp.id_category)LEFT OUTER JOIN `ps_product_attribute` pa ON p.`id_product` = pa.`id_product` LEFT JOIN ps_product_attribute_shop product_attribute_shop		ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 1 AND product_attribute_shop.default_on = 1) LEFT 			JOIN ps_stock_available stock			ON (stock.id_product = p.id_product AND stock.id_product_attribute = IFNULL(`product_attribute_shop`.id_product_attribute, 0) AND stock.id_shop = 1  AND stock.id_shop_group = 0  )WHERE (product_shop.`active` = 1) AND (product_shop.`visibility` IN ("both", "catalog")) AND (product_shop.`date_add` > "2015-02-15") AND (cg.`id_group` = 1)GROUP BY product_shop.id_productORDER BY p.`date_add` DESCLIMIT 8

at line 646 in file classes/db/Db.php

 

641. 			WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);642. 		}643. 		elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))644. 		{645. 			if ($sql)646. 				throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');647. 			throw new PrestaShopDatabaseException($this->getMsgError());648. 		}649. 	}650. 651. 	/**

 

 

 

 

Kann mir jemand damit weiterhelfen?  :unsure:

Link to comment
Share on other sites

Habe mal nachgesehen.. die Spalten 'delivery_now` und  `delivery_later` existieren auch gar nicht in der Tabelle ps_product_lang...

 

Heißt das die Modul-Updates, waren vielleicht gar nicht für meine Version 1.6.0.14 sondern für eine höhere?

Falls ja, wie wird sowas denn unterschieden? Dachte jedem werden nur die Updates für seine Version angezeigt?

 

Und falls meine Theorie stimmt, wie bekomme ich raus, an welchem Modul es liegt? Und wie bekomme ich das Modul wieder "gedowngraded"?  :unsure:

Link to comment
Share on other sites

Hallo Kulli,

 

danke für deine Antwort.. ich werde das mal prüfen, geht leider erst Montag.

 

..aber so rein vom Logischen her, wie kann da was zerschießen, wenn der Server aus ist und keine Anfragen oder Ähnliches an PrestaShop gehen? Also da kann doch theoretisch nix weiter passieren oder? 

Denn der Server war schon öfter mal kurz aus, z.B. bei Updates..

 

 

..und dieser Datenbankfehler deutet ja eigentlich darauf hin, dass da 2 Spalten fehlen. Und die fehlen ja wirklich bei mir in der 1.6.0.14er Version. Deswegen meine Vermutung, dass da irgendwelche Module nach dem Update jetzt andere Datenbankabfragen stellen, womit meine 1.6.014er Version noch nicht klar kommt.

Kannst du mir sagen, wo genau diese Datenbankabfragen erzeugt werden? Und ob Module gedowngraded werden könnten?

 

Vielen Dank & liebe Grüße, Steffi

Link to comment
Share on other sites

Oh man.. das heißt bei Presta werden einem wirklich Updates vorgeschlagen, die nicht mal mit der installierten Version kompatibel sind??

Aber wenn man 2 Systeme laufen hat und JEDES einzelne Modul-Update erst testet, bedeutet das ja einen enormen Zeitaufwand - zumal hier fast täglich irgendwelche kleinen Updates kommen.. 

 

 

Aber das ist ja nun eh zu spät..

Wie könnte ich mein Problem denn jetzt lösen?

Würde es etwas bringen mit dem 1-Click-Upgrade auf die 1.6.1.1er Version zu updaten?

Oder kannst du mir sagen, welches Modul diese Datenbankabfrage erzeugt und wo man die Datenbankabfrage ändern könnte?

Link to comment
Share on other sites

Habe mal nachgesehen.. die Spalten 'delivery_now` und  `delivery_later` existieren auch gar nicht in der Tabelle ps_product_lang...

 

Heißt das die Modul-Updates, waren vielleicht gar nicht für meine Version 1.6.0.14 sondern für eine höhere?

Falls ja, wie wird sowas denn unterschieden? Dachte jedem werden nur die Updates für seine Version angezeigt?

 

Und falls meine Theorie stimmt, wie bekomme ich raus, an welchem Modul es liegt? Und wie bekomme ich das Modul wieder "gedowngraded"?  :unsure:

 

Nein, deine Theorie stimmt nicht.

Die beiden Tabellenfelder delivery_now und delivery_later werden von EU legal gesetzt. Sie erlauben die optionale Erfassung individueller Lierferzeiten pro Produkt. Das ist ab PrestaShop 1.6.1 nicht mehr möglich. In dieser Hinsicht ist das Nachfolgemodul AdvancedEuCompliance ein Rückschritt.

 

Am einfachsten ist es, du deinstallierst EU legal einmal und installierst es anschließend wieder.

Du kannst die beiden Felder aber via PHPMyAdmin auch selbst in der Tabelle ergänzen, indem du sie definierst wie z.B. available_now.

Link to comment
Share on other sites

ohjee, Danke für deine Antwort!

 

Allerdings hatte ich das Modul schon deinstalliert. Habe jetzt mal probiert es erneut zu installieren, da erscheinen dann folgende Fehlermeldungen:

 

Folgende Module konnten nicht vollständig installiert werden:

  • eu_legal : 
        The method getContentFromId in the class CMS is already overriden.
        The method getTaxesRate in the class Carrier is already overriden.
        The method getProducts in the class Cart is already overriden.
        The method getProducts in the class Category is already overriden.
        The method getHookModuleExecList in the class Hook is already overriden.
        The method Send in the class Mail is already overriden.
        The method getProducts in the class Manufacturer is already overriden.
        The method validateOrder in the class PaymentModule is already overriden.
        The method __construct in the class Product is already overriden.
        The method getBestSales in the class ProductSale is already overriden.
        The method getProducts in the class Supplier is already overriden.
        The method getModulesOnDisk in the class Module is already overriden.
        The method __construct in the class Order is already overriden.
        The method getTaxTabContent in the class HTMLTemplateInvoice is already overriden.
        The method getTaxTabContent in the class HTMLTemplateOrderSlip is already overriden.
        The method getTaxData in the class TaxCalculator is already overriden.
        The method initFormInformations in the class AdminProductsController is already overriden.
        The method sendConfirmationMail in the class AuthController is already overriden.
        The method initContent in the class OrderController is already overriden.
        The method initContent in the class OrderDetailController is already overriden.
        The method init in the class OrderOpcController is already overriden.
        The method __construct in the class ParentOrderController is already overriden.
        The method initContent in the class ProductController is already overriden.

 

Heißt das, irgendwo ist doch noch was von EU-Legal verankert?  :unsure:  Würde ich das durch das Löschen des Moduls (Backend > Module EU Legal > Löschen) wegbekommen? Oder müsste man auf dem Server dann noch Dateien löschen? Oder ists doch besser gleich diese 2 Spalten in der Datenbank zu definieren?

 

Jetzt ein 1-Click-Upgrade von 1.6.0.14 auf 1.6.1.1 zu machen würde wahrscheinlich auch nur noch mehr zerstören oder?

 

Sorry, dass ich so viele (wahrscheinlich simple) Sachen frage, will nur nicht noch mehr kaputt machen :/

 

Vielen Dank und liebe Grüße, Steffi

Link to comment
Share on other sites

Kann das sein, dass du noch eine alte Version von EU-legal hast? Denn eigentlich sollte dieses Problem mit der Version für 1.6.0.14 behoben sein.

 

In jedem Fall bleibt dir aber jetzt nichts anderes übrig, als alle Override-Dateien, die hier genannt werden (oder der Einfachheit halber alle, die auch im Verzeichnis /eu_legal/overrides der ZIP-Datei enthalten sind), aus dem Override-Verzeichnis auf deinem Server zu löschen.

 

Denn die Deaktivierung ist sicher auf Dauer keine Lösung.

Edited by eleazar  (see edit history)
Link to comment
Share on other sites

Hmm hatte EU Legal (eu_legal_1.4.2.zip) eingebunden.. und diese Version stand eigentlich für PrestaShop 1.6.0.14 ausgeschrieben..

 

 

uha.. oder einfach den aktuellen override Ordner mit dem override Ordner vom ganz am Anfang aus der prestashop_1.6.0.14.zip ersetzen, dürfte auch funktionieren oder?

Dann muss ich nicht jeden Ordnerpfad manuell durchforsten.. (sonst hatte ich außer den Standard-Modulen nur noch PayPal installiert)

 

 

Nur mal noch eine Frage für die Zukunft: Es stehen ja ständig neue Modul-Updates drin.. sind diese dann immer nur für die aktuelle Version (zur Zeit 1.6.1.1) optimiert oder werden die so entwickelt, dass sie auch für ältere Versionen (also in meinem Fall 1.6.0.14) kompatibel sind?

 

Nochmals vielen, vielen Dank für deine Hilfe! ..war schon kurz vor einem kompletten Shopsystem-Wechsel

Link to comment
Share on other sites

Hmm hatte EU Legal (eu_legal_1.4.2.zip) eingebunden.. und diese Version stand eigentlich für PrestaShop 1.6.0.14 ausgeschrieben..

 

 

Das passt.

 

 

uha.. oder einfach den aktuellen override Ordner mit dem override Ordner vom ganz am Anfang aus der prestashop_1.6.0.14.zip ersetzen, dürfte auch funktionieren oder?

Dann muss ich nicht jeden Ordnerpfad manuell durchforsten.. (sonst hatte ich außer den Standard-Modulen nur noch PayPal installiert)

 

Nein, dann hast du ja bei der Re-Installation wieder die Fehlermeldung! Wenn du aber sonst nichts weiter installiert hast, kannst du innerhalb des Override Ordner alle Dateien löschen, aber nicht die Verzeichnisse!

 

Bei den Modul-Updates wäre ich vorsichtig. Die sind oft nicht alle kompatibel!

Link to comment
Share on other sites

nein nein, meine nicht den override Ordner aus der Zip von EU-Legal (eu_legal_1.4.2.zip) - sondern den von der PrestaShop-Installations-Zip: prestashop_1.6.0.14.zip vom Download (https://www.prestashop.com/de/entwickler-versionen#previous-version:)

 

also: aktuellen override-Order mit dem aus dem Download (https://www.prestashop.com/de/entwickler-versionen#previous-version) ersetzen.

 

Weil ein paar Dateien waren da schon von Anfang an drin, glaube die sollte ich dann nicht löschen oder? Bsp.: override\classes\module\index.php

Oder braucht man die nicht bzw. werden irgendwie immer neu erzeugt?

Link to comment
Share on other sites

Guten Morgen,

 

habe jetzt alle Dateien raus & die Fehlermeldung ist verschwunden. 

 

Allerdings geht jetzt mein Slider auf der Startseite irgendwie nicht mehr :(

Alle Elemente sind bei Seitenaufruf schnell geladen, außer der Slider - hier erscheint nur der Titel des ersten Slides als Text mit Verlinkung.

Die Seite rödelt jetzt auch voll lang und unten steht "Übertragen der Daten von www..." oder "Warten auf www..."

 

Aber das kann doch nicht mit den Dateien im Ordner Override zu tun haben oder?  :blink:

Hab vorher nie drauf geachtet ob es normal ist, aber es wird jetzt auch immer eine Slider-Datei im Hauptordner von prestashop erzeugt, ich lade sie mal mit hoch. (xyz.homeslider.tpl.php)

 

Hab schon probiert

- das Slider-Modul zu deaktivieren und neu zu aktivieren, aber bringt leider nichts..

- 1 Bild mal neu hoch zu laden, bringt auch nichts... aber scheinbar werden die Bilder irgendwie nicht gefunden.. in Firefox erscheint der Metatitel als Schriftzug, in Chrome erscheint dieses gebrochene Bild-Symbol

 

Habt ihr eine Idee woran das jetzt liegen kann? Bzw. wie ich das neue Problem lösen kann?

 

Vielen Dank und liebe Grüße, Steffi

xyz.homeslider.tpl.php

Edited by S_teffi (see edit history)
Link to comment
Share on other sites

resetten klappt insofern, dass es wieder mit den Standard Bildern und Lorum-Ipsum-Texten läuft - sobald ich aber auch nur ein Bild (JPG 106 kb) ändere, funktionierts nicht mehr.

 

Habe jetzt auch noch gesehen, dass meine Versanddienste nicht mehr funktioneren.. sind zwar alle zu den Artikeln hinterlegt, allerdings steht dann im Warenkorb "versandkostenfrei" (woher auch immer Presta sich das zieht) und beim vorletzten Schritt 04 Versand kommt die Fehlermeldung: "Keine Versanddienste verfügbar." & somit lässt sich die Bestellung gar nicht erst abschließen..

 

----------------------------------------------------------------------------------------------

 

Also irgendwie ist der Wurm drin & ich glaube nicht, dass es was bringt weiterhin alles einzeln zu flicken, um dann das nächste Problem zu finden.

Würde allerdings noch einen letzten Versuch wagen & den Shop neu aufsetzen - gleich mit der 1.6.1.1er Version.

 

Aber auch nur wenn es eine Möglichkeit gibt, die jetzigen 

- Kategorien

- Eigenschaften

- Varianten

- Artikel inkl. versch. Eigenschaften UND Varianten

als .csv zu exportieren, sodass man sie in den neuen Shop als .csv wieder importieren kann? Die Artikelpflege soll dann auch nur noch in der .csv erfolgen - ist sicherer falls mal wieder irgendwas durch irgendwas zerschossen wird.

 

Ich möchte nicht schon wieder alle Artikel manuell einpflegen, um dann irgendwann festzustellen, dass irgendwas nicht hinhaut. (auch wenn ich demnächst dann wie du schon sagtest einen zweiten Test-Shop parallel laufen lasse)

 

Ist dieses Vorgehen möglich? Die Muster-Import-Dateien habe ich schon gesehen, aber wie bekomme ich meine aktuellen Daten in dieser Form exportiert?

 

Vielen Dank und liebe Grüße, Steffi

Link to comment
Share on other sites

Auf 1.6.1.1 updaten und dann wieder auf 1.6.0.14 zurück "rollen" ?

Nein, wenn 1.6.1.1 funktioniert, würde ich auch gar nicht mehr zurück wollen.. aber ich bezweifle, dass ich von einer defekten 1.6.0.14 auf eine funktionierende 1.6.1.1 Version kommen werde.

 

Und bevor ich alles zerstöre, möchte ich lieber einen Export in eine csv bzw. mehrere, um diese dann direkt wieder einspielen zu können.. 

Ist dieses .csv-Vorgehen möglich so wie ich es oben bereits beschrieben habe? und wenn ja wie?

 

Wenn ich die .csv's sicher habe, würde ich auch das mit dem 1-click-upgrade probieren.

Link to comment
Share on other sites

 

Und bevor ich alles zerstöre, möchte ich lieber einen Export in eine csv bzw. mehrere, um diese dann direkt wieder einspielen zu können.. 

Ist dieses .csv-Vorgehen möglich so wie ich es oben bereits beschrieben habe? und wenn ja wie?

 

Diese Vorgehensweise ist durchaus sehr üblich.

 

Wichtig ist, daß du dir vorab deinen Bilderordner sicherst und - ganz wichtig - du dir ein Gesamtbackup deiner Datenbank (z.B. Dump über phpmyadmin) erstellst.

Bewährt hat es sich auch, den neuen Shop parallel zum alten aufzubauen (offline oder in einem neuen webspace oder im vorhandenen in einem zweiten Verzeichnis).

Anleitungen wie du einzelne Teile der Datenbank als csv herauskopierst findest du hier im Forum jede Menge, es gibt auch Module (kommerzielle und kostenlose) die dich dabei unterstützen.

 

Grüsse

Whiley

Link to comment
Share on other sites

Hallo ihr Lieben,

 

habe jetzt folgendes Modul für 9,99£ gefunden: https://oavea.com/modules/premium-prestashop-modules/export-pro

Habt ihr damit Erfahrung oder habt schon mal von gehört?

 

Oder könnt ihr mir kostenlose Module empfehlen, mit denen der Ex-/Import (von 1.6.0.14 zu 1.6.1.1) problemlos klappen sollte?

Kostenlose Module habe ich bisher leider nicht finden können..

 

Liebe Grüße, Steffi

Edited by S_teffi (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...