wir möchten eine Mehrfachänderung, klassisch über die Funktion Mehrfachänderung in der Artikelübersicht durchführen.
Dazu haben wir ein eigenes Freitextfeld erstellt - im Backend erscheint die Eingabemaske unter Artikel und in unserem Shop-Template wird der Inhalt auch ausgegeben. Funktioniert alles soweit.
Jetzt möchten wir eine Mehrfachänderung bei Artikeln mit diesem Freitextfeld über die Mehrfachänderung (Operator:Set) durchführen.
Bei dem Textfeld ‘Wert’ wird eine Zeichenkette mit mehr als 2700 Zeichen eingegeben.
Problem:
SW meldet allerdings das die Zeichenkette nicht länger als 2700 Zeichen lang sein darf in diesem Eingabefeld.
In der DB ist das Attribut mit ‘MEDIUMTEXT’ als Datentyp gekennzeichnet, so dass eine ausreichende Größe von mehr als 2700 Zeichen dargestellt und verarbeitet werden kann. Geben wir die gewünschte Zeichenkette (ca.4500 Zeichen) über die Stammdaten-Artikel selbst ein, wir das auch übernommen, abgespeichert und angezeigt im Store-Front.
Hat Shopware eine restriktion für die Zeichenketten-Eingabe irgendwo eingestellt - bzw.
Wie kann man die Zeichenkettenlänge im Eingabefeld ‘WERT’ der Mehrfachänderung vergrößern?
ich habs gerade getestet und den Wert auf 4000 gesetzt.
/**
* Issue SW-23934
*
* Due to a problem in PHP (https://bugs.php.net/bug.php?id=70110) long values can lead to a problem parsing the DQL
*/
const MAX_VALUE_LENGTH = 4000;
Das Problem besteht nachwievor.
Die eingegebene Zeichenkette wird nicht übernommen (ca 3800 Zeichen) und die Hinweismeldung, dass man nicht mehr als 2700 Zeichen eingeben soll im Eingabefeld, wird immer noch ausgegeben. Es kommt nichts in der DB an bzw. wird dort nicht übernommen.
Es scheint noch eine weitere Einstellung von Relevanz zu sein.
PS: Was meintest du genau mit dem Weg direkt über die DB?
Rein vom zeitlichen würde ich jetzt tippen das es genau der Punkt ist warum Shopware die Limitierung gesetzt hat.
Der Issue wurde vor 13 Monaten in den Code eingepflegt, der Topic ist 2 Jahre alt.
Vermutlich war das der nötige Fix dann.
Und der ist ja nicht ohne Grund drin
Jetzt noch tiefer reinzugehen ist glaube ich nicht die Lösung für dein Problem weil du nicht mehr glücklich wirst wenn du das jedesmal neu bauen musst.
Wenn du da wirklich weiter machen willst, dann per PN bitte. Möchte nicht hier noch andere anstecken das nachzubasteln.
Das Problem liegt da eher an DQL vom Doctrine. Dieser wird bei import export nicht verwendet. Du solltest keinesfalls diese Limitierung entfernen. Das führt zum Problem, das ALLE Produkte diesen Text kriegen.