定位集合-流动

时间:2018-09-17 14:25:22

标签: shopify liquid

问候Shopify好友!

我的网站位于:https://www.blakesseedbased.com/(密码:TopSecretPass)

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

问题: 目前,我们可以向该区域添加内容,但是似乎无法使if else语句正常工作。我们有一个名为“小吃店”的集合,但是我们的逻辑没有意识到这一点,并没有注入适当的代码。我们尝试将零食吧的集合更改为降低和增加零食吧/零食吧,但是没有运气。

逻辑: 如果产品来自小吃店集合,则添加包装盒数量(12个装)。 否则,添加“无数量”

代码:

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

提前谢谢!

1 个答案:

答案 0 :(得分:1)

问候小鸟金!

您遇到的问题是product.collections是在Liquid中访问它时,是一个Collection对象的数组,并且没有任何collection对象将等于字符串值。

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

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

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

希望有帮助!