Dalam modul saya, setelah eksekusi skrip saya, saya perlu membuat redirect ke halaman dengan string kueri di URL.
Inilah yang saya miliki:
$redirectUrl = 'http://magento.local/en_en/shop/index';
$redirectArgs = array('test' => '1');
$this->_redirect($redirectUrl, $redirectArgs);
Saya juga mencoba:
Mage::app()->getFrontController()->getResponse()->setRedirect($redirectUrl, $redirectArgs)->sendResponse();
Kedua metode melempar kesalahan: Ada kesalahan saat memproses permintaan Anda
Apa yang saya harapkan akan dialihkan ke http://magento.local/en_en/shop/index?test=1
Adakah yang tahu bagaimana saya bisa mencapainya?
Edit:
Seperti yang disarankan, saya sudah mencoba:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl);
Tidak ada kesalahan, tetapi tidak ada yang terjadi. Saya tidak di controller.
Edit 2:
Saya akhirnya menggunakan:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl)->sendResponse();
Ini berfungsi seperti yang diharapkan! Terima kasih.
sumber
$this->_redirect($redirectUrl);
?_redirect
jika Anda berada di controller. Jika Anda berada di tempat lain:Mage::app()->getResponse()->setRedirect($redirectUrl);
->sendResponse()
pada akhirnya berhasil!sendResponse
Cara yang lebih baik untuk melakukan ini adalah seperti ini.
sumber
Jika Anda ingin mengarahkan ulang ke URL lain dengan parameter kueri, Anda dapat melakukannya seperti ini:
Ini akan mengarahkan Anda ke: http: //magento.local/en_en/shop/index? Test = 1 & test = 2
sumber
Jika Anda berakhir di sini dari google, menggunakan pengontrol dan ingin mengarahkan ke yang lain yang mempertahankan argumen yang dapat Anda gunakan:
Di mana
module
,controller
danaction
bisa diganti dengan*
mempertahankan nilainya. Tindakan lain dalam pengontrol yang sama:Nama tindakan yang sama, pengontrol saudara:
Dan seterusnya...
sumber