2

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

控制器.php

class StatsController extends JController {
    function display()
     {
        if( !JRequest::getVar( 'view' ) ) {
            JRequest::setVar('view', 'stats' );
        }
        parent::display();
    }
    ...
    ...
}

统计视图:(index.php?option=com_stats&view=stats)

class StatsViewStats extends JView
{
    function display($tpl = null)
    {
        $model_helpdesk = & JModel::getInstance('Helpdesk','StatsModel');
    //$model_chart =  & JModel::getInstance('Chart','StatsModel'); 
    //$model_chart =  &$this->getModel('Chart');
    var_dump($model_chart);
    ...
    ...
        parent::display($tpl);
    }
}

问题:获取Helpdesk 模型可以正常工作,但获取Chart 模型要么返回 blanc page ,要么在var_dump中返回 null 。我怎样才能得到第二个模型来使用(不修改控制器)?

4

1 回答 1

3

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

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

资源

于 2012-03-14T22:24:02.240 回答