Как получить предыдущий URL-адрес и перенаправление с контроллера
Как я могу определить URL-адрес и сохранить его, а затем использовать его на контроллере для перенаправления. Кто-нибудь может мне в этом помочь?
2
Author: Teja Bhagavan Kollepara, 2015-11-30
2 answers
Чтобы получить текущий URL-адрес в Magento, используйте приведенный ниже код.
$currentUrl = Mage::helper('core/url')->getCurrentUrl()
Но я думаю, что ваше требование состоит в том, чтобы получить предыдущий URL-адрес и перенаправление с контроллера. Если это так, используйте приведенный ниже код.
$this->_redirectReferer()
10
Author: Akhil Gupta, 2015-11-30 12:38:31
В контроллере вы можете использовать перенаправление при использовании одной из следующих функций:
/**
* Set redirect into responce
*
* @param string $path
* @param array $arguments
*/
protected function _redirect($path, $arguments=array())
{
}
/**
* Set redirect url into response
*
* @param string $url
* @return Mage_Core_Controller_Varien_Action
*/
protected function _redirectUrl($url)
{
$this->getResponse()->setRedirect($url);
return $this;
}
/**
* Set referer url for redirect in response
*
* @param string $defaultUrl
* @return Mage_Core_Controller_Varien_Action
*/
protected function _redirectReferer($defaultUrl=null)
{
$refererUrl = $this->_getRefererUrl();
if (empty($refererUrl)) {
$refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl;
}
$this->getResponse()->setRedirect($refererUrl);
return $this;
}
/**
* Generate url by route and parameters in Adminhtml
*
* @param string $route
* @param array $params
* @return string
*/
public function getUrl($route='', $params=array())
{
return Mage::helper('adminhtml')->getUrl($route, $params);
}
Получить URL-адрес пути:
Mage::getUrl($path, $arguments);
Пример
Вы хотите перенаправить на контроллер пути: sales/order/view
с параметрами order_id=8
$this->_redirect('sales/order/view', array('order_id' => 8));
1
Author: Thao Pham, 2015-11-30 12:30:32