[Gelöst] customFields eines Products ausgeben

Moin moin,

ich würde gerne auf der Produkt-Detailseite und im Listing ein Custom Field eines Produktes in der Storefront ausgeben.
Die Variable “customFields” des Produktes ist jedoch immer “null”. In den Demodaten der Entwickler-Version aus dem Git sind Custom Fields in Produkten angelegt. Aber auch diese, gefüllt mit einem Wert, kann ich nicht ausgeben…

Wie kann ich diese in der Storefront in Twig ausgeben?

Habe ich etwas übersehen? Muss man sich selbst um die Ausgabe im Frontend über einen Subscriber kümmern? Ist es nur in der EA2 nicht vorhanden?

Kann mir jemand helfen? Halo

in der derzeitigen entwicklerversion stecken die custom fields in “product.translated.customFields.dein_custom_field”, die ausgabe im template funktioniert ganz gut mit {{ attribute(product.translated.customFields, ‘dein_custom_field’)|sw_sanitize }}

3 Likes

perfekt Wink

Hallo Forum,

Ich hab deinen Vorschlag umgesetzt. Bei mir hat es jedoch damit geklappt: 

 {{ page.product.translated.customFields.hier\_shop\_custom\_field\_eintragen|sw\_sanitize }}

Meine Frage ist jetzt kann man auch alle Custom Fields in einer Schleife ausgeben. Bei mir hat es bis jetzt nur geklappt das ich diese einzeln ansprechen muss. Wird bei einer größeren Menge aber nicht mehr praktikabel :smiley:

Danke im Vorraus und Grüße.

 

 

1 Like

Moin,

hast du mal etwas wie:
 

{for key,value in deinArray}
   {{ deinArray[key] }}
{endfor}

versucht?

Hallo,

Wie kann man die Lables bei Select Felder ausgeben statt die Option Values? 

Mein Zusatzfeld ist ein Select Feld und wenn ich {{ (product.translated.customFields.my_custom_field) }} mache, bekomme ich nur die Option Values! 

Das würde mich auch interessieren… Bzw. wie kommt man an die Labels?

Moin,

gibt es hierfür mittlereweile eine Lösung?

 

Danke

Wieso steht sowas eigentlich nicht in der Doku?
-> {{ page.product.translated.customFields.your_custom_field|sw_sanitize }}

Hab mir eben auch nen Wolf gesucht in der Doku und im dump() bis ich nun hier gelandet bin um es zu finden :frowning:

1 Like

@thom schrieb:

Wieso steht sowas eigentlich nicht in der Doku?
-> {{ page.product.translated.customFields.your_custom_field|sw_sanitize }}

Hab mir eben auch nen Wolf gesucht in der Doku und im dump() bis ich nun hier gelandet bin um es zu finden :(

Hat das bei dir geklappt? Bei mir funktioniert das leider nicht. Habe auch ein Zusatzfeld angelegt und habe dafür ein Set angelegt „Test“ --> custom_test
Daran gibt es ein Textfeld „custom_test_text“.

Habe jetzt diverse Dinge versucht, aber das klappt alles nicht. Was mache ich falsch?

{{ page.product.translated.customFields.custom_test }}
{{ page.product.translated.customFields.custom_test_text }}
{{ page.product.translated.customFields.custom_test_text|raw }}

Versuch mal das „page.“ weg zu lassen. Je nach dem wo du das einsetzt sind die Objeke unterschiedlich zugänglich.

Mit {{ debug() }} kannst Du sehen, was alles verfügbar ist.

In der Listen Ansicht der Produkte nimmst Du {{ product.translated.customFields.custom_test }}. Idealerweise noch mit einem „sw_sanitize“.

@MichaelH74 schrieb:

Versuch mal das “page.” weg zu lassen. Je nach dem wo du das einsetzt sind die Objeke unterschiedlich zugänglich.

Mit {{ debug() }} kannst Du sehen, was alles verfügbar ist.

In der Listen Ansicht der Produkte nimmst Du {{ product.translated.customFields.custom_test }}. Idealerweise noch mit einem “sw_sanitize”.

Leider bin ich nicht eher dazu gekommen mir das anzusehen.

Das klappt aber leider auch nicht ohne “page.”. Das mit dem {{ debug() }} funktiniert auch nicht. Da wird direkt ein Fehler ausgelöst, und die gesamte Detailseite nicht mehr angezeigt. In der rot hinterlegten Fehlermeldung steht “Leider ist etwas schief gelaufen”.

Die gleiche Fehlermeldung erscheint ebenfalls wenn ich folgendes schreibe:

{{ page.product.translated.customFields.custom_test_text|sw_sanitize }}
{{ product.translated.customFields.custom_test_text|sw_sanitize }}

Falls noch andere diese Fehlermeldung haben: Der shop muss im Entwickler-Modus laufen, sonst funktioniert {{ dump()}} z.B. nicht - steht auch ind er Doku :wink:

Die Fehlermeldung bei {{ product.translated.customFields.custom_test_text|sw_sanitize }}  bekommst Du vermutlich, da der Wert aus dem Custom Field in die Funktion “sw_sanitize” weitergegeben wird. Die Funktion wirft einen Fehler, wenn der Wert leer ist. Aber wie gesagt, ich würde im DEV Modus mit dump nach dem Wert suchen. Damit bekommst Du dann auch den Pfad zu Deinem Custom Field raus.