deivisonarthur / OSC-Magento-Brasil

O projeto OCS-MAgento-Brasil é uma iniciativa para traduzir e adaptar o módulo free OSC(One Step Checkout) para Magento chamado IWD OnePageCheckout. O módulo irá traduzir, adicionar estados, formatar, validar campos e adicionar novos campos. Irei tratar principalmente os campos: Rua, Bairro, Cidade, Estado, Cep com busca por Ajax com busca nos Correios, CPF/CNPJ, IE(Inscrição Estadual), tipo pessoa, Telefone, Celular,...
43 stars 53 forks source link

Finalização da Compra #7

Open elderstoffel opened 12 years ago

elderstoffel commented 12 years ago

Deivison,

primeiro gostaria de parabenizar pelo módulo do OSC customizad para o Brasil. mto bom. porém gostaria de uma ajuda sua, pois ao finalizar a compra, os itens do carrinho não estão sendo limpos, sendo assim, ao finalizar uma compra, os ítens comprados permanecem no mesmo. até encontrei um código em Php que limpa o carrinho de compras, ao abrir o arquivo success.phtml, mas gostaria de verificar com você como poderia corrigir isto no próprio OSC, já que no arquivo review.phtml no botão de finalização existem algumas possibilidades (save, updateCart, success, failure) que estão no arquivo onepagecheckout.phtml.

atualmente está com a opção SAVE, tentei trocar para SUCCESS porém não tive sucesso na alteração.

Fico no aguardo e agradeço antecipamente pela ajuda.

deivisonarthur commented 12 years ago

Opa Elder,

Bem como vc pode ver o OSC remete para o arquivos /onepage/success.phtml no seu xml de layout, caso seja removido isso ele irá tentar procurar a página de sucesso em onestepchkout/success.phtml.

Ou seja o OSC faz o redirecionamento perfeitamente, só que existem alguns meios de pagamentos que possuem páginas de success e failure próprios, na verdade acho que todos os meios de pagamentos possuem suas próprias paginas de sucesso e failure.

Tive esse mesmo problema com o módulo do Ipagare, mesmo antes de usar o OSC(no pisosecarpetes uso o original comprado pela empresa). Pois o Ipagare além de possuir sua própria tela de sucesso as o coloca no persistent.

Bem mas isso acima é só a explicação rs, para resolver esse problema de carrinho ainda cheio após compra vc precisa finalizar a session do cart em suas páginas de sucesso(digo isso pq é bem provável que tenha mais de uma)

Isso pode ser feito colocando esse trecho de código nas paginas de sucesso e falha assim:

foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item ){ Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save(); } Clear entire session

Mage::getSingleton('checkout/session')->clear();

Vou me esticar e explicar mais uma dificuldade que tipo com o modulo de pagamento do Ipagare.

Com o módulo do Ipagare não sei porque, mas ele desabilitava o envio de email de confirmação de compra ao cliente então tipo que também na página de sucesso antes do código acima colocar o envio de email na porrada assim:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
echo "<br><br>";
if ($order->getId()) {
    try {
        $order->sendNewOrderEmail();
        echo "Foi enviado copia do pedido para seu email com sucesso!\n";
    } catch (Exception $e) {
        echo $e->getMessage();
    }
} else {
    echo "Pedido $orderIncrement nao encontrado\n";
}

Você também pode personalizar o email caso queira assim:

$mail = new Zend_Mail(); $mail -> setBodyText( $MensagemEmHtml ); $mail -> setFrom( "error@seusite.com.br", "Error Envio" ); //Quem esta enviando $mail -> addTo( "webmaster@seusite.com.br", "Webmaster" ); //Quem irá receber $mail -> send();

vlw

[image: logo] _Deivison Arthur Serpa__, Gerente de Tecnologia e E-commerce do Grupo FFernandes (21) 9203-8986 / (21) 2242-3885 / (21) 4063-8781 https://shop.pisosecarpetes.com.br https://www.pisosecarpetes.com.br/_http://www.deivison.com.br

Contatos Web: Skype : deivisonarthur MSN : deivisonarthur@hotmail.com Facebook: facebook.com/deivisonarthurhttps://www.facebook.com/deivisonarthur

Twitter: @deivisonarthur Outros Contatos em http://meadiciona.com/deivisonarthur Último Post: "A cada dois minutos uma pessoa precisa de transfusão de sangue" Vejam que legal esta ação, em Pernambuco, para a conscientização pela doação de sangue! http://youtu.be... Likehttp://www.facebook.com/permalink.php?id=212110825574657&story_fbid=526430650715913· Commenthttp://www.facebook.com/permalink.php?id=212110825574657&story_fbid=526430650715913· Sharehttp://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.facebook.com%2Fpermalink.php%3Fid%3D212110825574657%26story_fbid%3D526430650715913 Get this email app! http://www.wisestamp.com/apps/facebookpage?utm_source=extension&utm_medium=email&utm_term=facebookpage&utm_campaign=apps

