Preço Apenas p/ Usuários Cadastrados

Obrigar o usuário a se cadastrar no site para visualizar o preço dos produto não é uma estratégia muito amigável. Pode até mesmo ser um tiro no pé.

Não pense que dessa forma você vai evitar os “olhos” da concorrência, pois eles serão os primeiros a se cadastrarem no site para ver o que você está escondendo.

Porém, se você oferece diversas vantagens para quem se cadastra no site, além do preço especial, ainda trabalha sua lista de clientes de forma inovadora, através de promoções e newsletter. Então este recurso pode se transformar em uma poderosa ferramenta de marketing.

O quê, Como, e Onde?

O que faremos é algo relativamente muito simples. Vamos personalizar o arquivo de template XML que organiza as páginas de apresentação dos produtos, e vamos controlar as informações que devem ou não ser exibidas.

Como sera feito? Utilizando as tags customer_logged_in e customer_logged_out do Magento. Essas tags verificam se o usuário esta logado ou não no site, e informa ao template o que deve ser feito nessas situações.

<customer_logged_out>
...aqui dentro colocamos nossas ações...
</customer_logged_out>

Onde serão feitas as alterações? Todas no arquivo catalog.xml que é quem controla a exibição dos produtos nas páginas. Ele quem carrega os blocos responsáveis por apresentar preços e o botão “comprar”. Então para dar início aos trabalhos abra o arquivo:

app -> design -> frontend -> default -> default -> layout -> catalog.xml

Se você não encontrar este arquivo em default/default, faça uma cópia do arquivo que fica em base/default.

O que precisamos esconder?

O botão comprar com sua caixa de quantidade, e o preço do produto, certo!?

No arquivo catalog.xml você encontra os blocos com nome product.info.addtocart e product.info.simple. Que correspondem respectivamente pelo bloco do botão comprar e pelo bloco que exibe o preço.

Mas atenção aqui, product.info.simple se refere ao preço do produto simples (simple). Para ocultar o preço de outros tipos de produtos, você precisa usar a referência correspondente, exemplo:

product.info.configurable para produtos configuráveis, product.info.virtual para produtos digitais, etc.

A tag xml que usaremos para “esconder” os blocos é o remove. exemplo:

<remove name="nome.do.bloco"></remove>

Não mostre, mas informe!

Ok. Você não quer exibir os preços do produto, mas ao menos informe ao usuário que ele deve se cadastrar para visualizar os preços e efetuar uma compra.

Então além de remover os blocos que precisamos ocultar dos usuários não cadastrados, precisamos inserir uma nova página no leiaute, com as informações e procedimentos que o visitante deve realizar.

Comece criando uma nova página (phtml) em:

app -> design -> frontend -> default -> default -> template -> catalog -> product -> view -> addtocart_noprice.phtml

Adicione dentro deste arquivo a mensagem que deseja mostrar aos usuários não cadastrados no site. Depois basta entrar no catalog.xml e criar um bloco para esta nova página e enviar seu conteúdo para uma referência da página, como mostrado abaixo:

<reference name="product.info.extrahint">
<block type="page/html_pager" name="product.info.noprice" as="noprice" template="catalog/product/view/addtocart_noprice.phtml"/>
</reference>

Dica! O post Tradução Estendida mostra como devem ser criados os novos textos/conteúdo das páginas.

Resumindo…

Agora que já expliquei todas as etapas do processo, preciso falar rapidamente sobre a lógica utilizada.

Por padrão, o Magento já mostra o preço e o botão comprar para qualquer vistante da loja, esteja ele logado ou não.

Então quando o usuário estiver logado no site, não precisamos fazer absolutamente nada, basta seguir o procedimento padrão do sistema. Iremos atuar apenas quando o usuário não estiver logado no site, dito isso, e usando os códigos mostrados anteriormente, temos finalmente:

<customer_logged_out>
<reference name="product.info.extrahint">
<block type="page/html_pager" name="product.info.noprice" as="noprice" template="catalog/product/view/addtocart_noprice.phtml"></block></reference>
<remove name="product.info.addtocart"></remove>
<remove name="product.info.simple"></remove>
</customer_logged_out>

Sim. Basta adicionar esse código ao arquivo catalog.xml, salvar, e testar.

Quer ver o preço? Cadastre-se!

Um bônus pra finalizar o post. Além das ações acima descritas, de retirar blocos e exibir mensagem personalizada. Procure facilitar a vida do seu visitante.

Nesse caso, você pode inserir na coluna da direita, uma caixa de login. Já que o usuário é obrigado a se cadastrar, já deixe o formulário a disposição sempre que ele não estiver logado no site. Código final:

<customer_logged_out>
<reference name="right">
<block type="customer/form_login" name="customer_form_mini_login" before="-" template="customer/form/mini.login.phtml"></block>
</reference>
<reference name="product.info.extrahint">
<block type="page/html_pager" name="product.info.noprice" as="noprice" template="catalog/product/view/addtocart_noprice.phtml"></block>
</reference>
<remove name="product.info.addtocart"></remove>
<remove name="product.info.simple"></remove>
</customer_logged_out>

Espero que essas dicas lhe ajudem de alguma forma a vender mais, o que parece contraditório, já que você está dificultando o processo de compra do usuário.

Sucesso!

FONTE:  http://mariosam.com.br/

2014-07-25T20:31:14+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x