0

我在使用自行开发的 Joomla(后端)组件时遇到了麻烦。我开发它没有任何麻烦,它在我的开发 Joomla 上运行良好。

在另一个 Joomla 系统(不同版本)上安装组件后,组件本身似乎工作正常 - 但是在选择要编辑的条目或创建新条目时,我收到一条错误消息,指出他没有找到自定义帮助程序类我开发了。

我正在注册有关文档所需的类 - 正如已经提到的:它与我的开发 Joomla 一起工作得很好。

为了进行测试,我“手动”加载了助手require_once()- 错误消息本身已经消失,但它也不起作用。它甚至不加载自定义视图,而是显示默认列表。

有谁知道出了什么问题?安装本身(通过 zip)没有任何消息。

  • 开发Joomla版本:3.2.2
  • 客户端 Joomla 版本:3.3.1

导入的代码摘录

控制器.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');

    // ...
  }
}

任何帮助表示赞赏 - 谢谢!

4

1 回答 1

0

我发现了缺少的东西,但仍然不知道为什么在特定的安装中需要它。

将客户端安装克隆到我的开发机器后,我尝试了几种不同的方法(停用不同的组件......)但没有任何帮助。来自客户端的特定 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仅包含在从侧面工具栏中直接选择的主控制器中。

也许有人可以帮助解决这个问题;-)。

于 2014-06-23T11:53:03.027 回答