簡體   English   中英

Shopify {{ product.price | money_without_trailing_zeros}}

[英]Shopify {{ product.price | money_without_trailing_zeros}}

我是 Shopify 的新手。

我正在嘗試構建一個可以在 addtocart 事件中引用產品價格的數據層。 但是,液體 object product.price 返回一個不帶小數的字符串。 例如 3499,價格為 34.99

我正在使用{{ product.price | money_without_trailing_zeros}}但它返回一個空字符串。

我也嘗試使用{{ current_variant.price | money }}取自 product-template.liquid 但它也沒有返回任何內容。

這是我的嘗試:

<!-- 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 = $34.99 ,由於美元符號(或您商店中配置的任何其他貨幣符號/代碼),這會在 JS 中引發錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM