var first = 'one',
second = 'two.png';
image = first + second;
console.log('js image: ' + image);
image = '{{ image | asset_url }}';
console.log('liquid image: ' + image);
在控制台中生成:
js image: onetwo.png
liquid image:
我无法获取从液体过滤器输出代码的代码。我尝试过使用 {% raw %}
并查看了一些 SO 问题( Shopify: Using variables from {% schema %} in Javascript 、 Using javascript variables in Shopify liquid 、 Using asset_url within a .js.liquid file ),但无济于事。
我在这里做错了什么?我期望得到:
liquid image: onetwo.png?123456789
甚至删除asset_url
:
image = '{{ image }}';
仍然产生:
liquid image:
最佳答案
与@Subhrajyoti Das 聊天后,有一种奇怪的方法可以做到这一点。
使用虚拟文本创建完整字符串,其中实际文件名是:
assetString = '{{ 'filename' | asset_url }}'
这会产生:
cdn.shopify.com/s/files/0/0000/0000/0000/t/00/assets/filename?0000000000
然后使用字符串替换将“文件名”替换为 Assets 变量:
image = assetString.replace("filename", image);
关于javascript - 将液体分配给 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478642/