# Files

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

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