2012-12-18 37 views
7

怎麼可以禁用佈局渲染?如何在phalcon框架中禁用xmlhttprequest的渲染布局?

對於一個時刻,我可以檢測請求通過jQuery做這樣:

public function initialize() 
{ 
    if (!$this->request->isAjax()) { 
     // disable layout here... how? 
    } 
} 

難道在全球範圍內做了什麼?

代碼來處理Ajax請求將是相同的所有controlles,是有辦法全局定義這種行爲規則的整個應用程序?

+0

什麼是初始化禁用自動渲染?這是在你的基地控制器類或什麼? –

+1

@Koveras我已經擴展了phalcon \ mvc \ controller並定義了這個函數來處理Ajax請求。請參閱http://docs.phalconphp.com/en/latest/reference/controllers.html#initializing-controllers – avasin

回答

17
public function initialize() 
{ 
    if (!$this->request->isAjax()) 
    { 
     // disable layout here... how? 
     $this->view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_ACTION_VIEW); 
    } 
} 

你也可以通過調用

$this->view->disable(); 
+2

$這個 - >查看 - > setRenderLevel(\爾康\的mvc \查看:: LEVEL_ACTION_VIEW)會更corrert這裏..但非常感謝你的想法:) – avasin