2012-10-19 41 views
2

我正在構建一個Joomla 2.5組件,並且我想在「保存」項操作後更改正在呈現的視圖。這是很容易(在JControllerAdmin擴展類的構造函數)使用view-list成員更改控制器的默認視圖:如何設置視圖模型?

$this->view_list = "myview" 

然而,myview需要加載了幾個模型來工作。其他地方的代碼,這是由控制器完成,例如controller.php(組件的主控制器在組件根):

$view = &$this->getView('myview', 'html'); 
$view->setModel($this->getModel('myviewSpecialModel'),false); 
$view->display(); 

我的問題:我不知道在JControllerAdmin在那裏我可以把這個代碼,以便在顯示視圖之前加載必要的模型。有什麼建議?

回答

0

如果我理解你的問題是正確的,那麼你有一個控制器來擴展JControllerAdmin。

因此,前面提到的代碼應該位於控制器類的display()方法之內。

這是回答您的問題嗎?

此外也有用的可能是Joomla!文檔:Using multiple models in an MVC component

+0

感謝您採取Valentin,但JControllerAdmin不支持顯示方法(http://docs.joomla.org/JControllerAdmin/1.6) – codinghands

+0

是的,我的壞,JControllerAdmin沒有實現顯示器( ) 方法。我不明白你爲什麼使用JControllerAdmin。例如,我會使用JControllerForm,您可以在其中實現edit()方法並將模型放在那裏。 –

+0

因爲JControllerAdmin具有刪除項目的delete()方法而不需要關聯的表單。我想要做的一半是通過設置view_list來實現的。只是不幸的是,我在這裏指定的視圖需要額外的初始化,而不是加載該視圖的「默認」模型。 – codinghands

相關問題