2012-06-29 38 views
0

我有一個視圖,可以從一個控制器的任何3個動作中調用。 但是,該視圖應該略有不同,具體取決於造成它的動作(它應顯示3個圖標或2或1個取決於所調用的動作)。我可以在視圖中檢查什麼操作導致它,所以我可以使用if語句來檢查是否顯示每個圖標?kohana視圖從什麼控制器?

謝謝。

回答

3

當然,你可以直接傳遞action價值的觀點:

$this->template->action = Request::current()->action(); 

不過而不應該知道Request特性,它的一個控制器邏輯東西。我建議你通過你的動作特殊標誌:

public function action_show1() 
{ 
    // show only one icon 
    $this->template->icons = array('first'); 
} 

public function action_show2() 
{ 
    // show another two icons 
    $this->template->icons = array('second', 'third'); 
} 

public function action_showall() 
{ 
    // show all icons 
    $this->template->icons = array('first', 'second', 'third'); 
} 

或爲每個圖標設置特殊標誌(變量)。

相關問題