Discuss and resolve questions on Liquid, JavaScript, themes, sales channels, and site speed enhancements.
I am developing a theme in shopify for a client. I have created both loing and sing up forms for the clients, however, when trying to create an <a> tag for them to redirect them to a reset password form, it redirects them to a 404 page.
This is the login page and form of the website
<div class="layout">
{% form 'customer_login', return_to: routes.collections_url %}
{{ form.errors | default_errors }}
<div class="email">
<label for="email">Email</label>
<input type="email" name="customer[email]">
</div>
<div class="password">
<label for="password">Password</label>
<input type="password" name="customer[password]">
</div>
<div class="submit">
<input type="submit" value="Sign in">
</div>
{% endform %}
<div class="sign_up">
<h3>Not a customer yet? <a href="/account/register">Sign Up!</a></h3>
</div>
<div class="reset_password">
<a href="{{ routes.account_recover_url }}">Forgot Password?</a>
</div>
</div>
And this is the reset_password form
<h1>
{{ 'customer.reset_password.title' | t }}
</h1>
<p>
{{ 'customer.reset_password.subtext' | t }}
</p>
{%- form 'reset_customer_password' -%}
{%- if form.errors -%}
<h2 class="form__message" tabindex="-1" autofocus>
<span class="visually-hidden">{{ 'accessibility.error' | t }} </span>
<svg aria-hidden="true" focusable="false">
<use href="#icon-error" />
</svg>
{{ 'templates.contact.form.error_heading' | t }}
</h2>
<ul>
{%- for field in form.errors -%}
<li>
{%- if field == 'form' -%}
{{ form.errors.messages[field] }}
{%- else -%}
<a href="#{{ field }}">
{{ form.errors.translated_fields[field] | capitalize }}
{{ form.errors.messages[field] }}
</a>
{%- endif -%}
</li>
{%- endfor -%}
</ul>
{%- endif -%}
<div class="field">
<input
type="password"
name="customer[password]"
id="password"
autocomplete="new-password"
{% if form.errors contains 'password' %}
aria-invalid="true"
aria-describedby="password-error"
{% endif %}
placeholder="{{ 'customer.reset_password.password' | t }}"
>
<label for="password">
{{ 'customer.reset_password.password' | t }}
</label>
{%- if form.errors contains 'password' -%}
<small id="password-error" class="form__message">
<svg aria-hidden="true" focusable="false">
<use href="#icon-error" />
</svg>
{{ form.errors.translated_fields.password | capitalize }}
{{ form.errors.messages.password }}
</small>
{%- endif -%}
</div>
<div class="field">
<input
type="password"
name="customer[password_confirmation]"
id="password_confirmation"
autocomplete="new-password"
{% if form.errors contains 'password_confirmation' %}
aria-invalid="true"
aria-describedby="password_confirmation-error"
{% endif %}
placeholder="{{ 'customer.reset_password.password_confirm' | t }}"
>
<label for="password_confirmation">
{{ 'customer.reset_password.password_confirm' | t }}
</label>
{%- if form.errors contains 'password_confirmation' -%}
<small id="password_confirmation-error" class="form__message">
<svg aria-hidden="true" focusable="false">
<use href="#icon-error" />
</svg>
{{ form.errors.translated_fields.password_confirmation | capitalize }}
{{ form.errors.messages.password_confirmation }}
</small>
{%- endif -%}
</div>
<button>
{{ 'customer.reset_password.submit' | t }}
</button>
{%- endform -%}
</div>
Shopify and our financial partners regularly review and update verification requiremen...
By Jacqui Mar 14, 2025Unlock the potential of marketing on your business growth with Shopify Academy's late...
By Shopify Mar 12, 2025Learn how to increase conversion rates in every stage of the customer journey by enroll...
By Shopify Mar 5, 2025