Olá Pessoal!
Nessa postagem irei ensinar como guardar o cep digitado no carrinho e recuperá-lo no campo cep do checkout. Nessa dica irei mostrar duas formas, uma utilizando o checkout padrão do Magento e outra utilizando One Step Checkout-Brasil.
Utilizando o checkout padrão
1º Passo - Guardando o cep digitado no carrinho:
Abra o arquivo shipping.phtml (app-> design-> frontend-> default-> SeuTema-> template-> checkout->cart) e procure o trecho:
<button type="button" title="<?php echo $this->__('Get a Quote') ?>" onclick="coShippingMethodForm.submit()" class="button"><span><span><?php echo $this->__('Get a Quote') ?></span></span></button>
Logo após ele, insira o seguinte:
<?php $_SESSION['guardaCep'] = $this->htmlEscape($this->getEstimatePostcode()); ?>
2º Passo - Recuperando o cep no checkout:
Abra o arquivo billing.phtml (app-> design-> frontend-> default-> SeuTema-> template-> persistent-> checkout-> onepage) e procure por:
<?php echo $this->htmlEscape($this->getBillAddress()->getPostcode()) ?>
Substitua esse código pelo seguinte:
<?php echo $_SESSION['guardaCep']; ?>
3º Passo - Preencher endereço ao entrar no checkout:
Caso você utilize a função Auto-Completar Endereço com Ajax no seu checkout e deseja que o endereço seja preenchido logo que o cliente entre na página, terá que inserir o seguinte código:
<?php if($_SESSION['guardaCep']): ?>
<body onLoad="buscar_end('billing');">
<?php endif; ?>
Logo no início do arquivo billing.phtml (app-> design-> frontend-> default-> SeuTema-> template-> persistent-> checkout-> onepage).
Utilizando o One Step Checkout
1º Passo - Guardando o cep digitado no carrinho:
O primeiro passo é igual ao do checkout padrão.
Abra o arquivo shipping.phtml (app-> design-> frontend-> default-> SeuTema-> template-> checkout->cart) e procure o trecho:
<button type="button" title="<?php echo $this->__('Get a Quote') ?>" onclick="coShippingMethodForm.submit()" class="button"><span><span><?php echo $this->__('Get a Quote') ?></span></span></button>
Logo após ele, insira o seguinte:
<?php $_SESSION['guardaCep'] = $this->htmlEscape($this->getEstimatePostcode()); ?>
2º Passo - Recuperando o cep no checkout:
Abra o arquivo billing.phtml (app-> design-> frontend-> base-> default-> template-> onepagecheckout-> onepage) e procure por:
<?php echo $this->htmlEscape($this->getBillAddress()->getPostcode()) ?>
Substitua esse código pelo seguinte:
<?php echo $_SESSION['guardaCep']; ?>
Como o OSC já atualiza os dados ao ser "carregado" (não sei se é o termo correto), seguindo os passos anteriores corretamente, o preenchimento do endereço ocorre logo quando o cliente vai finalizar a compra.
Obs: Os caminhos dos arquivos podem ser diferentes na sua loja. Não é recomendado alterar arquivos do template base, então faça sempre uma cópia do arquivo em questão para o seu tema.
Então é isso! Espero que essa dica ajude alguém! Qualquer dúvida, sugestão, correção ou crítica, deixe um comentário!
Fonte utilizada: http://forum.escolamagento.com/index.php?/topic/931-guardar-e-recuperar-o-cep-digitado-em-uma-sessao/
Responsável pelo meu interesse sobre essa questão: Jonatan Machado
=)
Show muito bom seu blog! xD
ResponderExcluirObrigada Jonatan! ^.^
ExcluirMuito Bom Alessandra!
ResponderExcluirComigo funcionou perfeitamente... só gostaria de saber como fazer com o OneStepCheckout para que ele leve do carrinho até a pagina dele o método escolhido de frete ?
No mais, sem palavras. Parabéns pela dica !!!!
Olá Paulo! Obrigada pelo comentário! =)
ExcluirQuanto a recuperar o método de entrega selecionado no carrinho, eu até tinha feito um tutorial sobre isso, só que testando um pouco mais, descobri que as alterações não funcionavam como o esperado e por isso desativei a postagem... Ele até recupera/seleciona o método de entrega no checkout, só que se o usuário quiser alterar esse método, ele volta para o anteriormente salvo, ou seja, o cliente não conseguirá mudar o frete escolhido no carrinho.
Vou fazer uns testes para tentar reverter isso e, caso consiga, posto aqui.
Caso você queira ver a postagem mesmo com esse erro, mande um comentário com o seu e-mail que eu te mando o passo-a-passo.
=)
Boa Tarde Alessandra!
ResponderExcluirEu gostaria sim ver postagem novamente mesmo com o erro.
Pode enviar pra mim no e-mail: pauloalves.silva@live.com
Obrigado!
Acabei de enviar!
Excluir:)
Alessandra, pode enviar pra mim tbm?
ExcluirVou tentar duplicar essa variável pra poder trocar...
flavioea@gmail.com
Desculpa a demora, vou te mandar hoje sem falta!
ExcluirBoa dica, porém o link para o módulo Ajax não existe mais.
ResponderExcluirEstou procurando uma forma de integrar o CEP com o webservices dos Correios para busca automática do endereço.
Se puder me mostrar o caminho :)
Excelente blog, vou acompanhar!
Não encontrei uma forma de me inscrever nele no entanto, e seria legal adicionar o autor em alguma rede social, se disponível.
Obrigado!
Olá Eduardo!
ExcluirTenho o módulo salvo aqui, se você quiser, deixe seu e-mail que eu te envio.
=)
Ola, será que para fazer no checkout simplificado da Akatus seria a mesma coisa? conhece o OSC deles? veja o link eu achei que ele ta mais simples porem mais rapido que o do devidson.
ResponderExcluirpoderia ajudar a implementar isso ai?
http://www.magentocommerce.com/magento-connect/akatus-2232.html
desculpa, mas me sinto na obrigação de recomendar mil vezes para não usar Akatus. É a 'coisa' mais desorganizada da internet...
Excluirpara o desenvolvedor é raiva pura.
para o lojista é prejuizo na certa...
Obrigada pela dica!
Excluirporque você não recomenda oq aconteceu com vc?
ExcluirPara fazer o mesmo usando o OSC da Akatus, como seria?
ResponderExcluiro sistema deles é parecido com esse ai do Devidson, porem eu acho que está mais rapido e funcional com mascaras e tudo mais.
http://www.magentocommerce.com/magento-connect/akatus-2232.html
Consegui implementar no OSC da Akatus, foi simplesmente fazer o primeiro passo e o segundo adicionar value=">"
ResponderExcluire pronto agora só habilitar campo do cep como necessário e não tem erro,valeu mesmo
vc poderia dar a dica de como mostrar produtos parcelados com juros 1.99% , to procurando e não consegui resolver com juros, caso tenha tempo
Bom fica a dica ai pra todos! vlw
Que bom que você resolveu seu problema. Já a dúvida do juros, acho que você só precisa saber como fazer o cálculo, o resto deve ser igual aos outros tutoriais.
ExcluirMuito bom!!
ResponderExcluirE tem como colocar um botão no carrinho pra abrir aquele popup dos Correios que calcula prazo??
Obrigada
Olá Danielle!
ExcluirPoderia passar o link de um exemplo do que você quer fazer?
Existem 3 módulos gratuitos dos correios q eu conheço, q estão no MgConnect e que fazem isso agregando já ao totalizados tanto do carrinho como no checkout...
ExcluirVou recomendar um site onde vc pode encontrar coisas.. é lançamento: www.google.com
(minha reverência à autora pelo belo trabalho e paciência com leitores que não tem o mínimo de vontade de aprender as coisas e querem tudo mastigadinho!)
rsrs... Gostei do comentário!
ExcluirNossa, está funcionalidade é excelente, muito obrigado!!!!
ResponderExcluirDe nada! =)
Excluir