2012-01-18 83 views
0

我有一個控制器(Controller_Product),它擴展了Controller_Template。 在Controller_Product中,我有一些操作(創建,編輯等),我需要渲染模板,但是某些操作(例如保存,刪除)必須返回一個json對象,所以我不需要該模板被渲染。 我該如何解決這個問題?Kohana模板控制器,沒有自動渲染

我可以設置$這個 - > auto_render爲FALSE在我保存刪除行動,但該模板將在這種情況下產生過多,即使將不渲染。我認爲這並不是非常優雅的加載模板,當我不需要它時。

有什麼建議嗎?

回答

5

這些方針的東西可能:

public function before() 
{ 
     if (in_array($this->request->action(), array('save', 'delete'))) 
     { 
       $this->auto_render = FALSE; 
     } 

     parent::before(); 
} 

[編輯]

一個更好的辦法是檢查一個Ajax請求:

public function before() 
{ 
     if ($this->request->is_ajax()) 
     { 
       $this->auto_render = FALSE; 
     } 

     parent::before(); 
} 
+0

檢查AJAX請求可以在大多數工作對我來說,因爲我每次都通過ajax發佈數據。 感謝您的建議。 – 2012-01-18 14:51:32