Neu Freitextfeld über Variation - Zeichenbeschränkung für Gravur

TobiTrouble

Aktives Mitglied
7. April 2018
65
6
Hallo Zusammen,

ich hatte das Thema bereits in einer anderen Kategorie eröffnet, ich vermute es war dort nicht ganz richtig aufgehoben, da keine Antworten kamen, deshalb probiere ich es hier noch einmal, denke mal ich bin nicht der einzige mit solch einer Anforderung :)

Ich möchte bei bestimmten Artikeln im Shop 5 die Möglichkeit einer Gravur anbieten.
Je nachdem welche Größenvariante ausgewählt wird, sollen im Shop dann 3, 4 oder 6 Zeilen für Freitext eingeblendet werden. Probiert habe ich das mit Anlegen einer Variation, Freitextauswahl. Sieht auch soweit gut aus (falls es weitere Möglichkeiten gibt, würde ich auch das in Betracht ziehen).

Allerdings ist die Zeichenanzahl in den jeweiligen Feldern begrenzt, z.B. mal sind es nur 12, mal 14 Zeichen.

Soweit ich im Browser erkennen kann, ist das Textfeld JTL seitig auf 255 Zeichen eingestellt, das könnte man auf jeden Fall überschreiben und eingrenzen auf z.B. 12 (funktioniert nach Einstellung im Browser auch).

Wie bzw. mit welcher Variable kann ich das aber nun global im Backend steuern, dass wenn ich "Gravur1" anlege (Name erstmal egal), dieses Feld immer nur 12 Zeichen zulässt und wenn ich "Gravur2" mit einblende/anlege, dieses Feld eben 14 Zeichen zulässt.

Wenn jetzt auch noch eine Beschriftung bzw. ein Hinweis möglich wäre, wie viele Zeichen noch übrig sind oder gar, dass manche Zeichen eingeschränkt bzw. nicht zugelassen sind, wäre das das sehr elegant :) Die Begrenzung selbst würde aber im ersten Schritt genügen.


Hier seht ihr wie ich es im Shop bei mir meine:

Gravur1.jpg




So würde ich es mir wünschen:

Gravur2.jpg


Danke.
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Das ordentlich mit Validierung zu machen ist nur mit Plugin möglich.

Aber es gibt immer noch einfache und unsichere Möglichkeit, das mit der Template zu lösen. Alles, was Sie tun müssen, ist, die Variation nach dem Namen zu überprüfen und dann "maxlength" zu ändern.

Die Datei befindet sich hier:
"productdetails/variation.tpl"

Code:
maxlength={if $variation->cName==="Gravour Text 1"}12{elseif $variation->cName==="Gravour Text 2"}14{else}255{/if}
 
Zuletzt bearbeitet:

TobiTrouble

Aktives Mitglied
7. April 2018
65
6
Danke für die erste Antwort und einem Ideenansatz.
Grundlegend - welches Plugin wäre für Shop 5 dafür geeignet?

Den Code wollte ich probieren, das funktioniert aber leider nicht so richtig.
Den Ansatz finde ich allerdings super, wenn das funktioniert, dürfte das auch erst einmal ausreichen und meine Anforderung erfüllen.

Wenn ich die variation.tpl bearbeite und den Code so einfüge:

2.jpg

bekomme ich auf jeder Variationsseite einen Error 500, die Seite wird nicht mehr geladen. Ursprünglich stand hinter maxlength "maxlength=255", ich habe Ihren Code mit der richtigen Beschriftung aus der Wawi eingefügt.

Wenn ich die Freitextzeile im Browser untersuche, steht der Name aus der WaWi allerdings unter dem "js-btn-slider-wrapper" ist hier evtl. etwas im Code zu verändern, damit der Bezug stimmt, oder habe ich etwas komplett falsch eingefügt?

1.jpg
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Grundlegend - welches Plugin wäre für Shop 5 dafür geeignet?
Ob so ein Plugin bereits existiert kann ich nicht sagen, ich meinte aber die individuelle Entwicklung von Service-Partner.

bekomme ich auf jeder Variationsseite einen Error 500, die Seite wird nicht mehr geladen. Ursprünglich stand hinter maxlength "maxlength=255", ich habe Ihren Code mit der richtigen Beschriftung aus der Wawi eingefügt.
Ich habe den meinen obigen Code nicht ausprobiert. Dieser sollte funktionieren:

