Как получить предыдущий URL-адрес и перенаправление с контроллера


Как я могу определить URL-адрес и сохранить его, а затем использовать его на контроллере для перенаправления. Кто-нибудь может мне в этом помочь?

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