我自己开发的Joomla(后端)组件遇到了麻烦。我没有遇到任何麻烦就开发了它,它在我的开发Joomla上工作得很好。
在另一个Joomla系统(不同版本)上安装组件后,组件本身似乎工作良好-但当选择要编辑或创建新条目时,我收到一个错误,说他找不到我开发的自定义助手类。
我正在注册类,因为它需要关于文档-正如已经提到的:它在我的开发Joomla中工作得很好。
对于测试,我用require_once()
"手工"加载了帮助程序-错误消息本身消失了,但它也不起作用。它甚至不加载自定义视图,而是显示默认清单。
有谁知道出了什么问题吗?安装本身(通过zip)没有任何消息。
- 开发Joomla版本:3.2.2
- Client Joomla version: 3.3.1
导入代码摘录
controller.php
class DhhcController extends JControllerLegacy {
/* ... */
public function display($cachable = false, $urlparams = false) {
JLoader::register('DhhcHelper', JPATH_COMPONENT .'/helpers/dhhc.php');
JLoader::register('LanguageHelper', JPATH_COMPONENT .'/helpers/language.php');
// ...
}
}
任何帮助感激-谢谢!
我找到了缺少的东西,但仍然不知道为什么我需要它在特定的安装
将客户端安装克隆到我的开发机器后,我尝试了几种不同的方法(停用不同的组件…),但没有任何方法可以帮助我。来自客户端的特定Joomla安装(具有相同的Joomla版本!)不能与在同一台机器上运行的Joomla开发安装上的组件一起工作。
我调试了又调试,发现是什么使组件在安静了很长一段时间后不能正常工作,但仍然不知道确切的原因。
在dhhc.php(主文件)中,我将文件修改为:
<?php
// ...
require_once(JPATH_COMPONENT .'/helpers/dhhc.php');
require_once(JPATH_COMPONENT .'/helpers/language.php');
JLoader::register('DhhcHelper', JPATH_COMPONENT .'/helpers/dhhc.php');
JLoader::register('LanguageHelper', JPATH_COMPONENT .'/helpers/language.php');
$controller = JControllerLegacy::getInstance('Dhhc');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
现在运行正常
我仍然想知道为什么我的开发安装包括controller.php在每个站点上,而在客户端的安装中,controller.php只包含在直接从侧栏选择的主控制器上。
也许有人能帮帮忙;-).