根据尺寸将产品分配给集合
Assign products to collection based on size
我创建了一个新的产品系列模板,我想将尺寸变体中尺寸为 'XL' 的所有产品分配给它。
我从为每个产品创建尺寸数组开始,但现在我被卡住了。
{% assign sizes = '' %}
{% for variant in product.variants %}
{% if variant.available %}
{% assign sizes = sizes | append: variant.options[0] | append: '_' %}
{% endif %}
{% endfor %}
{% assign sizesArr = sizes | split: '_' | uniq %}
接下来我应该怎么做才能只显示包含 'XL' 的产品?
这取决于你所说的所有产品是什么意思。
默认情况下,集合最多可以显示 50 个产品,但您可以用分页对象覆盖它。
因此,如果您的产品少于 50 个,您可以这样做。
{%- for product in collection.products -%}
{%- assign show_product = false -%}
{%- for option in product.options_with_values -%}
{%- for value in option.values -%}
{%- assign value_handle = value | handle -%}
{%- if value_handle == 'xl' -%}
{%- assign show_product = true -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{%- if show_product -%}
Add your product here
{%- endif -%}
{%- endfor -%}
如果您有超过 50 种产品,则需要将上述代码包装在分页对象中:
{% paginate collection.products by 9999 %}
{%- for product in collection.products -%}
{%- assign show_product = false -%}
{%- for option in product.options_with_values -%}
{%- for value in option.values -%}
{%- assign value_handle = value | handle -%}
{%- if value_handle == 'xl' -%}
{%- assign show_product = true -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{%- if show_product -%}
Add your product here
{%- endif -%}
{%- endfor -%}
{% endpaginate %}
但是此请求会对服务器造成影响并降低您的网站速度。所以请也考虑这个问题。
我创建了一个新的产品系列模板,我想将尺寸变体中尺寸为 'XL' 的所有产品分配给它。
我从为每个产品创建尺寸数组开始,但现在我被卡住了。
{% assign sizes = '' %}
{% for variant in product.variants %}
{% if variant.available %}
{% assign sizes = sizes | append: variant.options[0] | append: '_' %}
{% endif %}
{% endfor %}
{% assign sizesArr = sizes | split: '_' | uniq %}
接下来我应该怎么做才能只显示包含 'XL' 的产品?
这取决于你所说的所有产品是什么意思。
默认情况下,集合最多可以显示 50 个产品,但您可以用分页对象覆盖它。
因此,如果您的产品少于 50 个,您可以这样做。
{%- for product in collection.products -%}
{%- assign show_product = false -%}
{%- for option in product.options_with_values -%}
{%- for value in option.values -%}
{%- assign value_handle = value | handle -%}
{%- if value_handle == 'xl' -%}
{%- assign show_product = true -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{%- if show_product -%}
Add your product here
{%- endif -%}
{%- endfor -%}
如果您有超过 50 种产品,则需要将上述代码包装在分页对象中:
{% paginate collection.products by 9999 %}
{%- for product in collection.products -%}
{%- assign show_product = false -%}
{%- for option in product.options_with_values -%}
{%- for value in option.values -%}
{%- assign value_handle = value | handle -%}
{%- if value_handle == 'xl' -%}
{%- assign show_product = true -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{%- if show_product -%}
Add your product here
{%- endif -%}
{%- endfor -%}
{% endpaginate %}
但是此请求会对服务器造成影响并降低您的网站速度。所以请也考虑这个问题。