Plugin "Zusätzliche Felder für jede Bestellposition": Maximale Anzahl Zeichen wird nicht beachtet

Hallo,

anders als in der Anleitung beschrieben, wir eine Zahl im Feld „Starttermin des Datumsfeldes“ nicht als max. Zeichenanzahl genommen.

Ist bei mir definiert beim Produkt (ich hab die Feldbeschiftungen verändert, wie im Handbuch beschrieben):

Und zusätzlich nochmal in den Grundeinstellungen des Produkts:

 

Aber im Frontend kann ich trotzdem soviel eingeben wie ich will, hier ein Screenshot des Warenkorbs:

Was ist zu tun?

@pierre-schmitz schrieb:

Hallo,

anders als in der Anleitung beschrieben, wir eine Zahl im Feld „Starttermin des Datumsfeldes“ nicht als max. Zeichenanzahl genommen.

Ist bei mir definiert beim Produkt (ich hab die Feldbeschiftungen verändert, wie im Handbuch beschrieben):

Und zusätzlich nochmal in den Grundeinstellungen des Produkts:

image

 

Aber im Frontend kann ich trotzdem soviel eingeben wie ich will, hier ein Screenshot des Warenkorbs:

image

Was ist zu tun?

Hallo,

ich würde sagen, ein Thema reicht pro Plugin: https://forum.shopware.com/index.php?p=discussion/37246/support-zusaetzliche-felder-fuer-jede-bestellposition . Das Thema wird auch beim Plugin selbst verlinkt. Ebenso wären solche Fragen sicher auch in einer E-Mail an den Hersteller besser aufgehoben.

Ich habe dies einmal nachgestellt:

ich habe in der Plugin-Konfiguration bei „Feld 1 - bei allen Artikeln anzeigen“ den Wert „Nein - nur bei ausgewählten Artikeln“ ausgewählt. Ebenso habe ich das Feld 1 bei einem Artikel aktiviert „Feld 1 - aktiv“, bei „Feld 1 - Typ“ den Wert „Eingabefeld“, bei „Feld 1 - Bedingung“ den Wert „6 - Das Eingabefeld hat eine Maximalanzahl an einzugebenen Zeichen“ ausgewählt und bei „Feld 1 - Starttermin des Datumsfeldes“ den Wert „10“ eingegeben. Danach habe ich den kompletten Cache (also inklusive Theme- und Backend-Cache) geleert.

Das gleiche gilt auch, wenn ich die Beschränkung nicht auf ausgewählte Artikel sondern bei allen Artikeln bei Feld 1 setze und nur in der Plugin-Konfiguration festlege („Feld 1 - aktiv“, bei „Feld 1 - Typ“ den Wert „Eingabefeld“, bei „Feld 1 - bei allen Artikeln anzeigen“ den Wert „Ja“, bei „Feld 1 - Bedingung für Feldtyp“ den Wert „Das Eingabefeld hat eine Maximalanzahl an einzugebenen Zeichen“ auswähle und bei „Feld 1 - Starttermin des Datumsfeldes“ den Wert „10“ festlege) - klappt genauso problemlos.

Bei mir funktioniert es tadellos und ohne Probleme, ich kann nur 10 Zeichen in das Eingabefeld eingeben. Du hast also bei dir etwas von diesen Punkten nicht durchgeführt. Bitte nicht immer alles auf ein Plugin schieben. Du kannst auch einfach mal in dem im Shopware Store verlinkten Demoshop gehen, dort hat das Eingabefeld auch eine Begrenzung von 10 Zeichen - funktioniert auch dort problemlos.

Vielleicht wurde das falsche Feld umgenannt?

Beste Grüße

Sebastian

Hallo Sebastian,

deine Antwort hilft mir leider überhaupt nicht weiter. Es mag sein, dass es in deinem Demoshop funktioniert, in meinem Shop funktioniert es nicht und ich wüsste gerne warum. Die maximale Anzahl Zeichen ist in den richtigen Stellen eingetragen, wie mit den Screenshots gezeigt. Der Cache wurde bereits mehrfach komplett geleert.

Grüße
Pierre

@pierre-schmitz schrieb:

Hallo Sebastian,

deine Antwort hilft mir leider überhaupt nicht weiter. Es mag sein, dass es in deinem Demoshop funktioniert, in meinem Shop funktioniert es nicht und ich wüsste gerne warum. Die maximale Anzahl Zeichen ist in den richtigen Stellen eingetragen, wie mit den Screenshots gezeigt. Der Cache wurde bereits mehrfach komplett geleert.

