根据尺寸将产品分配给收藏

时间:2019-08-27 07:50:46

标签: html shopify liquid

我创建了一个新的收藏模板,我想为其分配所有尺寸为'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”的产品?

1 个答案:

答案 0 :(得分:0)

这取决于您对所有产品的含义。

默认情况下,集合最多可以显示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 %}

但是此请求将对服务器造成破坏,并降低您的网站速度。所以也请考虑这个问题。

相关问题