Liquid:检查echoed值是否等于字符串

时间:2017-03-07 20:27:18

标签: shopify liquid

{{item}}是一个对象,但在使用时,它会回显VideoDropPostDrop

我需要知道液体在dom之前进入哪一个......例如:

    {% if item == "VideoDrop" %}
        {% assign image = image2 %}
    {% else %}
        {% assign image = image1 %}
    {% endif %}

if总是返回false ...检查{{item}}的值的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

(产品,文章等)的item对象类型是什么? 也许你可以使用这段代码:

{% if item == "VideoDrop" or item == "PostDrop" %}
   {% assign image = image2 %}
{% else %}
   {% assign image = image1 %}
{% endif %}

如果字符串的开头/结尾有空格,您可以使用:

{% if item contains "VideoDrop" or item contains "PostDrop" %}

编辑: 如果要检查,如果产品已分配名为VideoDrop或PostDrop的集合,则可以使用此代码:

{% for collection in product.collections %}
    {% assign item = collection.title %}
    {% if item == "VideoDrop" or item == "PostDrop" %}
       {% assign image = image2 %}
    {% else %}
       {% assign image = image1 %}
    {% endif %}
{% endfor %}

但是在某些情况下,上面的代码会导致image2覆盖image2。如果你能扩展你的问题并向我们展示你想要实现的目标会更好。

答案 1 :(得分:0)

您需要在对象中调用特定值以在语句中使用它。

例如,它可以是{{item.type}}。 您需要检查对象文档以检索内部所需的值。

答案 2 :(得分:0)

在Shopify中,xxxDrop响应是&#34的占位符;您尝试打印到屏幕上的内容无法直接打印到屏幕上&#34; < / p>

您需要检查对象上的属性以获取您之后的行为。一个很好的资源是Shopify Liquid Reference(也在Shopify主题编辑器的顶部链接在一个非常容易错过的地方:紧跟在#34;旧版本&#34;文件名旁边的链接) 。

检查item.type有时可以提供帮助,但Shopify并没有为type设置绝对的任何类型的对象,因此在使用任何内容之前,您需要对其进行测试以确保#39;获得您期望的信息。 (item.type主要是针对可以在搜索结果中返回的对象类型设置的...而不是其他内容。

希望这有帮助!