Artikeleigenschaften im Kategorielisting anzeigen via *.twig? ITler vs. Laie

Hallo Community,

ich würde gerne einige ausgewählte Produkteigenschaften übersichtlich unter jeden Produkt im Listing anzeigen lassen. Wenn man beispielsweise auf die Kategorie Teller mit Hilfsfunktion klickt, sieht man viele Teller. Allerdings haben nur einige den Durchmesser im Titel stehen. In den Eigenschaften haben wir alle Durchmesser zugeordnet und über den Filter kann man auch sortieren. Allerdings wäre zusätzlich gewünscht, dass der Durchmesser und andere Eigenschaften direkt übersichtlich angezeigt werden.

Dazu habe ich ein Plugin installiert und es hängt an meinen nicht vorhandenen dev-skills. Denn selbst die wenigen Sätze der Konfigurationsanleitung führen mich in eine Sackgasse.

Hier geht’s zur sehr übersichtlichen Anleitung.

Meine Frage: Ich habe via Filezilla die box-standard.html.twig Datei ausfindig gemacht aber verstehe nicht, was als nächstes passieren muss. Laut Anleitung muss man zunächst einen " Dump auf " product.properties.elements " ausgeben. Was bedeutet das? Wenn ich die .twig Datei durchsuche finde ich weder Inhalte mit "elements"noch „array:3“.
Muss ich die Zeile {{ dump(product.properties.elements) }} in die twig Datei einfügen? Falls ja, wo genau? Und was hat das darunterliegende Bild zu sagen bzw. wie wird „nur noch“ die gewünschte Struktur aufgebaut?

Ist das Vorhaben relativ einfach umzusetzen oder sollte ich als nicht-ITler besser die Finger davon lassen?

Ich bin für jeden Tipp dankbar und wünsche euch einen schönen Wochenstart.
Grüße aus Freiburg,

Eike

product.properties.elements ist ein Array, es enthält alle Properties (Options). Du musst es per Schleife durchlaufen

{% for option in product.properties.elements %}
    {{ option.group.translated.name }} : {{ option.translated.name }} <br>
{% endfor %}

Hallo,

{% for option in product.properties.elements %}
    {{ option.group.translated.name }} : {{ option.translated.name }} <br>
{% endfor %}

der o.g. Twig-Code listet alle Eigenschaften:Ausprägungen für das Produkt auf.

Ich möchte bei meinen Produkten, im Listing, ein eigenes Ribbon einblenden, wenn dem Produkt eine bestimmte Eigenschaft zugeordnet ist. Die Frage ist nun, wie ich das am besten abfragen kann, auch wenn mehrere Sprachen konfiguriert sind. Aktuell habe ich mir die UUID aus der Datenbank geholt und vergleiche dann etwa so:

{% if option.group.id == "018d82e09f8f7cc1a6a6ebba1041fa55" %}
      <div class="ribbon">
           <span>...</span>
      </div>
{% endif %}

Das funktioniert zwar „Sprachen-übergreifend“ ist aber ungünstig, weil sich die UUID beispielsweise bei einer Neuanlage der Eigenschaft ändern könnte. Insofern wäre die Abfrage nach dem Namen wieder besser, was aber wieder Probleme verursacht, wenn sich bzgl. der Sprachen-Konfiguration etwas ändert.

Gibt es dafür eine elegante Lösung, bzw. wie macht Ihr dass?

Viele Grüße, Frank

Du könntest im Produkt oder Theme eine customField bzw. Variable hinzufügen, bei der du die Auswahl hinterlegst. Die könntest du dann im Theme über theme_config(‚variable‘) oder customFields.variable abfragen.

Wer Eigenschaften neu anlegen kann, der sollte auch fähig sein im Theme etwas zu ändern :smile: Da auch die Variable ändert sich nicht von alleine. Und je mehr Variablen im Theme, desto mehr Cache.