Model view controller Joomla组件:一个视图调用多个模型?

Model view controller Joomla组件:一个视图调用多个模型?,model-view-controller,joomla,joomla-extensions,joomla-component,Model View Controller,Joomla,Joomla Extensions,Joomla Component,我想要一个视图来调用两个不同的模型以供使用 Controller.php class StatsController extends JController { function display() { if( !JRequest::getVar( 'view' ) ) { JRequest::setVar('view', 'stats' ); } parent::display(); }

我想要一个视图来调用两个不同的模型以供使用

Controller.php

class StatsController extends JController {
    function display()
     {
        if( !JRequest::getVar( 'view' ) ) {
            JRequest::setVar('view', 'stats' );
        }
        parent::display();
    }
    ...
    ...
}
Statsview:(index.php?option=com\u Stats&view=Stats)


问题:获取帮助台模型工作正常,但是获取图表模型会返回blanc页面,或者在变量转储中返回null。如何使用第二种型号(无需修改控制器)?

在控制器中,您需要执行以下操作:

$view = &$this->getView('Stats', 'html');
$view->setModel($this->getModel('Stats'), true);
$view->setModel($this->getModel('Chart'));
$view->setModel($this->getModel('Helpdesk'));
$view->display();
$chartModel = $this->getModel('Chart');
$helpdeskModel = $this->getModel('Helpdesk');
然后,您可以使用以下方法访问每个模型:

$view = &$this->getView('Stats', 'html');
$view->setModel($this->getModel('Stats'), true);
$view->setModel($this->getModel('Chart'));
$view->setModel($this->getModel('Helpdesk'));
$view->display();
$chartModel = $this->getModel('Chart');
$helpdeskModel = $this->getModel('Helpdesk');

对不起,我已经看到了&这没用!我只需要保持我的控制器的显示功能不变,这样我就可以通过index.php直接访问视图了?option=com\u stats&view=xxxx这应该在控制器中的什么位置?用哪种方法?好的,我知道了。它应该位于控制器StatController中的display()方法中(在本例中)。谢谢:)