0

由于我刚刚开始进行 Joomla 组件开发,这听起来可能很愚蠢,或者可能是微不足道的。

我想知道是否可以在不使用单独的控制器的情况下将不同的模型附加到视图?

我的意图实际上是对不同的视图使用相同的模型。

提前谢谢...

4

2 回答 2

2

是的,您可以在视图中加载任何模型

$model = JModel::getInstance('ModelName', 'ComponentNameModel');
于 2013-04-04T07:08:53.513 回答
0

好的,开始工作了。基本上你只需要检查 JRequest 类中的“视图”变量:

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');

希望能帮助到你...

于 2013-04-04T07:09:58.867 回答