[image: WordPress] http://www.deivison.com.br/blog Último post do meu blog:Formatação do 9 digito do celular no cadastro do Magento com Jqueryhttp://www.deivison.com.br/blog/2012/08/15/formatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery/ Read morehttp://www.deivison.com.br/blog/2012/08/15/formatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery/| My bloghttp://www.deivison.com.br/blog [image: Share on Facebook]http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.deivison.com.br%2Fblog%2F2012%2F08%2F15%2Fformatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery%2F [image: Share on Twitter]https://twitter.com/intent/tweet?text=Formata%C3%A7%C3%A3o%20do%209%20digito%20do%20celular%20no%20cadastro%20do%20Magento%20com%20Jquery%20%20(via%20%40wisestamp) Get this email app! http://www.wisestamp.com/apps/wordpress?utm_source=extension&utm_medium=email&utm_term=wordpress&utm_campaign=apps

http://br.linkedin.com/pub/deivison-arthur/1b/35/468 Free signature tool. http://r1.wisestamp.com/r/landing?promo=32&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_32 CLICK HERE TO GET IT.http://r1.wisestamp.com/r/landing?promo=32&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_32

Em 23 de setembro de 2012 17:17, elderstoffel notifications@github.comescreveu:

Deivison,

primeiro gostaria de parabenizar pelo módulo do OSC customizad para o Brasil. mto bom. porém gostaria de uma ajuda sua, pois ao finalizar a compra, os itens do carrinho não estão sendo limpos, sendo assim, ao finalizar uma compra, os ítens comprados permanecem no mesmo. até encontrei um código em Php que limpa o carrinho de compras, ao abrir o arquivo success.phtml, mas gostaria de verificar com você como poderia corrigir isto no próprio OSC, já que no arquivo review.phtml no botão de finalização existem algumas possibilidades (save, updateCart, success, failure) que estão no arquivo onepagecheckout.phtml.

atualmente está com a opção SAVE, tentei trocar para SUCCESS porém não tive sucesso na alteração.

Fico no aguardo e agradeço antecipamente pela ajuda.

— Reply to this email directly or view it on GitHubhttps://github.com/deivisonarthur/OSC-Magento-Brasil/issues/7.

Atenciosamente

" É melhor esperar que um programador produtivo torne-se disponível do que esperar que o primeiro programador disponível torne-se produtivo! "

elderstoffel commented 12 years ago

Vlw Deivison.

grato pela ajuda.

a solução foi parecida com a que eu tinha encontrado pelo Google...

e com certeza o problema está nas formas de pagamento...

grato pela ajuda, coloquei teu código e funcionou corretamente.

Vlw.

obrigado.

FiApO = ElDeR Elder Stoffel

Em 23 de setembro de 2012 18:09, Deivison Arthur Lemos Serpa < notifications@github.com> escreveu:

Opa Elder,

Bem como vc pode ver o OSC remete para o arquivos /onepage/success.phtml no seu xml de layout, caso seja removido isso ele irá tentar procurar a página de sucesso em onestepchkout/success.phtml.

Ou seja o OSC faz o redirecionamento perfeitamente, só que existem alguns meios de pagamentos que possuem páginas de success e failure próprios, na verdade acho que todos os meios de pagamentos possuem suas próprias paginas de sucesso e failure.

Tive esse mesmo problema com o módulo do Ipagare, mesmo antes de usar o OSC(no pisosecarpetes uso o original comprado pela empresa). Pois o Ipagare além de possuir sua própria tela de sucesso as o coloca no persistent.

Bem mas isso acima é só a explicação rs, para resolver esse problema de carrinho ainda cheio após compra vc precisa finalizar a session do cart em suas páginas de sucesso(digo isso pq é bem provável que tenha mais de uma)

Isso pode ser feito colocando esse trecho de código nas paginas de sucesso e falha assim:

foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item ){ Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save(); } Clear entire session

Mage::getSingleton('checkout/session')->clear();

Vou me esticar e explicar mais uma dificuldade que tipo com o modulo de pagamento do Ipagare.

Com o módulo do Ipagare não sei porque, mas ele desabilitava o envio de email de confirmação de compra ao cliente então tipo que também na página de sucesso antes do código acima colocar o envio de email na porrada assim:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); echo "

