瞄准 Collection - 液体

Targeting a Collection - Liquid

Shopify 朋友们大家好!

我有一个网站:https://www.blakesseedbased.com/(密码:TopSecretPass)

目标: 我们将提供数量不同的产品,并希望在产品标题和主页特色产品(覆盆子、巧克力片、菠萝)的价格之间显示数量信息。

问题: 目前我们可以向该区域添加内容,但我们似乎无法使 if else 语句正常工作。我们有一个名为 "Snack Bars" 的 collection,但是我们的逻辑无法识别这一点并注入正确的代码。我们尝试将 collection 小吃店更改为降低和提高 snack-bars/Snack-Bars 但没有成功。

逻辑: 如果产品项目来自 Snack Bar collection,请添加盒装数量(12 盒装)。 否则,添加 "no quantity"

代码:

{% if product.collections contains 'snack-bars' %}
         <span>Box of 12</span>
{% else %}
          No Box Amount
{% endif %}

提前致谢!!

问候 Birdie Golden!

您遇到的问题是,当您在 Liquid 中访问它时,product.collections 是一个集合对象数组,并且任何集合对象都不会等于字符串值。

幸运的是,我们可以使用 map 过滤器轻松创建句柄数组并将其分配给变量,如下所示:

{% assign collection_list = product.collections | map: 'handle' %}
{% if collection_list contains 'snack-bars' %}
...

上面的 map 过滤器将仅使用您传递给它的值创建一个新数组,因此 collection_list 变量将是一个仅包含句柄的数组。由于 handle 是一个字符串,我们可以按预期使用 contains 来查看我们想要的值是否在列表中。

希望对您有所帮助!