1

$this->_forward('edit');

 

 

2

 protected function _forward($action, $controller = null, $module = null, array $params = null)

    {

        $this->_getSession()->setIsUrlNotice($this->getFlag('', self::FLAG_IS_URLS_CHECKED));

        return parent::_forward($action, $controller, $module, $params);

    }

 

 

3

 protected function _forward($action, $controller = null, $module = null, array $params = null)

    {

        $request = $this->getRequest();

 

        $request->initForward();

 

        if (!is_null($params)) {

            $request->setParams($params);

        }

 

        if (!is_null($controller)) {

            $request->setControllerName($controller);

 

            // Module should only be reset if controller has been specified

            if (!is_null($module)) {

                $request->setModuleName($module);

            }

        }

 

        $request->setActionName($action)

            ->setDispatched(false);

    }

4

 /**

     * Collect properties changed by _forward in protected storage

     * before _forward was called first time.

     *

     * @return Mage_Core_Controller_Varien_Action

     */

    public function initForward()

    {

        if (empty($this->_beforeForwardInfo)) {

            $this->_beforeForwardInfo = array(

                'params' => $this->getParams(),

                'action_name' => $this->getActionName(),

                'controller_name' => $this->getControllerName(),

                'module_name' => $this->getModuleName()

            );

        }

 

        return $this;

    }

 

5

/**

     * Set flag indicating whether or not request has been dispatched

     *

     * @param boolean $flag

     * @return Zend_Controller_Request_Abstract

     */

    public function setDispatched($flag = true)

    {

        $this->_dispatched = $flag ? true : false;

        return $this;

    }