我正在为Joomla 3.x开发一个组件,而我遇到了JControllerLegacy getModel的问题。当我尝试在类CasehandlerController的显示函数中从我的controller.php中调用它时,它会在没有erorrs的情况下中断执行,只是一个空白页面,就像函数未定义一样。完全相同的代码在我的本地开发服务器上工作正常但在生产服务器上它在进行此调用时失败。功能如下:
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()也会产生相同的结果。当完全相同的代码在我的本地服务器上正常运行时,这可能是什么问题?
答案 0 :(得分:0)
通过回显来自getModel函数内的JControllerLegacy类的行进一步调试了这一点,我从显示模型名称的$ prefix变量得到一个提示,而不是CasehandlerModel,将模型的文件名从casehandler.php更改为Casehandler。 php并解决了这个问题...