# 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 →