Php 使用视图列表成员更改控制器的默认视图:如何设置视图模型?

Php 使用视图列表成员更改控制器的默认视图:如何设置视图模型?,php,model-view-controller,joomla,joomla2.5,Php,Model View Controller,Joomla,Joomla2.5,我正在构建一个Joomla 2.5组件,我想更改“保存”项操作后呈现的视图。这很简单(在JControllerAdmin扩展类构造函数中) 但是,myview需要加载几个模型才能工作。在代码的其他地方,这是由控制器完成的,例如controller.php(组件根目录中组件的主控制器): 我的问题:我不确定在JControllerAdmin中的什么地方可以放置此代码,以便在显示视图之前加载必要的模型。有什么建议吗?如果我没弄错您的问题,您有一个扩展JControllerAdmin的控制器 因此,前

我正在构建一个Joomla 2.5组件,我想更改“保存”项操作后呈现的视图。这很简单(在JControllerAdmin扩展类构造函数中)

但是,
myview
需要加载几个模型才能工作。在代码的其他地方,这是由控制器完成的,例如
controller.php
(组件根目录中组件的主控制器):


我的问题:我不确定在
JControllerAdmin
中的什么地方可以放置此代码,以便在显示视图之前加载必要的模型。有什么建议吗?

如果我没弄错您的问题,您有一个扩展JControllerAdmin的控制器

因此,前面提到的代码应该在控制器类的display()方法中

这回答了你的问题吗


Joomla也很有帮助!文档:

感谢您查看Valentin,但是JControllerAdmin不支持display方法()是的,我的错,JControllerAdmin没有实现display()方法。我不太明白为什么要使用JControllerAdmin。例如,我将使用JControllerPerform,您可以在其中实现edit()方法并将模型放在那里,因为JControllerAdmin的delete()方法用于删除项目,而无需关联表单。我想做的一半是通过设置视图列表来实现的。不幸的是,我在这里指定的视图除了加载该视图的“默认”模型外,还需要额外的初始化。
$this->view_list = "myview"
$view = &$this->getView('myview', 'html');
$view->setModel($this->getModel('myviewSpecialModel'),false);
$view->display();