Welcome

The store data your storefront templates can read.

CTX#

CTX is the store data your templates can read while a page renders. When someone views a product, your template can reach for that product's title, images, price, and variants. When they open the cart, it can read the line items and totals. You ask for what you need by name, and it's there.

You read each object directly by its name. On a product page, product holds the product being viewed; cart holds the visitor's cart; shop holds your store's name and domain. Print a value with {{ ... }} and loop over a list with {% for ... %}.

liquid
<h1>{{ product.title }}</h1>
<p>{{ product.description }}</p>

{% for variant in product.variants %}
  <option value="{{ variant.id }}">{{ variant.title }}</option>
{% endfor %}

<span>{{ shop.name }} — cart subtotal {{ cart.subtotal }}</span>

Each page gives you the objects that page is about. Product pages give you product; collection and category pages give you their list of products; blog, page, and policy routes give you that content; account pages give you the signed-in customer. Objects that belong to every page — like shop, menus, cart, currency, localization, and market — are always available.

Browse the object reference to see what each one carries and how to use it in your templates.