我一整天都在尝试将这段Liquid代码嵌入JavaScript中,但到目前为止都没有成功。我只是想通过更新div来显示购物车数据中的图片和名称,以下是我的代码:
$('.openCart').click(function(e)
{
$.ajax({
type: 'POST',
url: '/cart/add.js',
data: data,
dataType: 'json',
success: function()
{
{% capture content %}{% include 'addItemToCartDetails' %}{% endcapture %}
var content = {{ content | json }};
$("._second").html(content);
}
});
});
总的来说,以下代码不起作用(仅仅是因为for循环出了问题,我不知道如何解决):如果我移除for循环,那么代码可以获取
和其他所有内容,但是由于循环未能正常工作,所以无法获取物品数据。
这是addItemToCartDetails.liquid
文件。
{% for item in cart.items %}
<div class="_second_1">
<a href="{{ item.url | widivin: collections.all }}" class="cart-image">
<img width="320" src="{{ item | img_url: '700x700' }}" alt="{{ item.title | escape }}">
</a>
</div>
<div class="_second_2"><h3>Product Name</h3>{{ item.product.title }}</div>
<div class="_second_3"><h3>Remove Product</h3><span class="clearCart">Remove</span></div>
<div class="_second_4"><h3>Quantity</h3><input class="quantity" type="input" name="updates[]" id="updates_{{ item.id }}" value="{{ item.quantity }}" min="0" data-id="{{ item.id }}" title="If you'd like another subscription please checkout separately" alt="If you'd like another subscription please checkout separately" disabled></div>
<div class="_second_5">
<h3>Total Price</h3>
<div class="totalDetails">Total: {{ item.line_price | plus: 0 | money }} / month</div>
</div>
<div class="_third">
<input type="submit" name="checkout" value="PROCEED TO CHECKOUT">
</div>
{% endfor %}
}
。 - jrbedard{% include 'addItemToCartDetails', items: cart.items %}
传递到另一个文件中的循环{% for item in items %}
吗? - jrbedard