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% 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.
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.
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'] %}
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%