Grüße
Pierre

Hallo,

leider kann ich aber auch in keine Glaskugel schauen und dir sagen warum. Ich kann dir nur sagen, welche Einstellungen beispielsweise in allen Demoshops gesetzt sind, damit es funktioniert (was es ja auch problemlos dort tut), siehe oben. Somit funktioniert es definitiv im Plugin, sonst würde es ja bei den Demoshops nicht auch problemlos funktionieren. Das gleiche gilt auch für Kundenshops, wo es ebenso problemlos funktioniert.

Ohne irgendwelche Zugangsdaten (Shopware Backend, etc.) kann ich dir aber auch nicht weiterhelfen - ich kann ja beispielsweise gar nicht wissen, welche Felder du so umbenannt, ausgeblendet etc. hast. Genauso sehe ich ja nicht einmal, welche Konfiguration vorgenommen wurd etc. Ein Beispiellink gibt es ja auch nicht.

Anhand von Screenshots kann man individuelle Probleme selten lösen.

Es kann ja zum Beispiel sein, dass du versehentlich das Enddatum umgenannt hast und einblenden lässt anstatt das Startdatum - solch individuelle Sachen kann aber niemand wissen, wenn man keine Zugangsdaten hat.

Am besten schreibst du einfach einmal eine E-Mail an den Hersteller (E-Mail-Adresse steht ja in der Plugin-Beschreibung) mit den Zugangsdaten, damit man sich das genauer ansehen kann. Das es funktioniert, steht aber außer Frage, da es das ja tut.

Beste Grüße

Sebastian

Es wurden diese Felder hier umbenannt, das ist laut Handbuch korrekt:

An allen verfügbaren Stellen ist 12 eingetragen.

Im Frontend wird das zugehörige Inputfeld dennoch ohne das erforderliche Attribut ausgeliefert:

Ich benutze nach wie vor die Testversion des Plugins. Meine Tests sind noch nicht beendet.

Übrigens hat es bereits funktioniert! Der Test an der Stelle war längst erfolgreich abgeschlossen. Bis dann heute Morgen Bestellungen hereinkamen, wo der Kunde einen halben Roman ins Feld eingetragen hat. Das einzige, was wir im Zeitraum vom erfolgreichen Test bis zum Erkennen des Fehlers gemacht haben, ist unseres Wissens das Update auf Shopware 5.2.16.

Gibt es vielleicht die Möglichkeit, am Plugin vorbei über eine DOM-Manipulation das Attribut zu setzen? Wenn ja, wie würde man am besten vorgehen?

@pierre-schmitz schrieb:

Es wurden diese Felder hier umbenannt, das ist laut Handbuch korrekt:

image

An allen verfügbaren Stellen ist 12 eingetragen.

Im Frontend wird das zugehörige Inputfeld dennoch ohne das erforderliche Attribut ausgeliefert:

Ich benutze nach wir vor die Testversion des Plugins. Meine Tests sind noch nicht beendet.

Übrigens hat es bereits funktioniert! Der Test an der Stelle war längst erfolgreich abgeschlossen. Bis dann heute Morgen Bestellungen hereinkamen, wo der Kunde einen halben Roman ins Feld eingetragen hat. Das einzige, was wir im Zeitraum vom erfolgreichen Test bis zum Erkennen des Fehlers gemacht haben, ist unseres Wissens das Update auf Shopware 5.2.16.

Gibt es vielleicht die Möglichkeit, am Plugin vorbei über eine DOM-Manipulation das Attribut zu setzen? Wenn ja, wie würde man am besten vorgehen?

 Hallo,

wenn alles richtig konfiguriert ist, wird wie im Demoshop, folgendes HTML angezeigt:

Das maxlength -Input-Attribut (ist ein normales HTML-Input-Attribut) setzt die Maximalanzahl an Zeichen für ein Feld. Eine DOM-Manipulation oder irgendetwas anderes ist also überhaupt nicht notwendig, sofern eben alles richtig eingestellt ist.

Wie soll man dir bei deinem individuellen Problem ohne Zugangsdaten weiterhelfen können?

Wenn du bei " Feld 1 - bei allen Artikeln anzeigen" den Wert " Nein - nur bei ausgewählten Artikeln" in der Plugin-Konfiguration festgelegt hast, musst du die Festlegung innerhalb des Artikels + Artikelvarianten machen. Hast du dort " Ja" ausgewählt, musst die die Festlegung in der Plugin-Konfiguration vornehmen.

Beste Grüße

Sebastian