"; if ($order->getId()) { try { $order->sendNewOrderEmail(); echo "Foi enviado copia do pedido para seu email com sucesso!\n"; } catch (Exception $e) { echo $e->getMessage(); } } else { echo "Pedido $orderIncrement nao encontrado\n"; }

Você também pode personalizar o email caso queira assim:

$mail = new Zend_Mail(); $mail -> setBodyText( $MensagemEmHtml ); $mail -> setFrom( "error@seusite.com.br", "Error Envio" ); //Quem esta enviando $mail -> addTo( "webmaster@seusite.com.br", "Webmaster" ); //Quem irá receber $mail -> send();

vlw

[image: logo] _Deivison Arthur Serpa__, Gerente de Tecnologia e E-commerce do Grupo FFernandes (21) 9203-8986 / (21) 2242-3885 / (21) 4063-8781 https://shop.pisosecarpetes.com.br https://www.pisosecarpetes.com.br/_http://www.deivison.com.br

Contatos Web: Skype : deivisonarthur MSN : deivisonarthur@hotmail.com Facebook: facebook.com/deivisonarthur< https://www.facebook.com/deivisonarthur>

Twitter: @deivisonarthur Outros Contatos em http://meadiciona.com/deivisonarthur Último Post: "A cada dois minutos uma pessoa precisa de transfusão de sangue" Vejam que legal esta ação, em Pernambuco, para a conscientização pela doação de sangue! http://youtu.be... Like< http://www.facebook.com/permalink.php?id=212110825574657&story_fbid=526430650715913

Comment< http://www.facebook.com/permalink.php?id=212110825574657&story_fbid=526430650715913

Share< http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.facebook.com%2Fpermalink.php%3Fid%3D212110825574657%26story_fbid%3D526430650715913>

Get this email app! < http://www.wisestamp.com/apps/facebookpage?utm_source=extension&utm_medium=email&utm_term=facebookpage&utm_campaign=apps>

[image: WordPress] http://www.deivison.com.br/blog Último post do meu blog:Formatação do 9 digito do celular no cadastro do Magento com Jquery< http://www.deivison.com.br/blog/2012/08/15/formatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery/>

Read more< http://www.deivison.com.br/blog/2012/08/15/formatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery/>|

My bloghttp://www.deivison.com.br/blog [image: Share on Facebook]< http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.deivison.com.br%2Fblog%2F2012%2F08%2F15%2Fformatacao-do-9-digito-do-celular-no-cadastro-do-magento-com-jquery%2F>

[image: Share on Twitter]< https://twitter.com/intent/tweet?text=Formata%C3%A7%C3%A3o%20do%209%20digito%20do%20celular%20no%20cadastro%20do%20Magento%20com%20Jquery%20%20(via%20%40wisestamp)>

Get this email app! < http://www.wisestamp.com/apps/wordpress?utm_source=extension&utm_medium=email&utm_term=wordpress&utm_campaign=apps>

http://br.linkedin.com/pub/deivison-arthur/1b/35/468 Free signature tool. < http://r1.wisestamp.com/r/landing?promo=32&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_32>

CLICK HERE TO GET IT.< http://r1.wisestamp.com/r/landing?promo=32&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_32>

Em 23 de setembro de 2012 17:17, elderstoffel notifications@github.comescreveu:

Deivison,

primeiro gostaria de parabenizar pelo módulo do OSC customizad para o Brasil. mto bom. porém gostaria de uma ajuda sua, pois ao finalizar a compra, os itens do carrinho não estão sendo limpos, sendo assim, ao finalizar uma compra, os ítens comprados permanecem no mesmo. até encontrei um código em Php que limpa o carrinho de compras, ao abrir o arquivo success.phtml, mas gostaria de verificar com você como poderia corrigir isto no próprio OSC, já que no arquivo review.phtml no botão de finalização existem algumas possibilidades (save, updateCart, success, failure) que estão no arquivo onepagecheckout.phtml.

atualmente está com a opção SAVE, tentei trocar para SUCCESS porém não tive sucesso na alteração.

Fico no aguardo e agradeço antecipamente pela ajuda.

— Reply to this email directly or view it on GitHub< https://github.com/deivisonarthur/OSC-Magento-Brasil/issues/7>.

Atenciosamente

" É melhor esperar que um programador produtivo torne-se disponível do que esperar que o primeiro programador disponível torne-se produtivo! "

— Reply to this email directly or view it on GitHubhttps://github.com/deivisonarthur/OSC-Magento-Brasil/issues/7#issuecomment-8803017.