# Files
- Layouts
- Templates
- 404.liquid
- 503.liquid
- account.liquid
- account.*.liquid
- account.subscription.liquid
- article.liquid
- article.*liquid
- blog.liquid
- blog.*.liquid
- cart.liquid
- checkout.liquid
- checkout.*.liquid
- collection.liquid
- collection.*.liquid
- gift_card.liquid
- index.liquid
- invoice.liquid
- invoice.*.liquid
- login.liquid
- page.liquid
- page.*.liquid
- password.forgot.liquid
- password.reset.liquid
- pay.show.liquid
- pay.thanks.liquid
- product.liquid
- product.*.liquid
- register.liquid
- robots.liquid
- search.liquid
- sitemap.liquid
- thanks.liquid
- Snippets
- Assets
- Config
- Locales
- Emails
- Feeds
# Layouts
# theme.liquid
This is the default layout file.
Example
<!doctype html>
<html lang="da">
<head>
...
</head>
<body>
{% include 'header' %}
{% block content %}{% endblock %}
{% include 'footer' %}
</body>
</html>
It's used as a base for all the templates which are going to extend the layout file.
Example templates/index.liquid
{% extends 'layout/theme' %}
{% block content %}
<main>
...
</main>
{% endblock %}
# theme.*.liquid
You can have multiple layout files.
As an example you might have a theme.wide.liquid and a theme.slim.liquid, so different templates can have two different layouts.
Another example would be to have a theme.account.liquid to be used for all your account templates.
# email.liquid
This is the default layout file that will be used for your email templates.
# Templates
# 404.liquid
Used when the visitor visits a page that does not exist.
# 503.liquid
Used when the shop is set to scheduled maintenance mode. Preview this page at /503.
# account.liquid
Used at /account.
# account.*.liquid
Used at /account/{handle}.
Example
If you create a template named account.profile.liquid it will be available at /account/profile.
# account.subscription.liquid
Used at /account/subscriptions/{subscription.id}.
The subscription object is available.
Example
{% extends 'layout/theme' %}
{% block content %}
<main>
...
Substiption status: {{ subscription.status }}
Next renewal: {{ subscription.next_renewal_at | date: '%d/%m-%Y' }}
...
</main>
{% endblock %}
# article.liquid
The default template for articles.
The blog and article objects are available.
# article.*liquid
Alternative templates for articles.
Examples
article.christmas.liquid.
article.news.liquid.
The blog and article objects are available.
# blog.liquid
The default template for blogs.
The blog object is available.
# blog.*.liquid
Alternative templates for blogs.
Examples
blog.news.liquid.
blog.inspiration.liquid.
The blog object is available.
# cart.liquid
Used at /cart.
# checkout.liquid
Used at /checkout.
# checkout.*.liquid
Used at /checkout/{checkout-name}.
Example
If you create a template named checkout.klarna.liquid it will be available at /checkout/klarna.
# collection.liquid
The default template for collections.
The collection object is available.
# collection.*.liquid
Alternative templates for collections.
Examples
collection.sale.liquid.
collection.two-columns.liquid.
The collection object is available.
# gift_card.liquid
The template for gift cards.
The gift_card object is available.
# index.liquid
Used at the homepage /.
# invoice.liquid
The default template for invoices.
The order object is available.
# invoice.*.liquid
Alternative templates for invoices.
Examples
invoice.with-logo.liquid.
invoice.english.liquid.
The order object is available.
# login.liquid
Used at /login.
# page.liquid
The default template for pages.
The page object is available.
# page.*.liquid
Alternative templates for pages.
Examples
page.contact.liquid.
page.landingpage.liquid.
The page object is available.
# password.forgot.liquid
Used at /password/reset.
# password.reset.liquid
Used at /password/reset/{token}.
token and email are available.
Example
...
<input type="email" name="email" value="{{ email }}">
<input type="hidden" name="token" value="{{ token }}">
...
# pay.show.liquid
Used at /pay/{order.id}.
The order object is available.
# pay.thanks.liquid
Used at /pay/{order.id}/thanks.
The order object is available.
# product.liquid
The default template for products.
The product object is available.
# product.*.liquid
Alternative templates for products.
Examples
invoice.with-logo.liquid.
invoice.english.liquid.
The product object is available.
# register.liquid
Used at /register.
# robots.liquid
Used at /robots.txt.
# search.liquid
Used at /login.
The search object is available.
# sitemap.liquid
Used at /sitemap.xml.
# thanks.liquid
Used at /checkout/thanks/{order.id}.
The order object and first_time_accessed is available.
# Snippets
Snippets are named {anything}.liquid.
The snippets are used with the {% include %} tag.
The following example will include the content from the snippet called header.liquid.
{% include 'header' %)
# Assets
Upload any file or create .css/.js files.
Can be used with the asset_url filter.
Example
<link rel="stylesheet" href="{{ 'app.css' | asset_url }}">
# Config
- metafields.json
- settings_data.json
- settings_schema.json
# Locales
Locale files are named {{ locale }}.json.
Examples
- en.json
- da.json
- no.json
- se.json
If you shop locale is set to en the locale file en.json will be used.
# Emails
# account.invite.liquid
Used when an admin creates a customer.
The account object and password is available.
# account.reset.liquid
Used when a customer reset their password.
The account object and reset_password_url is available.
# account.welcome.liquid
Used when a new customer is created.
The account object is available.
# checkout.abandoned.liquid
Used for abandoned checkout notifications.
The order object is available.
# order.canceled.liquid
Used when an order is canceled.
The order object is available.
# order.confirmation.liquid
Used when a new order is placed.
The order object is available.
# order.refunded.liquid
Used when an order is refunded.
The order object and amount is available.
# subscription.canceled.liquid
Used when an subscription is canceled.
The subscription object is available.
# subscription.failed.liquid
Used when the payment is failing during a subscription renewal.
The order object and subscription object is available.
# Feeds
Feed files are named {{ name }}.liquid.
Examples
- google-shopping.liquid
- facebook.liquid
Feeds are available at /api/feeds/{{ name }}.xml
E.g. the google-shopping.liquid will be available at /api/feeds/google-shopping.xml.
Address →