shopify 上的资金过滤器不适用于脚本

Money filter on shopify not working on scripts

你好。所以出于某种原因,我试图减去我的变体价格。它在工作,但货币过滤器不起作用。

console.log ( {{ product.variants[0].price | minus: product.variants[1].price }} );

80604

上面的数字是我能得到的。添加| money 过滤器到代码 returns 什么都没有。例如:

console.log ( {{ product.variants[0].price | minus: product.variants[1].price | money }} );

请问我有什么解决办法吗?谢谢!

只需将 money 过滤器添加到该命令,就会生成如下所示的呈现代码:

console.log( 6.04 )

这是不合法的 Javascript,您可能会在控制台中看到与此行相关的错误。

幸运的是,Shopify 有 json 过滤器,它不仅适用于将 Liquid 对象转换为 JavaScript 对象表示法。 任何 Liquid 变量通过此过滤器将被转换为javascript-legal 形式。这意味着文本将包含在引号中,任何特殊字符将被正确转义,空白值将变为 null,等等。我强烈建议开发人员在需要传递时始终使用 json 过滤器从 Liquid 到 Javascript.

的变量

因此,要修复您的代码,只需使用:

console.log ( {{ product.variants[0].price | minus: product.variants[1].price | money | json }} );