【问题标题】:Targeting a Collection - Liquid以集合为目标 - 液体
【发布时间】:2018-09-17 14:25:22
【问题描述】:

问候 Shopify 好朋友!

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

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

问题: 目前我们能够向该区域添加内容,但我们似乎无法让 if else 语句正常工作。我们有一个名为“Snack Bars”的集合,但是我们的逻辑没有识别这一点并注入正确的代码。我们尝试将 Snack Bars 集合更改为 lower 和 uppercease 小吃店/Snack-Bars,但没有成功。

逻辑: 如果产品项目来自 Snack Bar 系列,请添加盒装数量(12 盒)。 否则,加“无数量”

守则:

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

提前致谢!!

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    问候小鸟金!

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

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

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

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

    希望有帮助!

    【讨论】:

    • 我只想说谢谢,这完全是我所缺少的。非常感谢你的帮助,戴夫!
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 2019-12-08
    • 1970-01-01
    • 2014-07-30
    • 2011-08-22
    • 2011-11-07
    • 1970-01-01
    • 2016-05-04
    相关资源
    最近更新 更多