Shopify 上的 Money 过滤器无法在脚本上运行
2020-10-09
1376
嗨。出于某种原因,我试图减去我的变体价格。它有效,但货币过滤器无效。
console.log ( {{ product.variants[0].price | minus: product.variants[1].price }} );
80604
上面的数字是我能得到的数字。将 | 货币过滤器添加到代码中不会返回任何内容。例如:
console.log ( {{ product.variants[0].price | minus: product.variants[1].price | money }} );
请问有什么解决方法吗?谢谢!
1个回答
只需将
money
过滤器添加到该命令,就会得到如下所示的渲染代码:
console.log( $806.04 )
这不是合法的 Javascript,您可能会在控制台中看到与此行相关的错误。
幸运的是,Shopify 有
json
过滤器,它不仅可以将 Liquid 对象转换为 JavaScript 对象表示法。
任何
通过此过滤器传递的 Liquid 变量都将转换为合法的 javascript 形式。这意味着文本将被括在引号中,任何特殊字符都将被正确转义,空白值将变为
null
,等等。我强烈建议开发人员在需要将变量从 Liquid 传递到 Javascript 时始终使用
json
过滤器。
因此,要修复您的代码,只需使用:
console.log ( {{ product.variants[0].price | minus: product.variants[1].price | money | json }} );
Dave B
2020-10-09