购物 {{ product.price | money_without_trailing_zeros}}
Shopify {{ product.price | money_without_trailing_zeros}}
我是 Shopify 新手。
我正在尝试构建一个可以在 addtocart 事件中引用产品价格的数据层。
但是,液体对象 product.price returns 是一个没有小数的字符串。例如3499,价格为34.99
我正在使用 {{ product.price | money_without_trailing_zeros}} 但它 returns 是一个空字符串。
我也尝试过使用 {{ current_variant.price |钱 }} 取自产品-template.liquid 但它 returns 什么也没有。
这是我的尝试:
<!-- jQuery -->
<script type="textjavascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<!-- Script -->
<script type="text/javascript">
function fireEvent() {
var price= {{ product.price | money_without_trailing_zeros}}
console.log( price)
// Wait a second for button to initiate.
setTimeout(function() {
// Get div id.
function sendEvent(){
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'EUR',
'add': { // 'add' actionFieldObject measures.
'products': [{ // adding a product to a shopping cart.
'name': '{{ product.title }}',
'id': '{{ product.id }}',
'price': price ,
'quantity': 1
}]
}
}
});
}
document.getElementById("AddToCart").addEventListener("click", sendEvent)
}, 3000);
}
fireEvent();
</script>
有什么帮助吗?
改变
var price= {{ product.price | money_without_trailing_zeros}}
至
var price= "{{ product.price | money_without_trailing_zeros}}"
(注意液体代码周围的引号)
或到
var price= {{ product.price | money_without_trailing_zeros | json }}
(注意 | json
过滤器在 | money_without_trailing_zeros
过滤器之后)
您的代码可能会输出类似的内容 - var price = .99
,由于美元符号(或您商店中配置的任何其他货币 sign/code,这会在 JS 中引发错误)。
我是 Shopify 新手。
我正在尝试构建一个可以在 addtocart 事件中引用产品价格的数据层。 但是,液体对象 product.price returns 是一个没有小数的字符串。例如3499,价格为34.99
我正在使用 {{ product.price | money_without_trailing_zeros}} 但它 returns 是一个空字符串。
我也尝试过使用 {{ current_variant.price |钱 }} 取自产品-template.liquid 但它 returns 什么也没有。
这是我的尝试:
<!-- jQuery -->
<script type="textjavascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<!-- Script -->
<script type="text/javascript">
function fireEvent() {
var price= {{ product.price | money_without_trailing_zeros}}
console.log( price)
// Wait a second for button to initiate.
setTimeout(function() {
// Get div id.
function sendEvent(){
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'EUR',
'add': { // 'add' actionFieldObject measures.
'products': [{ // adding a product to a shopping cart.
'name': '{{ product.title }}',
'id': '{{ product.id }}',
'price': price ,
'quantity': 1
}]
}
}
});
}
document.getElementById("AddToCart").addEventListener("click", sendEvent)
}, 3000);
}
fireEvent();
</script>
有什么帮助吗?
改变
var price= {{ product.price | money_without_trailing_zeros}}
至
var price= "{{ product.price | money_without_trailing_zeros}}"
(注意液体代码周围的引号)
或到
var price= {{ product.price | money_without_trailing_zeros | json }}
(注意 | json
过滤器在 | money_without_trailing_zeros
过滤器之后)
您的代码可能会输出类似的内容 - var price = .99
,由于美元符号(或您商店中配置的任何其他货币 sign/code,这会在 JS 中引发错误)。