在资源部分,有一些名称为.js
和.js.liquid
的文件。
如果我想将js文件包含到主题中,那么我应该使用哪一个?
这是在.js.liquid文件中。我想构造一个由液体变量组成的字符串。当我将这个字符串附加到DOM元素中时,它似乎没有显示出来。
var someString = '';
{%for line in order.line_items%}
someString += 'q='+{{line.quantity}}+'&p='+{{line.product.id}}+'&pp='+{{line.price}}+'&w='+{{line.grams}}+'&i='+{{line.product.featured_image|product_img_url|url_param_escape}}+'&n='+{{line.product.title|url_param_escape}}+'&';
{%endfor%}
$('body').append(someString);
答案 0 :(得分:4)
您可以在.js.liquid
个文件中使用液体,但.js
个文件只能使用javascript。
如果您要包含常规js文件,请使用.js
扩展名。如果您在文件中也有流动性,则需要使用.js.liquid
。
编辑:
我认为order
文件中无法访问.js.liquid
。 See here:
订单对象可以通过订单电子邮件模板,结帐的感谢页面以及订单打印机等应用程序进行访问。
另见this discussion on the Shopify forums:
您只能在清算资产中使用Liquid过滤器和全局设置对象。
它的工作方式如下:每当您编辑.js.liquid文件的.css.liquid时,或者编辑主题设置时,都会创建一个新的.css或.js文件,然后将其存储在我们的资源服务器上。以任何其他方式更新您的商店将不会更新这些文件......
鉴于上述情况,Shopify无法在这些文件中公开商店信息(可能会发生变化)。