这是我文件夹结构的图片:
我已经关闭了一些,因为我发现它是相关的,但如果您需要查看其中的内容,请告诉我。
如上所述,组件安装没有问题。但是,当我尝试访问它时,我收到以下错误:
Fatal error: Call to undefined method JController::getInstance() in /home/marcrasm/public_html/Joomla/administrator/components/com_helloworld/helloworld.php on line 13
现在它所引用的文件就是这个:
<?php
defined('_JEXEC') or die ('Restricted access');
jimport('joomla.application.component.controller');
$doc = JFactory::getDocument();
$doc->addScript("/components/com_helloworld/js/jquery.js");
$doc->addScript("/components/com_helloworld/js/com_helloworld_script.js");
$doc->addStyleSheet("/components/com_helloworld/css/com_helloworld_layout.css");
// gets the instance of the controller
// Get an instance of the controller prefixed by HelloWorld
$controller = JController::getInstance('HelloWorld');
// Perform the Request task
$input = JFactory::getApplication()->input;
$controller->execute($input->getCmd('task'));
// Redirect if set by the controller
$controller->redirect();
我知道这很难说但是有谁知道问题可能是什么?
答案 0 :(得分:21)
请检查Joomla版本
在3.X
$controller = JControllerLegacy::getInstance('HelloWorld');
在2.X
$controller = JController::getInstance('HelloWorld');
答案 1 :(得分:5)
您没有说明您的版本,但除非您使用新的MVC构建,否则您可能需要J3的JControllerLegacy。 JController没有getInstance()方法,但JControllerLegacy确实看到了github.com/joomla/joomla-cms/blob/master/libraries/joomla/controller
答案 2 :(得分:0)
错误消息显示JController
没有静态方法getInstance()
。