Liquid, JavaScript, Themes
Hallo,
ist es beim Abrufen der Produktinfos via GraphQL möglich die im Admin-Bereich hinterlegten "Varianten" zu unterscheiden?
Z.B. wenn ich Größen (M,L), Farben (Black, White) und Materialien (Cotton, Polyester) für ein Produkt hinterlegt habe, dann liefert die Abfrage 8 Varianten. Ich kann aber im Frontend dann nicht erkennen wieviele Farben oder Größen es insgesamt gibt. Müsste man hierfür das Attribute displayName (Sweatshirt - M / Black / Cotton) nehmen und im Frontend alles selber ableiten oder gibt es eine elegantere Lösung?
Schönen Gruß
Carlo
Gelöst! Zur Lösung
Erfolg.
Hey @carlorodriguez
Es könnte in der tat möglich sein, auf die Produktvarianten in Shopify über die GraphQL API zuzugreifen. Jede Variante könnte über verschiedene Eigenschaften unterschieden werden, einschließlich ihrer einzigartigen ID, des Titels, des Preises und der spezifischen Eigenschaften, die sie von anderen Varianten desselben Produkts unterscheiden, wie Größe, Farbe und Material.
Die Informationen über die verfügbaren Optionen eines Produkts (z. B. Größe, Farbe, Material) sind auf der Produktebene und nicht auf der Variantenebene verfügbar. Shopify speichert diese als Optionen 1, 2 und 3. Jede Variante hat dann einen Wert für jede dieser Optionen. Man kann die Werte abrufen, indem man den options
Knoten in der GraphQL-Abfrage einschließt.
Hier ist ein Beispiel für eine GraphQL-Abfrage, die Produktinformationen und Varianteninformationen für ein Produkt mit ID Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=
abruft:
{
product(id: "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=") {
id
title
descriptionHtml
options {
id
name
values
}
variants(first: 10) {
edges {
node {
id
title
selectedOptions {
name
value
}
}
}
}
}
}
In dieser Abfrage würde options { id name values }
die verfügbaren Optionen für das Produkt (z. B. Größe, Farbe, Material) und ihre möglichen Werte zurückgeben. variants { edges { node { id title selectedOptions { name value } } } }
würde die einzelnen Varianten des Produkts und die spezifischen Werte, die sie für jede Option ausgewählt haben, zurückgeben.
Beachte, im Frontend die zugehörigen Optionenwerte für jede Variante durchzulaufen und sie in einer Weise organisieren, die für deine App sinnvoll ist. Dies könnte beinhalten, separate Listen von verfügbaren Größen, Farben und Materialien zu erstellen, oder andere Anpassungen je nach den Anforderungen vorzunehmen.
Bei weiteren Fragen kann ich gerne einen Experten empfehlen! 😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Erfolg.
Hey @carlorodriguez
Es könnte in der tat möglich sein, auf die Produktvarianten in Shopify über die GraphQL API zuzugreifen. Jede Variante könnte über verschiedene Eigenschaften unterschieden werden, einschließlich ihrer einzigartigen ID, des Titels, des Preises und der spezifischen Eigenschaften, die sie von anderen Varianten desselben Produkts unterscheiden, wie Größe, Farbe und Material.
Die Informationen über die verfügbaren Optionen eines Produkts (z. B. Größe, Farbe, Material) sind auf der Produktebene und nicht auf der Variantenebene verfügbar. Shopify speichert diese als Optionen 1, 2 und 3. Jede Variante hat dann einen Wert für jede dieser Optionen. Man kann die Werte abrufen, indem man den options
Knoten in der GraphQL-Abfrage einschließt.
Hier ist ein Beispiel für eine GraphQL-Abfrage, die Produktinformationen und Varianteninformationen für ein Produkt mit ID Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=
abruft:
{
product(id: "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=") {
id
title
descriptionHtml
options {
id
name
values
}
variants(first: 10) {
edges {
node {
id
title
selectedOptions {
name
value
}
}
}
}
}
}
In dieser Abfrage würde options { id name values }
die verfügbaren Optionen für das Produkt (z. B. Größe, Farbe, Material) und ihre möglichen Werte zurückgeben. variants { edges { node { id title selectedOptions { name value } } } }
würde die einzelnen Varianten des Produkts und die spezifischen Werte, die sie für jede Option ausgewählt haben, zurückgeben.
Beachte, im Frontend die zugehörigen Optionenwerte für jede Variante durchzulaufen und sie in einer Weise organisieren, die für deine App sinnvoll ist. Dies könnte beinhalten, separate Listen von verfügbaren Größen, Farben und Materialien zu erstellen, oder andere Anpassungen je nach den Anforderungen vorzunehmen.
Bei weiteren Fragen kann ich gerne einen Experten empfehlen! 😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo Gabe,
vielen vielen Dank für deine ausführliche Antwort. Das hat mir wirklich weitergeholfen.
Die Informationen über die verfügbaren Optionen eines Produkts (z. B. Größe, Farbe, Material) sind auf der Produktebene und nicht auf der Variantenebene verfügbar. Shopify speichert diese als Optionen 1, 2 und 3. Jede Variante hat dann einen Wert für jede dieser Optionen. Man kann die Werte abrufen, indem man den options Knoten in der GraphQL-Abfrage einschließt.😉
Das war die entscheidene Information nach der ich gesucht habe.
Falls ich nochmal eine Frage haben sollte, kannst du mir gerne den Kontakt zu deinem Experten geben 🙂
Viele Grüße
Carlo
Das freut mich sehr! Und viel Glück mit dem Projekt! 😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024Teil 1 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 9, 2024Anpassungen des benutzerdefinierten Codes an Shopify-Themes (CSS) leicht gemachtIn diesem...
By Gabe Aug 28, 2024