Wie gesagt, ich habe in der Plugin-Konfiguration "Nein - nur bei ausgewählten Artikeln" ausgewählt und den Wert 12 in allen betreffenden Feldern eingetragen, sowohl bei jedem Produkt als auch in allen verfügbaren Feldern in der Plugin-Konfiguration. Die Inputfelder werden dennoch ohne das erforderliche Maxlength-Attribut ausgeliefert.

Noch eine Frage: Wenn ihr einen Zugang hättet, wo würdet ihr als erstes nachsehen?

@pierre-schmitz schrieb:

Wie gesagt, ich habe in der Plugin-Konfiguration "Nein - nur bei ausgewählten Artikeln" ausgewählt und den Wert 12 in allen betreffenden Feldern eingetragen, sowohl bei jedem Produkt als auch in allen verfügbaren Feldern in der Plugin-Konfiguration. Die Inputfelder werden dennoch ohne das erforderliche Maxlength-Attribut ausgeliefert.

Noch eine Frage: Wenn ihr einen Zugang hättet, wo würdet ihr als erstes nachsehen?

Hallo,

wenn du „Nein - nur bei ausgewählten Artikeln“ auswählst, musst du das Feld auch nicht in der Plugin-Konfiguration konfigurieren. Am besten nimmst du dort alles einmal raus. Somit musst du das Feld (inkl. Konfiguration) individuell bei jedem Artikel inklusive all seiner Artikelvarianten festlegen.

Ohne Zugangsdaten drehen wir uns aber wirklich im Kreis.

Ich würde folgendermaßen vorgehen (so wie ich es auch im Demoshop gemacht habe): Plugin-Konfiguration kontrollieren -> mir einen Artikel nehmen und bei diesem die Einstellung festlegen und kontrollieren -> Artikel speichern -> kompletten Shop Cache (also inklusive Backend- und Theme-Cache) leeren -> Artikel-Detailseite neu aufrufen (gegebenenfalls auch in einem anderen Browser bzgl. Browser-Cache).

Beste Grüße

Sebastian

Ich glaube ich bin der Sache nähergekommen. Ich habe in den Plugineinstellungen eingestellt, dass alle Felder immer überall angezeigt werden. Dann dort die Maximallänge definiert und - es geht!

Ich muss jetzt in der Datenbank alle Backendfelder beim Artikel wieder aktivieren und nachsehen, ob dort - warum auch immer - abweichende Einstellungen definiert sind. Dann müssen diese Felder eingeblendet bleiben, alles andere ist zu gefährlich. Ist aber jetzt erstmal eine Vermutung.

Jou, das war’s! Ich hatte im Backend beim Produkt das Bedingungsfeld ausgeblendet. Liegt ja auch nahe, wenn man es für seine Backendbenutzer so einfach wie möglich gestalten möchte. Die Bedingungsfelder waren aber alle leer, es gibt wohl keinen Standardwert. Selbst die Vererbung von den Plugineinstellungen (0) muss man eigens auswählen.

Ich hab das Bedingungsfeld im Backend aktiviert, überall 6 ausgewählt und nun funktioniert es.

Danke dir!

@pierre-schmitz schrieb:

Jou, das war’s! Ich hatte im Backend beim Produkt das Bedingungsfeld ausgeblendet. Liegt ja auch nahe, wenn man es für seine Backendbenutzer so einfach wie möglich gestalten möchte. Die Bedingungsfelder waren aber alle leer, es gibt wohl keinen Standardwert. Selbst die Vererbung von den Plugineinstellungen (0) muss man eigens auswählen.

Ich hab das Bedingungsfeld im Backend aktiviert, überall 6 ausgewählt und nun funktioniert es.

Danke dir!

Hallo,

alles andere hätte mich langsam auch gewundert. Freut mich aber, wenn es nun (wieder) ordnungsgemäß funktioniert. Du musst dir nur merken: möchtest du das Feld global für alle Artikel, musst du alle Konfigurationen in der Plugin-Konfiguration vornehmen. Möchtest du das Feld individuell pro Artikel, musst du alle Konfigurationen beim Artikel und seinen Artikelvarianten vornehmen.

Stimmt, oben im Screenshot ist das „Bedingung“ - Freitextfeld wirklich ausgeblendet gewesen (du hast dir ja nur noch deine benötigten Artikel-Freitextfelder selbst eingeblendet). Dadurch, dass du dort nicht die richtige Bedingung (Bedingung 6) beim Artikel ausgewählt hattest, zeigt es natürlich auch nicht das gewünschte Ergebnis an. Aber klappt ja jetzt =).

Beste Grüße

Sebastian