Hallo liebe Shopware-Gemeinde, zur einfacheren Koordination zwischen unserem Fotografen und dem restlichen Team habe ich einen eigenen Shopware-Import-Manager geschrieben über den die Datensätze eingepflegt werden. Das funktioniert auch alles bestens und der Manager ist nun auch schon über 1 Jahr erfolgreich im Einsatz. Allerdings trat heute zum ersten mal ein Fehler auf, als ich die Eigenschaften eines Artikels im originalen Shopware-Backend geändert habe. Nach dem Speichern waren plötzlich einige (sehr) lange Eigenschaften nicht mehr vollständig, weil sie scheinbar beim Speichern abgeschnitten wurden. Weiß jemand wo dieses kürzen im Code stattfindet? Das Datenbank-Feld s_filter_values
.value ist vom Typ „Text“ und sollte somit theoretisch beliebig viel Text fassen - daran sollte es also nicht liegen. Vielen Dank für eure Hilfe! Liebe Grüße Jens
Hi, also das reine speichern in der DB passiert in der engine/backend/modules/filter/manage.php Datei. Ab zeile 78 fängt es an mit dem saveOption Das einzigste was ich dort finde was den String beeinflussen könnte wäre $groupname = mysql\_real\_escape\_string(htmlspecialchars($\_POST["optionName"]));
Hoffe ich konnte dir helfen. Oh ich vermute ich hab dich etwas falsch verstanden. Meinst du direkt die Eigenschaften im Artikel?
Hallo fulltime, vielen Dank schonmal für deine Antwort! Ich schaue mir das auf jeden Fall mal näher an… Ich meine die Artikel-Eigenschaften… Wenn du einen Artikel bearbeitest (bist du ja erst auf „Stammdaten“) oben in den Tabs auf „Eigenschaften“ klicken. Diese Eigenschaften meine ich… WIr hatten da in eine der Artikel-Eigenschaften eine HTML-Tabelle mit Zusatzinformationen zum Produkt eingebaut. Doch leider ließ sich nicht der gesamte HTML-Code abspeichern… bzw. mein Import-Manager hatte alles korrekt abgespeichert - und die Tabelle wurde auch vollständig angezeigt. Als ich dann aber eine andere Eigenschaft im originalen Shopware Backend ändern wollte wurden beim aktualisieren scheinbar auch die anderen Eigenschaften mitaktualisiert und der HTML-Code leider abgeschnitten.
Dann liegt die Begrenzung evtl. im Backend Fenster / Inputfeld. Wurde hier vor deiner erneuten Speicherung der komplette String angezeigt?
Ich komme dem Problem gerade schon näher… Beim direkten Speichern im Backend funktioniert alles bestens. Sprich: Artikel bearbeiten -> (Artikel-)Eigenschaften -> Eigenschaft mit dem laaaaaangen HTML-Code befüllen -> Speichern Klappt alles wunderbar und wir auch im Shop korrekt dargestellt. Das Problem was auftritt ist das auslesen NACH dem Speichern. Denn nach dem Speichervorgang in der DB landet nicht der gesamte Code/Text wieder in der entsprechenden Eigenschaften-Textarea, sondern wird vor dem Einfügen in die Textarea definitiv abgeschnitten (kein Sonderzeichenfehler im Quellcode o.Ä. - der Text wird eindeutig beschnitten) Weiß jemand wo ich da im Code nachgucken könnte?
Hi, ich würde darauf tippen, dass es eventuell am GROUP_CONCAT beim erneuten Auslesen liegt. Standardmäßig liegt das Limit hier bei 1024 Zeichen (MySQL Variable group_concat_max_len). Gruß