Search code examples
shopifyshopify-template

Shopify Inventory Display Output on Product Page


I've spent much of the day setting up a new shopify site - my first experience with shopify. Most of it has been pretty straightfoward, but I've found myself somewhat stumped when it comes to showing inventory on the product pages. I'm using the debut theme, and using the editor to update 'product-template.liquid'

After browsing the docs, I've added the following;

{% comment %} Inventory tracking on product page {% endcomment %}
        <div id="variant-inventory" class="{% unless current_variant.available %} hide {% endunless %}">
          {% if current_variant.inventory_management == "shopify" and current_variant.inventory_policy != "continue" %}
          We have {{ current_variant.inventory_quantity }} in stock for next-day delivery when you order by 2pm.
          {% else %}
             Out of Stock
          {% endif %}
        </div>

However, this is currently returning 'out of stock' for items that are in fact, in stock. In addition, what I am hoping to achieve but haven't been able to find documentation for is;

  • 'Items in stock' = We have {{ current_variant.inventory_quantity }} in stock for next-day delivery when you order by 2pm.
  • 'No inventory, but customer allowed to order' = Order now for delivery within 7 days
  • 'No inventory, customer not allowed to order' = Out of Stock

Any pointers much appreciated!


Solution

  • You have:

              {% if current_variant.inventory_management == "shopify" and current_variant.inventory_policy != "continue" %}
          We have {{ current_variant.inventory_quantity }} in stock for next-day delivery when you order by 2pm.
          {% else %}
             Out of Stock
          {% endif %}
    

    This will show the 'Out-of-Stock' message for either of the following conditions:

    • inventory_management is blank (which is the default value)
    • inventory_policy is continue

    What you probably wanted was something like this:

        {% if current_variant.inventory_management == "shopify" and current_variant.inventory_policy != "continue" %}
    
              {% comment %}
              We care about inventory on this product - is there any in stock?
              {% endcomment %}
              (% if current_variant.inventory_quantity > 0 %}
                 We have {{ current_variant.inventory_quantity }} in stock for next-day delivery when you order by 2pm.
              {% else %}
                 Out of Stock
              {% endif %}
    
        {% else %}
            {% comment %}
            Any code/messages we might want for products where we don't care about inventory
            {% endcomment %}
        {% endif %}