Neste artigo, evitaremos mostrar uma mensagem 404 aos usuários nos seguintes cenários:
- O administrador da loja cria um usuário para seu cliente e envia o e-mail de ativação da conta. O cliente recebe um link para ativar sua conta, porém, ele expirou.
O cliente deseja redefinir sua senha e então é enviado um e-mail com um link, porém, esse link expirou.
Com as alterações abaixo, teremos duas mensagens para cada caso:
O link expirou ao ativar a conta
O link expirou ao redefinir a senhaHTML
1. No arquivo templates/account/newpass.tpl, vamos mudar o título da seção para algo assim:
{% set is_account_activation = action == 'account_activation' %}
{% embed "snipplets/page-header.tpl" %}
{% block page_header_text %}{{ (is_account_activation ? 'Activar cuenta' : 'Cambiar contraseña') | translate }}{% endblock page_header_text %}
{% endembed %}2. Então, no mesmo arquivo, vamos adicionar as novas mensagens dentro de uma condição {% if link_expired %}, deixando o resto do conteúdo que já tínhamos para esta página no else.
<section class="account-page">
<div class="container">
<div class="row justify-content-md-center">
<div class="col-md-8">
{% if link_expired %}
{% set contact_links = store.whatsapp or store.phone or store.email %}
<div class="mb-4 text-center">
{% if is_account_activation %}
<div class="mb-1 font-weight-bold">{{ 'El link para activar tu cuenta expiró' | translate }}</div>
<div>{{ 'Contactanos para que te enviemos uno nuevo.' | translate }}</div>
{% else %}
<div class="mb-1 font-weight-bold">{{ 'El link para cambiar tu contraseña expiró' | translate }}</div>
<div class="mb-3">{{ 'Ingresá tu email para recibir uno nuevo.' | translate }}</div>
<a href="{{ store.customer_reset_password_url }}" class="btn-link btn-link-primary">{{ 'Ingresar email' | translate }}</a>
{% endif %}
</div>
{% if contact_links and is_account_activation %}
{% include "snipplets/contact-links.tpl" with {phone_and_mail_only: true} %}
{% endif %}
{% else %}
{# Conteúdo que já tínhamos #}
{% endif %}
</div>
</div>
</div>
</section>3. Faremos algumas alterações no arquivo sniplets/contact-links.tpl para o caso em que o cliente precise entrar em contato com a loja, mostrar apenas os meios de contato telefone e e-mail, deixando-o da seguinte forma:
{# /*============================================================================
#Contact links
==============================================================================*/#}
<ul class="contact-info text-center{% if columns %} row{% endif %}">
{% if store.whatsapp %}
<li class="contact-item{% if columns %} col-6 col-md{% endif %}">
{% include "snipplets/svg/whatsapp.tpl" with {svg_custom_class: "icon-inline icon-lg icon-w mx-2 svg-icon-text"} %}
<a href="{{ store.whatsapp }}" class="contact-link">{{ store.whatsapp |trim('https://wa.me/') }}</a>
</li>
{% elseif store.phone %}
<li class="contact-item{% if columns %} col-6 col-md{% endif %}">
{% include "snipplets/svg/phone.tpl" with {svg_custom_class: "icon-inline icon-lg icon-w mx-2 svg-icon-text"} %}
<a href="tel:{{ store.phone }}" class="contact-link">{{ store.phone }}</a>
</li>
{% endif %}
{% if store.email %}
<li class="contact-item{% if columns %} col-6 col-md{% endif %}">
{% include "snipplets/svg/envelope.tpl" with {svg_custom_class: "icon-inline icon-lg icon-w mx-2 svg-icon-text"} %}
<a href="mailto:{{ store.email }}" class="contact-link">{{ store.email }}</a>
</li>
{% endif %}
{% if not phone_and_mail_only %}
{% if store.address and not is_order_cancellation %}
<li class="contact-item{% if columns %} col-6 col-md{% endif %}">
{% include "snipplets/svg/map-marker-alt.tpl" with {svg_custom_class: "icon-inline icon-lg icon-w mx-2 svg-icon-text"} %}
{{ store.address }}
</li>
{% endif %}
{% if store.blog %}
<li class="contact-item{% if columns %} col-6 col-md{% endif %}">
{% include "snipplets/svg/comments.tpl" with {svg_custom_class: "icon-inline icon-lg icon-w mx-2 svg-icon-text"} %}
<a target="_blank" href="{{ store.blog }}" class="contact-link">{{ "Visita nuestro Blog!" | translate }}</a>
</li>
{% endif %}
{% endif %}
</ul>Traduções
Finalmente, adicionamos os textos para as traduções no arquivo config/translations.txt
es "El link para cambiar tu contraseña expiró" pt "O link para alterar sua senha expirou" en "The link to change your password has expired" es_mx "El link para cambiar tu contraseña expiró" es "Ingresá tu email para recibir uno nuevo." pt "Insira seu email para receber um novo." en "Enter your email to receive a new one." es_mx "Ingresa tu email para recibir uno nuevo." es "Ingresar email" pt "Inserir e-mail" en "Enter email" es_mx "Ingresar email" es "El link para activar tu cuenta expiró" pt "O link para ativar sua conta expirou" en "The link to activate your account has expired" es_mx "El link para activar tu cuenta expiró" es "Contactanos para que te enviemos uno nuevo." pt "Entre em contato com a gente para que te enviemos um novo." en "Contact us so we can send you a new one." es_mx "Contáctanos para que te enviemos uno nuevo.
Ativação
Depois que todas as alterações forem aplicadas ao seu código, precisamos que você entre em contato com a Nuvemshop para concluir a ativação em parceiros@nuvemshop.com.br