2017-03-07 84 views
0

{{item}}是一个对象,但这样的使用时,它相呼应VideoDropPostDrop液体:检查是否呼应值等于一个字符串

我需要知道哪些在DOM液体proccesses前一个...示例:

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

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

回答

1

什么对象类型是item from(products,articles etc.)? 也许你可以使用此代码:

{% 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 %} 

但上面的代码将导致图像2的图像1在某些情况下,覆盖秒。如果你能扩展你的问题并向我们展示,你想要达到什么目标会更好。

+0

我是新来的液体......我知道它是处理服务器端,所以我不认为它会像我们正在尝试的那样简单。这些选项无效。 'item'来自'{%for items in collection%}' – Omar

+0

@Omar - 集合不是一组项目。所以'{%for item in collection%}'不起作用。我要编辑我的答案,并在那里检查收集标题(名称)的例子。 – shaggy

0

您需要调用对象内的特定值才能在语句中使用它。

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

0

在Shopify,一个xxxDrop反应是“那你想打印到屏幕上的东西不能打印直接在屏幕”的占位符

您需要检查一个属性该对象可以获得你之后的行为。一个很好的资源是Shopify Liquid Reference(在Shopify主题编辑器的顶部,链接在一个非常容易错过的位置:紧跟文件名旁边的“旧版本”链接)。

检查item.type有时可以帮助,但Shopify不设置type的绝对是每个类型的对象,所以,使用任何之前你要测试它,以确保你得到你所期望的信息。 (item.type主要是为搜索结果中可以返回的对象类型设置的......而不是其他的)

希望这有助于!

相关问题