Consulta de Preço no Magento

Algumas pessoas querem adicionar a opção de  “R$ Consulte“ em alguns produtos de sua loja virtual.

Como a idéia do Magento é vender os produtos, essa opção não está disponível para configuração. No entanto, nós podemos criar essa possibilidade.

Dentre as inúmeras formas de fazer, temos um script  fácil de entender e alterar conforme a necessidade de cada um.

Como pode acontecer de você querer alguns produtos com preços e outros sem preços, minha solução se baseia no valor do preço cadastrado do produto para venda. Para os produtos que você deseja que apareça a frase “Consulte” informe o valor de venda R$ 0,00.

E faça uma pequena alteração no código que exibe os produtos. Neste caso serão dois arquivos, um que exibe o produto com detalhes, e um que exibe o produto numa lista de opções.

Magento: Adicionando a opção “Consulte o preço”

O arquivo addtocart.phtml que fica dentro do seu tema -> template -> catalog -> product -> view altere isso:

<?php $_product= $this->getProduct() ?>

<?php if($_product->isSaleable()): ?>
<fieldset>
<legend><?php echo$this->__('Add Items to Cart') ?></legend>
<?php if(!$_product->isGrouped()): ?>
<span><label for="qty"><?php echo$this->__('Qty') ?>:</label>
<input name="qty"type="text"id="qty"maxlength="12"value="<?php echo $this->getMinimalQty($_product) ?>"/></span>
<?php endif; ?>
<button onclick="productAddToCartForm.submit()"><span><?php echo$this->__('Add to Cart') ?></span></button>
</fieldset>

<?php endif; ?>

para isso (apenas adicionei um comando if pra verificar o preço):

<?php $_product = $this->getProduct() ?>

<?php $preco = $this->getPriceHtml($_product, true);
if (strchr($preco,'R$0,00')) {
echo '<div><span id="product-price-2"><span>R$ Consulte-nos</span></span></div>';
} else {
if($_product->isSaleable()): ?>
<fieldset>
<legend><?php echo $this->__('Add Items to Cart') ?></legend>
<?php if(!$_product->isGrouped()): ?>
<span><label for="qty"><?php echo $this->__('Qty') ?>:</label>
<input name="qty" type="text" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product) ?>" /></span>
<?php endif; ?>
<button onclick="productAddToCartForm.submit()"><span><?php echo $this->__('Add to Cart') ?></span></button>
</fieldset><?php endif; ?><?php } ?>

E no arquivo list.phtml que fica no seu tema -> template -> catalog -> product altere a linha 60 e 104 onde você encontra o código:

<?php echo$this->getPriceHtml($_product, true) ?>

Ao invés de imprimir esse valor na tela usando o “echo“, vamos jogar o valor numa variável e verificar se deve ser exibido um valor ou a palavra consulte, assim:

<?php $preco = $this->getPriceHtml($_product, true);
if (strchr($preco,’R$0,00′)) {
echo ‘<div><span id=”product-price-2″><span>Consulte-nos </span></span></div>’;
} else {
echo $preco;
if($_product->isSaleable()): ?>
<button onclick=”setLocation(‘<?php echo $this->getAddToCartUrl($_product) ?>’)”><span><?php echo $this->__(‘Add to Cart’) ?></span></button>
<?php else: ?>
<div><?php echo $this->__(‘Out of stock’) ?></div>
<?php endif; ?>
<?php } ?>

 

Essa solução eu já utilizei e funcionou muito bem.

Sucesso!

  • luciano

    autor??? esse codigo está postado em todos os blogs …. e nao funciona pois mostra o valor 0.00, se a loj apublicar o valor 0.00 e o cliente conseguir vender, vc tera que entregar o produto.

    farsa………

    • Carlos Bortoni

      Luciano,

      sempre testo antes de postar aqui no blog, posso dizer que realmente o botão comprar é ocultado.

      revise os passos e tente novamente.

    • Carlos Bortoni

      Luciano,

      revisei o código e fiz um novo ajuste, o post está atualizado. Segue um link de exemplo da aplicação dessa solução http://www.olivantel.com.br

  • Fabio Barbosa

    amigo tentei fazer na versao 1.8.1 do magento e nao deu certo. tem como vc me da um help?

  • bruno

    Cara, simplismente fantastico, deu super certo aqui no meu, uso o magento 1.9.2 e deu super certo o codigo do arquivo list.phtml

  • Caio Chiqueti

    O preço é sob consulta, e ele é consultado onde?

    • carlosbortoni

      O tutorial mostrar para remover o preço e deixar o cliente entrar em contato para obter informações sobre o produto. Você pode adicionar mais texto, por exemplo um telefone ou e-mail para contato.

  • fernando Amaral

    carlosborton, cara no exemplo que você colocou no site http://www.olivantel.com.br ficou fantástico, pode me ajudar fazendo um video passo a passo meu e-mail é fezinhulove@gmail.com