[Shopify / liquid] - Bilder aus MetaObejct in Produktseite auslesen

Xiaolong

Lieutenant
Registriert
Sep. 2008
Beiträge
836
Hallo zusammen,

ich habe Schwierigkeiten mit einem (wahrscheinlich) kleinen Problem, welches ich jedoch nicht gelöst kriege.

Wir haben folgende Situation:
Ich habe eine Metaobject-Definition namens "ProductCare". Diese Definition enthält 2 Felder

1: ProductCareImg (File)
2: ProductCareDescription (Single line text)

Dann habe ich ein Product-Metafield namens "ProductCare", das eine variable Anzahl von Metaobject-Definitions "ProductCare" (List of entries on Metaobject) enthalten kann. Der Namespace + Key lautet: "custom.productcare"

Nun möchte ich auf die Bilder (Feld 1 des MetaObjects) auf meiner Produktseite zugreifen, was mir Schwierigkeiten bereitet. Für die Texte habe ich folgende Liquid-Zeile verwendet: (Funktioniert sauber)
Code:
{{ product.metafields.custom.productcare | metafield_tag: field: 'product_care_description' }}

Für die Bilder konnte ich es jedoch nicht zum Laufen bringen. Analog zur obigen Zeile funktioniert Folgendes nicht:

Code:
{{ product.metafields.custom.productcare | img_tag: 'product_care_img', '', 'thumb' }}
HTML:
<img src="{{product.metafields.custom.productcare.product_care_img}}">

Jegliche anderen Kombinationen mit ".value" etc. gehen auch nicht.
Es zeigt nur ein "No Image" Bild an, als wäre das Object leer. Weiß jemand Rat? Was übersehe ich?

Beste Grüße,
XIao
 
Zuletzt bearbeitet:
Lösung
Wenn es eine Liste muss man anscheinend mit einer FOR Schleife alles einzeln referenzieren und Anzeigen.

Das hier funktioniert dann:

Code:
{%- for productcare in product.metafields.custom.productcare.value  -%}
    {{ productcare.product_care_img.value | image_url: width: 50 | image_tag }}
{% endfor %}
Wenn es eine Liste muss man anscheinend mit einer FOR Schleife alles einzeln referenzieren und Anzeigen.

Das hier funktioniert dann:

Code:
{%- for productcare in product.metafields.custom.productcare.value  -%}
    {{ productcare.product_care_img.value | image_url: width: 50 | image_tag }}
{% endfor %}
 
Zurück
Oben