我正在使用Shopify,如果存在特定的产品标签,我需要显示一些消息。我需要从JS文件中检查产品标签,并且需要知道该怎么做。
我尝试在js文件中使用{{product.tags}},但出现错误,我也在.js.liquid文件中尝试了此操作,但仍然抛出错误。
{% assign clearance = false %}
{% for tag in product.tags %}
{% if tag contains 'Clearance' %}
{% assign clearance = true %}
{% endif %}
{% endfor %}
有一种方法可以在js中使用?如果没有,我如何以js方式获取所有产品标签?我知道我可以从临时文件中执行此操作,但是我只能在js文件中执行该操作。
答案 0 :(得分:2)
您可能正在寻找名为jsx
的Java扩展。
除此之外,您本来就有template literals
,但是您只能在其中使用表达式,没有循环或其他逻辑(除了ternary expressions之外)。
如果您要查找的内容与创建HTML无关,而仅与修改变量(或对数据执行其他代码)有关,则可以使用标准Javascript:
let clearance = false;
for (const tag in product.tags) { // this assumes product.tags is an object
for (const tag of product.tags) { // this assumes product.tags is an array
if (tag.includes('Clearance') {
clearance = true;
}
}
答案 1 :(得分:0)
.js.liquid文件在Liquid中将仅接受翻译字符串作为var(例如:{{“ my_text” | t}}。
如果您想在Javascript代码中使用其他类型的Liquid字符串,则可以使用一节,并将您的JavaScript包含在{%javascript%}标签内。
这也可以在代码段或模板中使用。