没有控制器的视图的多个模型

时间:2013-04-04 06:52:34

标签: joomla

由于我刚开始使用Joomla组件开发,这可能听起来很愚蠢,或者可能很简单。

我想知道是否可以将不同的模型附加到视图中,而不使用单独的控制器?

我的意图实际上是为不同的观点使用相同的模型。

提前完成了......

2 个答案:

答案 0 :(得分:2)

是的,您可以使用

加载视图中的任何模型
$model = JModel::getInstance('ModelName', 'ComponentNameModel');

答案 1 :(得分:0)

好的,搞定了。 基本上你只需要在JRequest类中检查'view'变量:

if(JRequest::getVar('view') == 'yourtargetview') {
      $modelMain = $this->getModel ( 'yourtargetmodel' );
      $viewCallback  = $this->getView  ( 'yourtargetview', 'html');
      $viewCallback->setModel( $modelMain, true );  // true is for the default model;
    }

然后在目标视图类中,引用模型函数,如下所示(注意第二个参数来调用):

$this->targetFieldValue = $this->get('targetMethod', 'targetModel');

希望它有所帮助...