Saya mencoba mendapatkan total pesanan pada halaman sukses di magento 2, saya telah menambahkan kode ini
<?php
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$totall = $order->getGrandTotal();
?>
Tapi saya mendapatkan kesalahan ketika saya mencapai halaman sukses setelah saya melakukan pemesanan, saya kira kodenya berfungsi untuk magento 1 tetapi tidak 2. Bagaimana saya bisa membuatnya berfungsi juga di magento 2?
Jawaban:
Magento 2.1
Blok yang disebutkan di bawah sekarang
Magento\Checkout\Block\Onepage\Success
Magento 2.0
Satu-satunya hal yang dapat Anda ambil secara asli di halaman ini adalah id pesanan menggunakan
getRealOrderId()
metode yang ditentukan dalamMagento\Checkout\Block\Success
Dengan demikian, untuk mendapatkan id pesanan Anda dapat memanggil yang berikut ini di templat Anda:
Namun, saya mengerti bukan itu yang Anda butuhkan.
Dalam hal ini, meskipun Anda bisa menggunakan manajer objek secara langsung, itu tidak dianjurkan. Anda harus menggunakan modul khusus untuk menentukan preferensi untuk blok ini .
Dalam
app/code/Vendor/Module/etc/frontend/di.xml
Anda memerlukan kode berikut:Kemudian di
app/code/Vendor/Module/Block/Checkout/Success.php
:Jangan lupakan yang biasa
app/code/Vendor/Module/etc/module.xml
Serta
app/code/Vendor/Module/registration.php
Setelah selesai dan Anda telah menjalankan perintah berikut:
Anda harus dapat memanggil yang berikut ini di templat Anda:
Menambahkan lebih banyak metode
Anda dapat menambahkan berikut ini yang dapat berguna saat melacak ke kelas blok:
Maka Anda akan dapat memanggil yang berikut dari templat Anda:
sumber
echo get_class($block);
untuk memeriksa apakah override berfungsi tetapi jika blok tidak diberikan sama sekali itu mungkin tidak akan berhasilBuka saja
Magento_Checkout/frontend/templates/success.phtml
Dan letakkan kode di bawah ini di File
Dalam kode di atas Anda akan mendapatkan semua data pesanan di halaman sukses.
Terima kasih
sumber
Sejauh yang saya tahu, ada acara -
checkout_onepage_controller_success_action
yang dipecat setelah Checkout satu halaman berhasil.vendor / magento / module-checkout / Controller / Onepage / Success.php
Seperti yang bisa kita lihat, kita bisa mendapatkan id pesanan dengan menggunakan Observer. Sebagai contoh:
Lihatlah modul google untuk lebih jelasnya:
vendor / magento / module-google-adwords
vendor / magento / module-google-analytics
sumber