Shopify 如何使用三元或除非排除供应商类型?

Shopify 如何使用三元或除非排除供应商类型?,shopify,liquid,Shopify,Liquid,在一个页面。[].liquid模板中,有许多“供应商”产品要列出。有些有集合关联,有些没有集合关联 如何使用“除非”或“三元”排除for循环中的特定供应商 以下两项都不会在父容器中生成任何输出 <div style="height: 50px;" class="ptest"> {% assign collection = product.available %} {% for product in collection.all_vendors %} {% if pr

在一个
页面。[].liquid
模板中,有许多“供应商”产品要列出。有些有集合关联,有些没有集合关联

如何使用“除非”或“三元”排除for循环中的特定供应商

以下两项都不会在父容器中生成任何输出

<div style="height: 50px;" class="ptest">

  {% assign collection = product.available %}
  {% for product in collection.all_vendors %}
    {% if product.collection != "acme" %}
     <div>yes</div>
     {{ product.name }}
    {% else %}
      <div>no</div>
      {{ product.name }}
    {% endif %}
  {% endfor %}

  {% for product in collection.all_vendors  %}
    {% unless product.vendor contains "acme" %}
     <div>yes</div>
     {{ product.name }}
    {% else %}
      <div>no</div>
      {{ product.name }}
    {% endunless %}
  {% endfor %}

</div>

{%assign collection=product.available%}
{%用于集合中的产品。所有供应商%}
{%if product.collection!=“acme”%}
对
{{product.name}
{%else%}
不
{{product.name}
{%endif%}
{%endfor%}
{%用于集合中的产品。所有供应商%}
{%除非product.vendor包含“acme”%}
对
{{product.name}
{%else%}
不
{{product.name}
{%end除非%}
{%endfor%}
列出除“acme”之外的所有供应商:

{%-用于集合中的供应商。所有供应商-%}
{%-if vendor==“acme”-%}
{%-continue-%}
{%-endif-%}
{{vendor}}绝对不是“acme”
{%-endfor%}
列出除供应商“acme”之外的收集产品:

{%-用于集合中的产品。产品-%}
{%-如果product.vendor==“acme”-%}
{%-continue-%}
{%-endif-%}
{{product.name}供应商是{{product.vendor}。
{%-endfor-%}

抱歉,您的代码乱七八糟:

  • {%assign collection=product.available%}
    -集合现在是布尔值,可以是
    true
    false
  • {%for product in collection.all_vendors%}
    -截至上述
    集合
    没有
    all_vendors
    属性
  • {%if product.collection!=“acme”%}
    -如上所述,将永远无法访问此代码,但即使会访问此代码,
    product
    对象没有
    collection
    属性
  • {{product.name}
    -您从哪里获得此代码的<代码>产品没有
    名称
    属性,您必须使用
    标题
  • {%for product in collection.all_vendors%}
    -你通过供应商,为什么称他们为产品
  • {%product.vendor包含“acme”%}
    -由于这是上面一行之后的下一行,
    产品
    将是一个供应商,而不是一个产品对象,因此您应该将其用作字符串,即
    {%product包含“acme”%}
列出除“acme”之外的所有供应商:

{%-用于集合中的供应商。所有供应商-%}
{%-if vendor==“acme”-%}
{%-continue-%}
{%-endif-%}
{{vendor}}绝对不是“acme”
{%-endfor%}
列出除供应商“acme”之外的收集产品:

{%-用于集合中的产品。产品-%}
{%-如果product.vendor==“acme”-%}
{%-continue-%}
{%-endif-%}
{{product.name}供应商是{{product.vendor}。
{%-endfor-%}

抱歉,您的代码乱七八糟:

  • {%assign collection=product.available%}
    -集合现在是布尔值,可以是
    true
    false
  • {%for product in collection.all_vendors%}
    -截至上述
    集合
    没有
    all_vendors
    属性
  • {%if product.collection!=“acme”%}
    -如上所述,将永远无法访问此代码,但即使会访问此代码,
    product
    对象没有
    collection
    属性
  • {{product.name}
    -您从哪里获得此代码的<代码>产品没有
    名称
    属性,您必须使用
    标题
  • {%for product in collection.all_vendors%}
    -你通过供应商,为什么称他们为产品
  • {%product.vendor包含“acme”%}
    -由于这是上面一行之后的下一行,
    产品
    将是一个供应商,而不是一个产品对象,因此您应该将其用作字符串,即
    {%product包含“acme”%}

经过大量搜索后,对于显示a.除单个供应商外的所有产品和B.不属于任何集合的产品,似乎唯一的解决方案是使用更简单的if数学

    {% for product in collections.all.products %}
      {% if product.collections.size < 1 && product.vendor != "acme" %}
            <h3>
              <a href="{{ product.url }}">
                {{ product.title }}
              </a>
            </h3>
      {% endif %}
    {% endfor %}
{%用于collections.all.products%}
{%if product.collections.size<1&&product.vendor!=“acme”%}
{%endif%}
{%endfor%}

运行所有产品以循环那些不属于某个集合的产品,生成正确的结果。

经过大量搜索后,显示a.除某个供应商之外的所有产品和B.不属于任何集合的产品的唯一解决方案似乎是使用更简单的if数学

    {% for product in collections.all.products %}
      {% if product.collections.size < 1 && product.vendor != "acme" %}
            <h3>
              <a href="{{ product.url }}">
                {{ product.title }}
              </a>
            </h3>
      {% endif %}
    {% endfor %}
{%用于collections.all.products%}
{%if product.collections.size<1&&product.vendor!=“acme”%}
{%endif%}
{%endfor%}

运行所有产品以循环那些不属于某个集合的产品,会产生正确的结果。

您肯定让我看到了我的其他语言让我感到困惑的地方。我的印象是很多事情听起来都不是真的。然而,不幸的是,你的解决方案对我不起作用。你肯定让我意识到我的其他语言把我和液体混淆了。我的印象是很多事情听起来都不是真的。然而,不幸的是,您的解决方案不适用于我。请注意,这可能不适用于具有大量产品的集合。我相信collections.products的默认分页是50项,因此此循环将只列出出现在前50个产品中的供应商(除非这被包装在
paginate
标记中,在这种情况下,它将被限制在分页
limit
设置为的任何位置)很棒的脚注。我去过
    {% for product in collections.all.products %}
      {% if product.collections.size < 1 && product.vendor != "acme" %}
            <h3>
              <a href="{{ product.url }}">
                {{ product.title }}
              </a>
            </h3>
      {% endif %}
    {% endfor %}