Компонент Joomla: один взгляд вызывает несколько моделей? - PullRequest
2 голосов
/ 15 марта 2012

Я хочу, чтобы представление вызывало для использования две разные модели.

Controller.php

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

Статистика view: (index.php? Option = com_stats & view= статистика)

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

Проблема: получение модели службы поддержки работает нормально, но получение Модель диаграммы либо возвращает пустую страницу, либо возвращает ноль в var_dump .Как я могу получить эту вторую модель для использования (без изменения контроллера) ??

1 Ответ

3 голосов
/ 15 марта 2012

В вашем контроллере вам нужно сделать следующее:

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

Источник

...