FROM CACHE - de_header

Abrufen von Produkt-Varianten via GraphQL API

Gelöst

Abrufen von Produkt-Varianten via GraphQL API

carlorodriguez
Besucher
2 0 0

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

1 AKZEPTIERTE LÖSUNG

Gabe
Shopify Staff
19233 3003 4416

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

Lösung in ursprünglichem Beitrag anzeigen

3 ANTWORTEN 3

Gabe
Shopify Staff
19233 3003 4416

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

carlorodriguez
Besucher
2 0 0

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

Gabe
Shopify Staff
19233 3003 4416

@carlorodriguez 

 

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