Jika saya memuat ulang checkout/onepage/success
halaman, saya diarahkan ke troli.
Jadi, ketika debugging atau menata halaman keberhasilan pesanan, saya selalu harus membuat pesanan baru.
Bagaimana saya bisa melakukan ini dengan lebih efisien?
checkout
development
Alex
sumber
sumber
Jawaban:
Anda dapat sementara hack inti saat Anda sedang mengembangkan:
Di
/app/code/core/Mage/Checkout/controllers/OnepageController.php
editsuccessAction()
.Berikan komentar
$session->clear();
. Sekarang Anda dapat membuat satu pesanan dan menyegarkan halaman sesering yang Anda suka.Jika Anda bahkan tidak ingin melakukan pemesanan di setiap browser, misalnya saat melakukan pengujian lintas-browser, Anda juga dapat langsung menginisialisasi sesi setiap kali.
Pilih id pesanan dan id penawaran dari tabel
sales_flat_order
(bidang:entity_id
danquote_id
). Misalnya via:Kemudian ubah fungsi awal sebagai berikut:
dan ganti
INSERT_....
dengan ID.Sekarang Anda selalu dapat menelepon
checkout/onepage/success
Saat Anda melakukannya, Anda mungkin ingin menguji
failureAction()
juga, dalamTindakan yang dimodifikasi akan terlihat seperti ini
Sekarang Anda selalu dapat menelepon
checkout/onepage/failure
sumber
\vendor\magento\module-checkout\Controller\Onepage\Success.php
Anda perlu memodifikasi successAction () di
Tindakan yang dimodifikasi akan menyukai ini
sumber
$lastOrderId
tidak didefinisikan yang akan bocor ke pemberitahuan dan dapat menyebabkan efek samping dalam template.Semoga saya tidak terlalu mempromosikan diri sendiri, tetapi saya membuat ekstensi gratis yang dapat dengan cepat dipasang di Magento, dan memungkinkan Anda melihat pratinjau halaman keberhasilan pesanan untuk pesanan apa pun - cukup dengan mengakses URL: http: // www. yireo.com/software/magento-extensions/checkout-tester
sumber
Saya pikir lebih baik komentar saja $ session-> clear (); dan menambahkan produk secara manual, yang bekerja untuk saya tetapi mengomentari seluruh tindakan memberi saya kesalahan sintaks.
sumber
Untuk Magento 2:
Jika Anda ingin gaya atau menyesuaikan di halaman sukses setelah halaman kesuksesan pesanan dialihkan ke halaman keranjang.
Sekarang solusinya ada di sini:
Pergi Untuk
vendor/magento/module-checkout/Controller/Onepage
membukaSuccess.php
File.Dalam file ini, Anda melihat Kode Di Bawah Ini
Cukup komentari kode ini dan masalah Anda terpecahkan. Setelah berkomentar ini, Anda tidak mengarahkan ke halaman keranjang.
sumber
Alih-alih mengirim email dari salinan lokal / pengembangan Anda dapat membuang konten email ke file dan kemudian hanya melihat secara lokal, yang menurut saya akan sangat berguna. Begini caranya. Pertama, semua email dikirim dari
Temukan itu, dan tambahkan baris berikut.
Setelah ini setelah Anda membuat pesanan apa pun, email.html akan dibuat di root dokumen Magento dan Anda dapat membukanya di browser untuk melihat hasilnya.
Selanjutnya, untuk mengirim / mengirim ulang email pesanan apa saja, Anda cukup masuk admin dan untuk setiap pesanan ada tombol Kirim Email yang akan memicu skrip ini dan Anda dapat melihat templat yang baru saja diubah ditulis dalam file yang sama. Saya pikir ini adalah salah satu cara terbaik untuk melihat pesanan atau email lainnya.
Harap dicatat untuk menghapus kode yang ditambahkan ketika Anda selesai.
sumber
Anda harus memperbarui kode:
Perbarui fungsi:
Komentar saja:
sumber
Magento 2
Sebagai jawaban lain yang dicatat, Anda dapat mengomentari pengalihan
Magento\Checkout\Controller\Onepage\Success::execute
dan memaksa halaman keberhasilan checkout dimuat. Tetapi ketika blok,,Magento\Checkout\Block\Onepage\Success
memuat tidak ada data pesanan akan hadir karenaMagento\Checkout\Model\Session::getLastRealOrder
tidak akan mengembalikan pesanan. Opsi yang lebih baik adalah pencegat setelah pada metode eksekusi kelas controller, di mana Anda dapat menetapkan nilailastRealOrderId
dalam sesi checkout.Pendekatan ini juga memberikan kesempatan untuk mengirimkan
checkout_onepage_controller_success_action
acara dengan pesanan yang Anda inginkan. Acara ini akan memicu pengamatMagento\GoogleAdwords\Observer\SetConversionValueObserver
danMagento\GoogleAnalytics\Observer\SetGoogleAnalyticsOnOrderSuccessPageViewObserver
dengan data uji Anda.Berikut ini adalah modul yang cukup mendasar untuk membuat interseptor yang dijelaskan di atas dan memungkinkan pengaturan pesanan dengan menambahkan
order
parameter kueri dengan id kenaikan yang diinginkan ke url halaman sukses. Saat ini tidak akan berhasil dengan rute kesuksesan multishipping. Itu dapat diunduh di github: https://github.com/pmclain/magento2-successtestsumber