瞄准 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
来查看我们想要的值是否在列表中。
希望对您有所帮助!
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
来查看我们想要的值是否在列表中。
希望对您有所帮助!