在另一个Joomla安装中没有使用Joomla组件

时间:2014-06-18 16:57:27

标签: php joomla joomla-extensions joomla3.2 joomla3.3

我面临着自我开发的Joomla(后端)组件的麻烦。我开发它没有任何麻烦,它在我的开发Joomla上运行良好。

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

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

为了进行测试,我手工加载了助手"#34;使用require_once() - 错误消息本身已消失,但它也无法正常工作。它甚至不加载自定义视图,但显示默认列表。

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

  • 开发Joomla版本:3.2.2
  • 客户端Joomla版本: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');

    // ...
  }
}

感谢任何帮助 - 谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了什么遗失但仍然不知道为什么我需要在特定的安装中。

将客户端安装克隆到我的开发机器后,我尝试了几种不同的东西(停用不同的组件......)但没有任何帮助我。来自客户端的具体Joomla安装(使用相同的Joomla版本!)与在同一台机器上运行Joomla dev安装的组件无关。

我进行了调试和调试,发现在安静很长一段时间之后保留组件正常工作的原因仍然无法确切知道原因。

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 ,而在客户端安装控制器时。 php 仅包含在直接从侧工具栏中选择的主控制器上。

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