Этот вопрос звучит похоже на мой собственный вопрос cart-template-option .Я делаю то же самое с ajax cart header.liquid
.Я просто хотел получить доступ к инвентарю из объекта корзины так же, как cart-template
вопрос {% if item.variant.inventory_quantity < 1 %}
.Изначально я пытаюсь напечатать {{item.variant.inventory_quantity}}
в header.liquid
, поскольку это ajax cart.Внутри {% for item in cart.items %}
я напечатал {{item.variant.inventory_quantity}}
, но когда я добавляю товар на складе или на складе в корзину.Он всегда возвращает 0. Какое свойство объекта корзины я не передаю правильно?
Я на самом деле следую советам ниже, но я что-то здесь упустил.
Код для корзины Ajax находится в заголовке.liquid.У него есть объект Cart, который имеет много свойств.См. https://help.shopify.com/themes/liquid/objects/cart#cart-items
Один из них - это элементы (т. Е. Cart.items), которые дают все элементы, добавленные в корзину.Вокруг строки 100 вы увидите цикл for {% для элемента в cart.items%}.
Здесь item = line_item.У line_item есть много свойств.См. https://help.shopify.com/themes/liquid/objects/line_item.
Один из них - вариант.т.е. line_item.variant.Итак, внутри цикла for будет item.variant.
Так что теперь у вас есть свойства варианта.См. https://help.shopify.com/themes/liquid/objects/variant
variable.inventory_quantity - один из них.
header.liquid (готов для общего доступа к файлу, если требуется.)
<form action="/checkout" method="post" id="cart">
<ul data-money-format="{{ shop.money_format }}" data-shop-currency="{{ shop.currency }}" data-shop-name="{{ shop.name | escape }}">
<li class="mm-subtitle"><a class="continue ss-icon" href="#cart"><span class="icon-close"></span></a></li>
{% if cart.item_count == 0 %}
<li class="empty_cart">{{ 'layout.general.empty_cart' | t }}</li>
{% else %}
{% for item in cart.items %}
{{item.variant.inventory_quantity}}
<a href="/#" >Will be dispatched by June 7</a>
<li class="cart_item {% if forloop.last %}last_cart_item{% endif %}">
<p class="mm-counter">
<span class="icon-minus minus"></span><input type="number" min="0" class="quantity" name="updates[]" id="updates_{{ item.id }}" value="{{ item.quantity }}" data-line-id="{{ forloop.index }}" readonly /><span class="icon-plus plus"></span>
</p>
<a href="{{ item.url }}">
{% if item.image %}
<div class="cart_image">
<img src="{{ item | img_url: '410x' }}" alt="{{ item.title | escape }}" />
</div>
{% endif %}
<div class="item_info">
{{ item.product.title }}
{% unless item.product.has_only_default_variant or item.variant.title contains "Title" %}
{% for option in item.product.options %}
{% unless option contains "Title" %}
- {{ item.variant.options[forloop.index0] }} {% unless forloop.last %}/{% endunless %}
{% endunless %}
{% endfor %}
{% endunless %}
{% if item.properties %}
{% for p in item.properties %}
{% if p.last != blank %}
<div class="line-item">
{{ p.first }}: {{ p.last }}
</div>
{% endif %}
{% endfor %}
{% endif %}
<div class="price">
<span class="money">{{ item.price | money }}</span>
</div>
</div>
</a>
</li>
{% endfor %}
<li class="mm-label">
<p class="mm-counter price">
<span class="money">{{ cart.total_price | money }}</span>
</p>
<a href="/cart">
<strong>{{ 'layout.general.subtotal' | t }}</strong>
</a>
</li>
<li class="mm-subtitle clearfix">
{% if settings.display_special_instructions %}
<textarea id="cart-note" name="note" rows="2" placeholder="{{ 'layout.general.cart_note' | t }}" class="clearfix">{{ cart.note }}</textarea>
{% endif %}
{% if settings.display_tos_checkbox %}
<aside class="tos tos_checkbox">
<input type="checkbox" class="tos_agree" id="sliding_agree" required />
<label class="tos_label" for="sliding_agree">
{{ settings.tos_richtext }}
</label>
</aside>
{% endif %}
<input type="submit" class="action_button right" value="{{ 'layout.general.checkout' | t }}" />
<a href="/cart" class="action_button edit_cart right">{{ 'layout.general.edit_cart' | t }}</a>
</li>
{% endif %}
</ul>
</form>