Metafield
Metafelder ermöglichen es, zusätzliche Informationen zu Artikeln, Blogs, Kollektionen, Kunden, Bestellungen, Seiten, Produkten, dem Shop und Varianten zu speichern. Sie können auf das Objekt metafield
über das Attribut metafields
dieser Ressourcen zugreifen.
Metafelder unterstützen mehrere Datentypen, die die Art der Informationen bestimmen, die im Objekt metafield
gespeichert werden. Sie können auch Liquid-Metafield-Filter auf dieses Objekt anwenden, um die Metafield-Informationen in einem Standardformat auszugeben.
Das Objekt metafield
hat die folgenden Attribute:
Inhalt
metafield.type
Gibt den Metafeldtyp zurück.
metafield.value
Gibt den Wert des Metafeldes zurück.
Im Folgenden wird das Werteformat für jeden Metafeldtyp beschrieben:
Type | Returned format |
---|---|
|
A string |
product_reference |
A product object |
variant_reference |
A variant object |
page_reference |
A page object |
file_reference |
|
|
A number |
|
A date object |
url_reference |
A url string |
json |
A JSON string |
boolean |
A boolean |
color |
A color object |
|
A measurement object |
rating |
A rating object |
Access metafields
Der Zugriffspfad für Metafelder besteht aus zwei Ebenen:
namespace
- Eine Gruppierung von Meta-Feldern, um Konflikte zu vermeiden.key
- Der Name des Metafeldes.
In diesem Fall können Sie auf das Objekt metafield
mit der folgenden Syntax zugreifen:
{{ resource.metafields.namespace.key }}
Sie könnten zum Beispiel das folgende Metafeld zu einem Produkt hinzufügen:
Type | Namespace | Key | Data |
---|---|---|---|
single_line_text_field |
instructions |
wash |
"Cold" |
Unter Verwendung dieser Metafelder-Informationen erzeugt die folgende Eingabe die folgende Ausgabe:
Type: {{ product.metafields.instructions.wash.type }} Waschen: {{ product.metafields.instructions.wash.value }}
Type: single_line_text_field Waschen: Kalt
Direct access
Auf Metafelder muss direkt über den zugehörigen Schlüssel zugegriffen werden. Sie können zum Beispiel keine Schleife über einen Namensraum ziehen, um jedes einzelne Metafeld zu erhalten:
{% for field in resource.metafields.namespace %} {{ field | metafield_tag }} {% endfor %}
Deprecated metafields
Veraltete Metafelder sind ältere Metafeldertypen mit eingeschränkter Funktionalität. Die folgenden Metafeldtypen sind veraltet:
json_string
number
string
Diese Metafeldtypen geben nicht dieselben Attribute des Metafeldobjekts zurück, die im vorherigen Abschnitt erwähnt wurden. Stattdessen geben sie den Wert des Metafeldes direkt zurück.
Im Folgenden wird der Typ des zurückgegebenen Werts für jeden veralteten Metafeldtyp beschrieben:
Metafield type | Returned value type |
---|---|
integer |
An integer |
json_string |
A JSON object |
string |
A string |
Sie könnten zum Beispiel das folgende Metafeld zu einem Produkt hinzufügen:
Type | Namespace | Key | Data |
---|---|---|---|
string |
instructions |
wash |
"Cold" |
Unter Verwendung dieser Metafelder-Informationen erzeugt die folgende Eingabe die folgende Ausgabe:
Waschen: {{ product.metafields.instructions.wash }}
Waschen: Kalt