2015-08-03 2 views
1

Я пытаюсь изменить наш текущий макет для запроса содержимого контроллера AJAX вместо перезагрузки страницы каждый раз, когда пользователь нажимает на любой элемент меню. Короче говоря: мне нужно загрузить контроллер с другого контроллера. Предположим, у меня есть контроллер с именем AjaxController.php, который получит контроллер и действие, которое ему нужно будет отображать POST, и ему нужно вернуть запрошенный ответ HTML-ответа без макета.Zend 1 - Извлечь другой контроллер с контроллера

Сейчас у меня есть только следующий код на контроллере:

class AjaxhelperController extends Default_Model_Views_Basic 
{ 
    protected $_redirector = null; 

    public function init() 
    { 
     $this->_redirector = $this->_helper->getHelper('Redirector'); 
    } 

    public function indexAction() { 
     $valor = $this->_request->getParam('valor');          
     $this->disableLayout(); 
     $this->_helper->viewRenderer->setNoRender();    
     $this->_redirector->gotoUrl('http://desarrollo.techmaker.net/eloy/svn/eplanv30/public/demo_eplan_profesional/gestordocumental/gestordocumental'); 
    } 
} 

Проблема заключается в том, что перенаправляет на страницу загрузки, но полного макета, мне нужно, чтобы загрузить его без макета. Есть ли способ сделать это без необходимости менять каждую логику контроллера?

ответ

1

Оказывать другой контроллер от текущего контроллера без перезагрузки страницы вы можете использовать _forward() метод:

_forward ($ действие, $ контроллера = NULL, $ модуль = NULL, массив $ PARAMS = NULL): выполнить другую действие.

Будет выполнено другое действие от другого контроллера. См. Подробную информацию о: http://framework.zend.com/manual/1.12/en/zend.controller.action.html

+0

Мне удалось сделать это через помощник «Redirector» (см. Мой вопрос редактирования). Теперь проблема заключается в том, что она загружается с полным оформлением макета. –

Смежные вопросы