Liquid Template Variables - cart

From Spiffy Stores Knowledge Base

The liquid template variable cart has the following attributes:

cart.item_count

Returns the number of items currently in the shopping cart.

For example:

{% if cart.item_count == 0 %}
  Your shopping cart is empty!
{% else %}
  You have <a href="/cart">{{ cart.item_count }} {{ cart.item_count | pluralize: 'item', 'items' }}</a> in your cart
{% endif %} 

cart.items

Returns all the items in the shopping cart. Each item is a Line Item.

For example:

<ul>
{% for item in cart.items %}
   <li>{{ item.title }}</li>
{% endfor %}
</ul>

cart.total_price

Returns the total price of all items in the shopping cart.

For example:

The total of your cart is: {{ cart.total_price | money }}

cart.total_weight

Returns the total weight of all items in the shopping cart.

Weight is always returned as grams. Use weight or weight_with_unit filter to display the actual weight in your preferred unit system.

The total of your cart is: {{ cart.total_weight | weight_with_unit }}

cart.note

You have the option of adding a note field to your checkout template. This may be used to collect information from the customer on any special requests they have for the order.

This is used by defining an input field named “note” in the form that submits to ”/cart” in cart.liquid.

For example:

<p>
  <label for="notes">Extra notes or special instructions</label>
  <input type="text" id="notes" name="note" size="60" value="{{ cart.note }}" />
</p>

Please note that you can also activate an "Additional Checkout Comments" field during checkout to collect similar information. This option can be enabled through the "Preferences" -> "Checkout & Payment" options. This option may be simpler to implement as it does not require any theme template customization to enable.

More detailed examples are available at Asking your customer for additional information.

cart.attributes

The attributes property is similar to the note property above in that it is an optional field that you can add to your store’s checkout form. Simply define an input field named “attributes[]” and it will be captured automatically and displayed on the order detail page in your Toolbox.

For example, if you want to capture the type of gift wrapping the customer wants, then you can add this to your cart.liquid template.

<p>
  <label for="wrapping">Gift Wrapping:<label>
  <select name="attributes[gift_wrapping]" id="wrapping">
    <option value="none"{% if cart.attributes.gift_wrapping == "none" %} selected{% endif %}> None needed...</option>
   <option value="wrapping"{% if cart.attributes.gift_wrapping == "wrapping" %} selected{% endif %}> Gift Wrapping</option>
   <option value="box"{% if cart.attributes.gift_wrapping == "box" %} selected{% endif %}> Gift Box</option>
  </select>

More detailed examples are available at Asking your customer for additional information.