Shopify жидкость: как получить вариант инвентаря из корзины ajax - PullRequest
0 голосов
/ 28 мая 2018

Этот вопрос звучит похоже на мой собственный вопрос 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...