Code:
{block name='productdetails-variation-info-variation-text'}
    {if $Variation->cName==="Gravour Text 1"}
        {assign var=maxlength value=12}
    {elseif $Variation->cName==="Gravour Text 2"}
        {assign var=maxlength value=14}
    {else}
        {assign var=maxlength value=255}
    {/if}
    <label for="vari-{$Variation->kEigenschaft}" class="sr-only">{$Variation->cName}</label>
    {input id="vari-{$Variation->kEigenschaft}" name='eigenschaftwert['|cat:$Variation->kEigenschaft|cat:']'
       value=$oEigenschaftWertEdit_arr[$Variation->kEigenschaft]->cEigenschaftWertNameLocalized|default:''
       data=['key' => $Variation->kEigenschaft] required=$Variation->cTyp === 'PFLICHT-FREIFELD'
       maxlength=$maxlength}
{/block}
 
  • Gefällt mir
Reaktionen: TobiTrouble

TobiTrouble

Aktives Mitglied
7. April 2018
65
6
Super - Perfekt.
Der Code funktioniert, so habe ich mir das vorgestellt, das kann ich nun so adaptieren auf verschiedene Artikel :) Vielen Dank!
Hättest du noch eine Idee, wie man in den Code Zeichen die nicht zulässig sind integrieren kann?

Freue mich auch über Ideen, wie man die Anzeige am Freifeld (z.B. " Max 12 Zeichen") einblenden könnte und ggfls. eine Art Zeichenzähler, wie viele Zeichen noch zum Eintragen verfügbar sind!
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Hättest du noch eine Idee, wie man in den Code Zeichen die nicht zulässig sind integrieren kann?
Die Werte kann man mit pattern-Attribut begrenzen.
Freue mich auch über Ideen, wie man die Anzeige am Freifeld (z.B. " Max 12 Zeichen") einblenden könnte und ggfls. eine Art Zeichenzähler, wie viele Zeichen noch zum Eintragen verfügbar sind!
Zeichenzähler ausgeben kann man nur mit JS.

Wie ich beretis erwähnt habe, für die Validierung, Plugin wäre hier die sicherste Lösung.

Ich habe hier ein neues Beispiel basierend auf dem vorherigen gebastelt, sollte ziemlich einfach und verständlich sein.

Code:
{block name='productdetails-variation-info-variation-text'}
    {if $Variation->cName==="Gravour Text 1"}
        {assign var=maxlength value=12}
        {assign var=variPattern value="[A-Za-z0-9]"}
    {elseif $Variation->cName==="Gravour Text 2"}
        {assign var=maxlength value=14}
        {assign var=variPattern value="[A-Za-z0-9]"}
    {else}
        {assign var=maxlength value=255}
        {assign var=variPattern value=""}
    {/if}
    <label for="vari-{$Variation->kEigenschaft}" class="sr-only">{$Variation->cName}</label>
    {input id="vari-{$Variation->kEigenschaft}" name='eigenschaftwert['|cat:$Variation->kEigenschaft|cat:']'
       value=$oEigenschaftWertEdit_arr[$Variation->kEigenschaft]->cEigenschaftWertNameLocalized|default:''
       data=['key' => $Variation->kEigenschaft] required=$Variation->cTyp === 'PFLICHT-FREIFELD'
       maxlength=$maxlength}
    <script>
        let variInput = "#vari-{$Variation->kEigenschaft}";
        let variInputInfo = "#vari-info-{$Variation->kEigenschaft}";
        $(variInput).attr("pattern", "{$variPattern}" + "{literal}{{/literal}" + {$maxlength} + "{literal}}{/literal}");
        $(variInput).parent().prev("dt").html("{$Variation->cName} (Max {$maxlength} Zeichen)");
        $(variInput).after('<span id="' + variInputInfo + '"></span>');
        $(variInput).keyup(function() {
            let cLeft = {$maxlength} - $(variInput).val().length;
            $(document.getElementById(variInputInfo)).html(cLeft + " Zeichen noch");
        });
    </script>
{/block}
 
  • Gefällt mir
Reaktionen: TobiTrouble

TobiTrouble

Aktives Mitglied
7. April 2018
65
6
Cool, das gefällt mir immer besser :thumbsup:
Funktioniert an sich mit dem Skript, allerdings leider nicht vollständig.

Oberes Eingabefeld ist anders benannt, dann greifen die Standard 255 Zeichen - das ist ok, mit dem Skript zählt er sogar herunter.
Unteres Feld wird durch den Code angesprochen, damit die Zeichenanzahl auf 14 begrenzt ist - auch gut, mit dem Skript allerdings wird hier nicht gezählt, fehlt da etwas im Code?
Du hast als Value Wert im Code für die Zeichen selbst angegeben: {assign var=variPattern value="[A-Za-z0-9]"}, er nimmt allerdings in beiden Fällen auch alle anderen Zeichen, kann ich das im Code anpassen und wenn ja wo?

