Я занимаюсь разработкой компонента для Joomla 3.x, и у меня возникла проблема с getCodel JControllerLegacy. Когда я пытаюсь вызвать его из моего controller.php в функции dispaly класса CasehandlerController, он прерывает выполнение без ошибок, только с пустой страницей, как если бы функция была неопределенной. Тот же самый код прекрасно работает на моем локальном сервере разработки, но на рабочем сервере он не работает при выполнении этого вызова. Функция как ниже:
function display($cachable = false, $urlparams = false)
{
$this->configuration = getConfiguration();
// set default view if not set
$input = JFactory::getApplication()->input;
$input->set('view', $input->getCmd('view', 'Casehandler'));
$view = $this->getView( $input->get('view'), 'html' );
echo 'model:';
$model = $this->getModel('Casehandler');// closing single quote missing here
echo 'model done.';
$view->setModel($model, true );
$view->setLayout( 'default' );
$view->display();
}
«модель:» получает эхо и «модель готова». не. Я попытался отладить это, повторяя строки из класса модели, но также без ответа. Вызов getModel () без аргументов также дает тот же результат. В чем может быть проблема, когда точно такой же код работает на моем локальном сервере?
Отладив это далее, повторяя строки из класса JControllerLegacy внутри функции getModel, я получил подсказку от переменной $ prefix, отображающей имя модели как casehandlerModel вместо CasehandlerModel, изменил имя файла модели с casehandler.php на Casehandler.php, и это исправил проблему …
Других решений пока нет …