Download Free Software Gratis e Completos Webmaster Mocambique
:: Desenvolvimentos web - eCommerce CMS :: => OpenCart => Tópico começado por: joomlamz em 20 de Dezembro de 2025, 23:49
Olá Devs e Lojistas,
O OpenCart tem uma funcionalidade nativa muito útil em Sistema > Configurações > Opções > "Exibir preços com login".
Quando ativamos isto, os preços somem para visitantes. O problema é que o espaço fica vazio, e o cliente pode achar que é um erro do site.
Hoje vou partilhar um pequeno snippet de código (modificação em .twig) para mostrar uma mensagem amigável com um link para a página de login.
Onde editar: Vamos alterar o ficheiro do template do produto. Caminho: catalog/view/theme/default/template/product/product.twig (Nota: Se usa um tema personalizado, o caminho será na pasta do seu tema).
O Código:
Procure por um código semelhante a este (geralmente perto da linha 100):
{% if price %}
<ul class="list-unstyled">
{% if not special %}
<li>
<h2>{{ price }}</h2>
</li>
{% else %}
...
Vamos envolver este bloco com uma condição else. Se o preço não estiver disponível (porque o usuário não está logado), mostramos a mensagem.
Substitua o bloco inicial por:
{% if price %}
<ul class="list-unstyled">
{# ... código original do preço ... #}
</ul>
{% else %}
> <div class="alert alert-info">
<i class="fa fa-info-circle"></i>
<a href="{{ login }}">Faça Login</a> ou <a href="{{ register }}">Registe-se</a> para ver o preço.
</div>
{% endif %}
Explicação para Programadores:
A variável price retorna false no Controller quando a configuração de "Login para ver preços" está ativa.
O {% else %} captura essa condição.
As variáveis {{ login }} e {{ register }} já estão disponíveis globalmente na maioria dos controllers do OpenCart, permitindo criar os links dinamicamente.
Importante: Lembre-se sempre de ir ao Painel Admin e limpar a cache do SASS/Tema após editar ficheiros .twig, senão a alteração não aparece.