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:
HTML
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