Ketika saya menambahkan sesuatu dari category
ke basket/cart
itu mengarahkan saya ke basket/cart
.
Setelah mencari saya menemukan bahwa saya dapat mengubah fungsi ini dalam sistem admin via
Configuration > Sales | Checkout > After Adding a Product Redirect to Shopping Cart
Sekarang dialihkan ke halaman Beranda. Saya tidak tahu apakah ini bug dalam pengalihan?
Jawaban:
Jika Anda melihat pengontrol keranjang,
app/code/core/Mage/Checkout/controllers/CartController.php
Anda akan menemukan fungsinya_goBack
. Di sinilah url kembali diputuskan oleh Magento.Bagian yang Anda cari adalah panggilan untuk
_getRefererUrl
ini terjadi ketika Anda tidak menetapkan url kembali sebagai parameter dan tidak menggunakan opsi pengalihan default ke keranjang.Di dalam fungsi
_getRefererUrl
url pengarah diperiksa untuk melihat apakah itu adalah url internal, ketika itu tidak internal daripada url dasar yang digunakan.Saya menyarankan agar url referer Anda eksternal atau ada yang salah dengan cek.
Coba lihat
Mage_Core_Controller_Varien_Action::_isUrlInternal
untuk debug jika url internal atau tidak.Masalahnya adalah _isUrlInternal gagal karena memiliki port di url dasar
sumber
Selain jawaban david-sopan santun, Anda juga mungkin memiliki masalah dengan
web/unsecure/base_url
& Andaweb/secure/base_url
diatur dengan benar tanpa port - tetapi vhost aplikasi Anda yang sebenarnya (apache / nginx) mendengarkan pada beberapa port selain 80/443, misalnya ketika berjalan di belakang pernis.Ini akan menghasilkan
\Mage_Core_Helper_Url::getCurrentUrl
, digunakan misalnya untuk menambahkan params kueri pengkodean base64 - diterjemahkan dan digunakan dengan_getRefererUrl
memiliki port 'non-default' sebagai bagian dari url. (mis. http://www.domain.com:81/your-url.html )Akibatnya
Mage_Core_Controller_Varien_Action::_isUrlInternal
mengembalikan false ...sumber
Cobalah untuk mengatur
web/unsecure/base_url
&web/secure/base_url
dengan Anda127.0.0.1
di tempatlocalhost
. Bagi saya itu berhasil.sumber