我正在尝试将{{ product.variants.first.sku }}添加到一个js文件中,函数如下
function buildPrice(data, onSale, priceVaries) {
var priceHtml = '',
onSaleClass = onSale ? ' price--on-sale' : '';
var productSku = "{{ product.variants.first.sku }}";
priceHtml += '<dl class="price' + onSaleClass + '" data-price>';
priceHtml += '<div class="price__vendor">';
priceHtml += '<dt>';
priceHtml += '<span class="visually-hidden">' + bcSfFilterConfig.label.vendor + '</span>';
priceHtml += '</dt>';
priceHtml += '<dd>';
priceHtml += data.vendor;
priceHtml += '</dd>';
priceHtml += '</div>';
priceHtml += '<div class="product__sku">';
priceHtml += '<dd>';
priceHtml += productSku;
priceHtml += '</dd>';
priceHtml += '</div>';
priceHtml += '<div class="price__regular card-price">';
priceHtml += '<dt>';
priceHtml += '<span class="visually-hidden visually-hidden--inline">' + bcSfFilterConfig.label.regular_price + '</span>';
priceHtml += '</dt>';
priceHtml += '<dd>';
priceHtml += '<span class="price-item price-item--regular" data-regular-price>';如你所见,我尝试过使用var productSku = "{{ product.variants.first.sku }}";,但它仍然只是将{{ product.variants.first.sku }}粘贴到html中,而不是加载sku编号。
我如何才能让它呈现液体插入,而不是仅仅将代码粘贴到可见的html中?
将非常感谢您的帮助!
发布于 2019-06-15 00:35:32
你没有在你的样本中显示出任何可怕的动态--没有什么是用一小段液体做不到的。
然而,我将shopify的信息与javascript混合在一起的方法如下:
pricesnippet.liquid
<script>
var myObj = {
product: {{product |json}},
startingVariant : {{product.selected_or_first_available_variant | json }}
};
// now do something with product:
(function(){
myObj.product....
})();
</script>然后
在您需要的液体中添加{% include 'pricesnippet' %}。
发布于 2019-06-07 10:39:44
我不认为你需要json过滤器。
product.variants.first.sku 这是一个值。将其过滤为json是没有意义的。
https://stackoverflow.com/questions/56487079
复制相似问题