Estou tentando obter o total do pedido na página de sucesso do magento 2, adicionei este código
<?php
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$totall = $order->getGrandTotal();
?>
Mas estou recebendo um erro quando chego à página de sucesso depois de fazer um pedido, acho que o código funciona para o magento 1, mas não para 2. Como posso fazer isso funcionar também no magento 2?
Respostas:
Magento 2.1
O bloco mencionado abaixo está agora
Magento\Checkout\Block\Onepage\Success
Magento 2.0
A única coisa que você pode recuperar nativamente nesta página é o ID do pedido usando o
getRealOrderId()
método definido emMagento\Checkout\Block\Success
Portanto, para obter o ID do pedido, você pode chamar o seguinte em seu modelo:
No entanto, entendo que não é exatamente o que você precisa.
Nesse caso, mesmo que você possa usar o gerenciador de objetos diretamente, isso não é recomendado. Você deve usar um módulo personalizado para definir preferências para este bloco .
Em
app/code/Vendor/Module/etc/frontend/di.xml
que você precisa o seguinte código:Então em
app/code/Vendor/Module/Block/Checkout/Success.php
:Não esqueça o habitual
app/code/Vendor/Module/etc/module.xml
Assim como o
app/code/Vendor/Module/registration.php
Depois de concluir e executar os seguintes comandos:
Você deve chamar o seguinte no seu modelo:
Adicionando mais métodos
Você pode adicionar o seguinte que pode ser útil ao rastrear a classe de bloco:
Em seguida, você poderá chamar o seguinte no seu modelo:
fonte
echo get_class($block);
para verificar se a substituição funciona, mas se o bloco não é processado em tudo isso não é provavelmente vai funcionarSó abrir
Magento_Checkout/frontend/templates/success.phtml
E coloque o código abaixo no arquivo
No código acima, você obterá todos os dados do pedido na página de sucesso.
obrigado
fonte
Até onde eu sei, há um evento -
checkout_onepage_controller_success_action
que é disparado após uma página do Google Checkout ser concluída com êxito.fornecedor / magento / check-out do módulo / Controller / Onepage / Success.php
Como podemos ver, podemos obter o ID do pedido usando o Observer. Por exemplo:
Dê uma olhada nos módulos do Google para obter mais detalhes:
vendor / magento / module-google-adwords
vendor / magento / module-google-analytics
fonte