2012-02-29 47 views
0

我使用get ajax調用來獲取頁面。通過javascript調用禁用zend佈局

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

我wan't來禁用只有一些$.get調用頁面的佈局。 zend中的默認佈局禁用功能是$this->_helper->layout->disableLayout(); 但我不想在所有頁面請求中這樣做。 我可以通過在js請求本身中添加一些代碼來做到這一點嗎? 在此先感謝。

+1

你可以添加一個變量到URL然後檢查頁面中。 – 2012-02-29 05:13:47

回答

1

你可能想要一個標誌添加到您的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

這就是AjaxContext action helper開箱即用。

只需將配置調用添加到您的控制器的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