Olá,
Vou dar o exemplo para o special.tpl (Produtos em Oferta) e para o manufacturer_info.tpl (Produtos por Fabricante) no tema default, ai você adapta para o resto, pois basicamente você tem que adicionar o código abaixo nos arquivos controller dos módulos ou páginas em que você deseja utilizar a função de esconder o preço, segue o código:
$this->data['logged'] = $this->customer->isLogged();
E nos arquivos tpl a condição que verifica se está ou não conectado:
<?php if (!$logged) { ?>
<div class="price"><a href="index.php?route=account/login">[Login]</a> <a href="index.php?route=account/create">[Cadastre-se]</a></div>
<?php } else { ?>
( Informações do preço que serão ocultados )
<?php } ?>
Na prática:
1º No arquivo /catalog/controller/module/
special.php você adiciona o código abaixo:
$this->data['logged'] = $this->customer->isLogged();
- Depois de:
$this->load->model('tool/image');
- Salve o arquivo.
2º Agora no /catalog/view/theme/SEU_TEMA/template/module/
special.tpl, procure o código:
<?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
</div>
<?php } ?>
- E substitua por:
<?php if (!$logged) { ?>
<div class="price"><a href="index.php?route=account/login">[Login]</a> <a href="index.php?route=account/create">[Cadastre-se]</a></div>
<?php } else { ?>
<?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
</div>
<?php } ?>
<?php } ?>
- Salve o arquivo e teste a alteração no módulo Produtos em oferta.
3º Para o Produtos por Fabricantes, no arquivo /catalog/controller/product/
manufacture.php você adiciona o código abaixo:
$this->data['logged'] = $this->customer->isLogged();
- Depois de:
$this->load->model('tool/image');
- Salve o arquivo.
4º No /catalog/view/theme/SEU_TEMA/template/product/
manufacturer_info.tpl, procure o código:
<?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
<?php if ($product['tax']) { ?>
<br />
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
<?php } ?>
</div>
<?php } ?>
- E substitua por:
<?php if (!$logged) { ?>
<div class="price"><a href="index.php?route=account/login">[Login]</a> <a href="index.php?route=account/create">[Cadastre-se]</a></div>
<?php } else { ?>
<?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
<?php if ($product['tax']) { ?>
<br />
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
<?php } ?>
</div>
<?php } ?>
<?php } ?>
- Salve o arquivo e teste a alteração na página de Produtos por Fabricante.
Lembrando que você não deve fazer alterações no tema default, conforme explico no artigo:
https://www.opencartbrasil.com.br/artigo ... ura-temas/
A lógica de funcionamento é essa e serve para qualquer outro módulo ou página em que você deseje ocultar preços, testado e funcionando.
Espero ter ajudado.
