отключить Zend макет с помощью вызова JavaScript - PullRequest
0 голосов
/ 29 февраля 2012

Я загружаю страницу, используя вызов ajax.

$.get('/notification/viewmessage',{user:username},function(data){
                //my code here
            });

Я не хочу отключать макет страницы только для некоторых вызовов $.get.функция отключения макета по умолчанию в Zend - $this->_helper->layout->disableLayout();, но я не хочу делать это во всех запросах страниц.Могу ли я сделать это, добавив некоторый код в сам запрос js?заранее спасибо.

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Возможно, вы захотите добавить флаг в свой скрипт viewmessage.

$.get('/notification/viewmessage?layout=false',{user:username},function(data){
    //my code here
});

Тогда в скрипте viewmessage у вас будет что-то вроде этого в верхней части скрипта.

if($this->getRequest()->getParam('layout') == 'false')
{
    $this->_helper->layout->disableLayout();
}
1 голос
/ 29 февраля 2012

Это то, что помощник действия *1001* AjaxContext делает из коробки.

Просто добавьте вызовы config в метод init() вашего контроллера, создайте представление .ajax.phtml и отобразите его в сценарии обычного представления. Например

public function init()
{
    $this->_helper->ajaxContext->addActionContext('viewmessage', 'html')
                               ->initContext('html');
                               // this avoids having to pass a format param
}

В notification/viewmessage.phtml

<?php echo $this->render('notification/viewmessage.ajax.phtml') ?>

и поместите содержимое для обычного просмотра в notification/viewmessage.ajax.phtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...