Skip to content

Customer accounts

Customer account pages (sign in, sign up, password reset, orders, addresses, profile) are drawn by Sooquna, not by the theme. They follow the shopper’s language and direction and take the store’s colours from Settings › Checkout, so they match checkout. Themes don’t need templates/customers/*; if a ported theme has them, they’re ignored.

{%- if customer -%}
<a href="{{ routes.account_url }}">{{ 'customer.account' | t }}</a>
{%- else -%}
<a href="{{ routes.account_login_url }}">{{ 'customer.log_in' | t }}</a>
{%- endif -%}
Route Page
routes.account_login_url Sign in (/account/login)
routes.account_register_url Sign up (/account/register)
routes.account_url Orders (/account)
routes.account_addresses_url Addresses
routes.account_logout_url Sign out

customer is set on every page while a customer is signed in, and nil for guests: greet them, or show their saved wishlist.

{%- if customer -%}{{ 'customer.greeting' | t: name: customer.first_name }}{%- endif -%}

Order history and addresses aren’t available to theme Liquid; link to the account pages instead.

Sign-in, sign-up and password forms work only on the account pages, which handle passwords, one-time codes and rate limits. A theme’s {% form 'customer_login' %}, 'create_customer' or 'recover_customer_password' renders but can’t sign anyone in: link to routes.account_login_url instead. To bring shoppers back to the page they were on, add ?return_to= with a path on the store:

<a href="{{ routes.account_login_url }}?return_to={{ request.path | url_encode }}">{{ 'customer.log_in' | t }}</a>

Was this page helpful?