Wie kann ich ein bestimmtes Produkt in Shopify Liquid abrufen?

8

Ich habe eine Liste von Produkthandles, und ich möchte das Produkt basierend auf diesem Handle abrufen. Es scheint, dass es keine Möglichkeit gibt, Liquid zu sagen, dass er ein einzelnes Produkt kaufen soll. Ich könnte dies mit der API tun, aber wenn ich die API verwende, dann muss ich JavaScript verwenden, und ich müsste den HTML-Code, den ich bereits in einem Snippet habe, kopieren und die Logik ebenfalls kopieren.

Eine verkürzte Version von dem, was ich versuche:

%Vor%     
jayshields 07.11.2012, 11:47
quelle

6 Antworten

19

Sie können ein Produkt jetzt über ein Handle abrufen, indem Sie Folgendes verwenden:

%Vor%

Zur Zeit gibt es keine Dokumentation, die dies bestätigen könnte, aber hoffentlich wird es auf der Shopify-Seite bald etwas Greifbares geben.

    
Jason 15.06.2015 18:17
quelle
6

Nur um für jeden, der dies gerade findet, zu aktualisieren, können Sie nun Produkte direkt über handle by all_products['handle'] gemäß diese Antwort auf ihre Shopify / liquid Repo.

    
Bryan Corey 16.07.2015 17:30
quelle
4

Nicht nur Sie können jetzt auf jedes Produkt mit seinem Handle auf jeder liquiden Seite mit all_products['the-handle-of-the-product'] zugreifen, aber Sie können es wie eine Produktvariable wie folgt bedrohen:

{{ all_products['the-handle-of-the-product'].title }} ist identisch mit {{ product.title }} auf der product.liquid Seite.

    
user3577416 09.09.2015 22:38
quelle
3

Du könntest so etwas ausprobieren:

%Vor%

Wenn Sie alle Produkte durchlaufen (können Sie auch eine bestimmte Sammlung durchlaufen), können Sie das gewünschte Produkt mit einer if-Anweisung finden.

Prost.

    
JCharette 01.06.2014 19:51
quelle
1

Soweit ich weiß, können Sie ein Produkt nicht an seinem Griff in Flüssigkeit holen.

Das bringt mich dazu, ein paar Fragen zu stellen: Warum haben Sie überhaupt eine Liste von Produktgriffen? Wo ist es hergekommen? Ich würde empfehlen, diese Produkte in eine benutzerdefinierte Sammlung zu stellen, dann können Sie sie wie folgt referenzieren: {% collections['my-collections'] %}

    
David Underwood 07.11.2012 19:20
quelle
1

Ich habe auch nach diesem gesucht, und ich habe keine Möglichkeit gefunden, Produkt per ID in flüssige Dateien zu bekommen.

Wie oben erwähnt, können Sie jedoch über ein Handle auf jedes Produkt zugreifen

{{ all_products['product-handle'] }}

Worüber ich mir Sorgen gemacht habe ist, dass ich dachte, wenn man den Namen des Produkts ändert, wird das Handle automatisch geändert, aber das passiert eigentlich nicht, es wird immer noch das alte Handle sein.

Sie müssten ein anderes Produkt erstellen, um das Handle zu ändern, also denke ich, {{ all_products['product-handle'] }} ist eine ziemlich gute Möglichkeit, auf Ihr Produkt zuzugreifen.

Ich mache so etwas:

%Vor%     
rogyvoje 27.02.2017 12:57
quelle

Tags und Links