在Shopify上阻止某些客户标签的购物车图标

时间:2016-05-14 05:08:22

标签: shopify liquid

我试图阻止用"批发"标记的客户从购物车图标,但似乎阻止了每个人。我还尝试添加此标记标记,但不允许我添加{%include%}而不会给我一些错误。

          {% unless customer.tag contains 'Wholesale' %}
            {% include 
            <li class="site-nav__item">
              <a href="/cart" class="site-nav__link site-nav__link--icon cart-link js-drawer-open-right" aria-controls="CartDrawer">
                <span class="icon-fallback-text">
                  <span class="icon icon-cart" aria-hidden="true"></span>
                  <span class="fallback-text">{{ 'layout.cart.title' | t }}</span>
                </span> 
                <span class="cart-link__bubble{% if cart.item_count > 0 %} cart-link__bubble--visible{% endif %}"></span>
              </a>
            </li> %}
           {% endunless %}

2 个答案:

答案 0 :(得分:0)

您的include用法错误。它仅用于加载代码段文件。只需删除{% include,即相应的%},就可以了。

也是customer.tags

 {% unless customer.tags contains 'Wholesale' %}
  <li class="site-nav__item">
    <a href="/cart" class="site-nav__link site-nav__link--icon cart-link js-drawer-open-right" aria-controls="CartDrawer">
      <span class="icon-fallback-text">
        <span class="icon icon-cart" aria-hidden="true"></span>
        <span class="fallback-text">{{ 'layout.cart.title' | t }}</span>
      </span> 
      <span class="cart-link__bubble {% if cart.item_count > 0 %} cart-link__bubble--visible{% endif %}"></span>
    </a>
  </li> 
 {% endunless %}

答案 1 :(得分:0)

这应该是一个评论 - 但我需要包含一个代码示例......

正如HymnZ所提到的 - customer.tags仅在客户登录时才有效。

如果客户未登录,他们将被视为“常规”客户。

如果要在任何类型的客户登录之前隐藏购物车按钮,则需要将所有内容包装在{% if customer %}

然后,如果您想检查客户是否是批发商,您可以使用

{% unless customer.tags contains 'Wholesale' %}

所以要把它们放在一起:

{% if customer %}
{% comment %} Customer is logged in. {% endcomment %}
{% unless customer.tags contains 'Wholesale' %}
  <li class="site-nav__item">
    <a href="/cart" class="site-nav__link site-nav__link--icon cart-link js-drawer-open-right" aria-controls="CartDrawer">
      <span class="icon-fallback-text">
        <span class="icon icon-cart" aria-hidden="true"></span>
        <span class="fallback-text">{{ 'layout.cart.title' | t }}</span>
      </span> 
      <span class="cart-link__bubble {% if cart.item_count > 0 %} cart-link__bubble--visible{% endif %}"></span>
    </a>
  </li> 
 {% endunless %}
{% endif %}

*编辑*

继Gino的评论之后: 似乎Shopify如何处理标签存在一些不一致之处。我的第一个想法是区分大小写,但是,我不太清楚标签是否区分大小写。

所以我登录了我的商店 - 并尝试添加'测试'和'测试'。

一旦我添加了'测试' - 它显示为'测试',但我无法添加'测试' - 因为Shopify认为'测试'和'测试'是相同的(不区分大小写)。

然而,在ui中 - 它显示'测试'(区分大小写) - 这让我觉得它区分大小写(当我回答时差不多凌晨3点)

快速谷歌,我发现Tobi Lutke的这篇文章 - 编写Shopify https://ecommerce.shopify.com/c/shopify-discussion/t/tag-use-6631的那个人 - 请看最后评论:“标签总是自动降级。” ......

当然 - 如果标签自动降级,并且您正在检查字符串'Wholesale',它将无效。