如何在Shopify Liquid中检索特定产品?

jay*_*lds 19 product handle liquid shopify

我有一个产品句柄列表,我想根据这个句柄获取产品.似乎没有办法告诉Liquid去购买单一产品.我可以使用API​​执行此操作,但如果我使用API​​,那么我必须使用JavaScript,并且我必须复制已经在代码段中的HTML,并复制逻辑.

我正在尝试的减少版本:

{% assign handle = 'my-product-handle' %}
{% assign product = products.handle %}
{% include 'snippet-product-item' %}
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 27

您现在可以使用以下方法通过句柄检索产品:

{% assign someProduct = all_products.some-handle %}
Run Code Online (Sandbox Code Playgroud)

目前还没有文件支持这一点,但希望Shopify方面很快就会有一些有形的东西.

  • 以下两个在Shopify中都有效:`{{all_products ['some-handle'].title}}`和`{{all_products.some-handle.title}}` (2认同)

Bry*_*rey 9

刚更新的人只是找到这个,你现在可以直接引用的产品通过手柄通过all_products['handle']这种反应在他们的Shopify /液体回购.


小智 6

您现在不仅可以通过任何液体页面上的句柄访问任何产品,all_products['the-handle-of-the-product']但您可以像产品变量那样威胁它:

{{ all_products['the-handle-of-the-product'].title }}{{ product.title }}与product.liquid页面上的相同.


小智 6

我也在寻找这个,但我还没有找到通过液体文件中的 id 获取产品的方法。

但正如上面的答案告诉您可以通过句柄访问任何产品

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

我担心的是,我以为如果您更改产品句柄的名称会自动更改,但实际上并没有发生,它仍然是旧句柄。

您需要创建不同的产品才能更改句柄,所以我想这{{ all_products['product-handle'] }}是访问您的产品的好方法。

我做这样的事情:

{% assign product = all_products['test-product-1'] %}
{% if product == blank %}
    <h1>No product found</h1>
{% else %}
    <h1>{{ product.title }}</h1>
{% endif %}
Run Code Online (Sandbox Code Playgroud)