在 shopify 中如何将产品对象推送到空白数组
In shopify How to push product Object to blank Array
在 Shopify 中,我的代码结构遵循产品循环。
{% assign products = all_products[block.settings.product_to_show] %}
在产品变量中,我得到了一个产品的对象。
但是我的for循环代码结构只接受产品作为数组。
{% for product in products %}
{% include 'product-card', product: product %}
{% endfor %}
那么如何在 shopify 中将“产品”(对象)推送到空白数组中?
对于 Liquid,我们通常只能创建一个字符串数组(而非对象)。鉴于您似乎拥有来自部分块设置的产品句柄,以下是一些可能对您有用的方法:
- 在
section.blocks
上使用 forloop,创建产品对象并将其传递给输出片段(示例代码假定每个块只有 1 个产品)。
{% for block in section.blocks %}
{% assign _product = all_products[block.settings.product_to_show] %}
{% include 'product-card', product: _product %}
{% endfor %}
- 遍历部分块并创建一个逗号分隔的产品句柄(字符串)字符串。使用
split
过滤器将字符串转换为字符串数组。遍历数组,创建产品对象并将其传递给输出片段。
{% assign products = '' %}
{% for block in section.blocks %}
{% comment %}
You can place additional logic/conditions within this loop to customize how your "products" array is built
{% endcomment %}
{% assign products = products | append: block.settings.product_to_show | append: ',' %}
{% endfor %}
{% assign products = products | split: ',' %}
{% for product_handle in products %}
{% assign _product = all_products[product_handle] %}
{% include 'product-card', product: _product %}
{% endfor %}
在 Shopify 中,我的代码结构遵循产品循环。
{% assign products = all_products[block.settings.product_to_show] %}
在产品变量中,我得到了一个产品的对象。 但是我的for循环代码结构只接受产品作为数组。
{% for product in products %}
{% include 'product-card', product: product %}
{% endfor %}
那么如何在 shopify 中将“产品”(对象)推送到空白数组中?
对于 Liquid,我们通常只能创建一个字符串数组(而非对象)。鉴于您似乎拥有来自部分块设置的产品句柄,以下是一些可能对您有用的方法:
- 在
section.blocks
上使用 forloop,创建产品对象并将其传递给输出片段(示例代码假定每个块只有 1 个产品)。
{% for block in section.blocks %}
{% assign _product = all_products[block.settings.product_to_show] %}
{% include 'product-card', product: _product %}
{% endfor %}
- 遍历部分块并创建一个逗号分隔的产品句柄(字符串)字符串。使用
split
过滤器将字符串转换为字符串数组。遍历数组,创建产品对象并将其传递给输出片段。
{% assign products = '' %}
{% for block in section.blocks %}
{% comment %}
You can place additional logic/conditions within this loop to customize how your "products" array is built
{% endcomment %}
{% assign products = products | append: block.settings.product_to_show | append: ',' %}
{% endfor %}
{% assign products = products | split: ',' %}
{% for product_handle in products %}
{% assign _product = all_products[product_handle] %}
{% include 'product-card', product: _product %}
{% endfor %}