3.jpg
 
Ähnliche Themen
Titel Forum Antworten Datum
Einzelkarten Verkauf über Plattformen (eBay) JTL-Wawi 1.9 0
Über SQL Abfragen, Preise eines SCX Angebotes ändern kaufland.de - Anbindung (SCX) 6
Neu Dynamische Höhe von Textelementen beim Erstellen eines Produktdatenblatts über Artikeletiketten Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Amazon Versand Priorität / Prime-Standardversand - Labels nicht über JTL möglich Amazon-Anbindung - Fehler und Bugs 1
Neu FBA Lagerbestand in Wawi ansehen und Aufträge über FBA versenden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Retourenübersicht mit Seriennummern über Ameise "Eigene Exporte" erstellen JTL Ameise - Eigene Exporte 3
Neu B2B Bestellung über Liste? Plugins für JTL-Shop 11
Neu Wie kann man Produkte im Woocommerce über JTL auf "Entwurf" setzen? User helfen Usern - Fragen zu JTL-Wawi 1
Gewichtsabfrage bei Nachdruck über EazyShipping JTL-Wawi 1.9 2
Neu Merkmale aus Globalen Angebotsvorlagen werden bei erstellen über Ameise nicht übernommen Wawi 1.10 eBay-Anbindung - Fehler und Bugs 0
In Diskussion Grundsätzlich mehrfach Versandlabel für Pakete über 30kg JTL-Workflows - Ideen, Lob und Kritik 10
Neu Truncate über mehere if Abfragen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Mindestabnahme bei Bestellungen über Einkaufsliste JTL-Wawi - Fehler und Bugs 5
Neu Über die Set Komponente den Produktionsplan finden JTL-Plan&Produce - Ideen, Lob und Kritik 1
Neu SQL Abfrage für offene Aufträge über Ameise User helfen Usern - Fragen zu JTL-Wawi 5
Neu Tabs in der Artikelbeschreibung > Mediendateien über Ameise Importieren/Exportieren JTL-Ameise - Ideen, Lob und Kritik 0
Verwiesen an Servicepartner Worfkflow, um die UK Bestellungen über amazon auf "Rechnungserstellung extern" setzen. JTL-Workflows - Fehler und Bugs 1
dbo.tRestApiRequestLog löschen nicht möglich über die JTL Admin Oberfläche JTL-Wawi 1.9 0
Neu Erstabgleich dauert bereits über 24 Stunden Shopware-Connector 0
Neu Warenkorb im Merkliste umbenennen, kein Verkauf über Shop , nur Angebote anfragen Allgemeine Fragen zu JTL-Shop 0
Neu Downloads über die standardmäßig angelegte Download Seite bereitstellen Betrieb / Pflege von JTL-Shop 3
Neu Aufträge über LS-POS erstellen und digitale Unterschrift anknüpfen Arbeitsabläufe in JTL-Wawi 0
Neu Preise der Variationen über Ameise anpassen, aber wie ? JTL-Ameise - Ideen, Lob und Kritik 3
Neu Verantwortliche Person über Ameise exportieren`? Schnittstellen Import / Export 2
In Bearbeitung Shared Key / Shared Secret bei EPSON-TSE über Bondrucker Allgemeine Fragen zu JTL-POS 1
In Diskussion Aufträge über WaWi App als bezahlt markieren JTL-Workflows - Ideen, Lob und Kritik 7
Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API JTL-Wawi 1.9 1
Neu Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lieferantenbestellung über Wawi via XML importieren Arbeitsabläufe in JTL-Wawi 1
Neu Leere Hersteller Felder über die Suche finden (GPSR) User helfen Usern - Fragen zu JTL-Wawi 2
Neu Sicherheitshinweise über Mediendateien hinzufügen JTL-Ameise - Fehler und Bugs 3
Neu ++ Variationen & Kinderartikel Bestandsführung auf einer Variation Arbeitsabläufe in JTL-Wawi 3
Neu Artikelseite mit Variation, direktes zurück nicht möglich? Allgemeine Fragen zu JTL-Shop 0
Neu 1.2.3.8. Gewicht bei Variation wird nicht dazugerechnet User helfen Usern - Fragen zu JTL-Wawi 2
Die Variation kann nicht angelegt werden! JTL-Wawi 1.9 3

Ähnliche Themen