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

Block cart icon for certain customer tags on Shopify

我试图从购物车图标中屏蔽带有 "Wholesale" 标记的客户,但它似乎屏蔽了所有人。我也尝试添加此标签标记,但不会让我添加 {% 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 %}

您的 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 %}

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

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

如果客户未登录,他们将被视为 'regular' 客户。

如果您想在任何类型的客户登录之前隐藏购物车按钮 - 您需要将所有内容包装在 {% 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 处理标签的方式有些不一致。我的第一个想法是区分大小写,但是,我无法记住标签是否区分大小写。

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

一旦我添加了 'Test' - 它显示为 'Test',但我无法添加 'test' - 因为 Shopify 认为 'Test' 和 'test'一样(不区分大小写)。

然而,在 ui 中 - 它显示 'Test'(区分大小写) - 这让我认为它区分大小写(我回答时已将近凌晨 3 点)

A quick google,我从 Tobi Lutke 那里找到了这个 post - 编写 Shopify https://ecommerce.shopify.com/c/shopify-discussion/t/tag-use-6631 的小伙子 - 请看最后一条评论:"Tags are always downcased automatically." ......

所以当然 - 如果标签自动小写,并且您正在检查字符串 'Wholesale',它将不起作用。