为什么 JS Liquid 不渲染产品变量?



我有,在product-template.liquid 中

<script src="{{ 'variant.js' | asset_url }}" defer="defer"></script>

这个是一种液体

alert('{{product.title}}');

但是variant.js的渲染是

alert('')

我还需要渲染吗?

不能包含这样的脚本并期望它在服务器端得到解释。

或者你按照Jahanzaib Muneer的建议做,或者你可以像这个一样做

<script>
{% render 'variant.js.liquid' %}
</script>

不幸的是,js文件不应该运行liquid和"js.液体";文件不起作用。

它给了我们错误:

MIME类型(‘application/x-liquid’(不是可执行的

如果你真的想在JS中获得液体变量值,那么你可以使用Shopify Global JS变量。

根据您的示例:

将此添加到您的产品模板:

<script>
Shopify.product_title = '{{ product.title }}';
</script>

在你的JS文件中使用这个:

console.log(Shopify.product_title);

希望这能解决你的问题。

感谢

最新更新