Не работает компонент Joomla при другой установке Joomla
У меня проблемы с саморазвитым компонентом Joomla (бэкэнд). Я разработал его без каких-либо проблем, и он отлично работает на моем развитии Joomla.
После установки компонента в другой системе Joomla (другой версии) сам компонент, кажется, работает нормально - но при выборе записи для редактирования или создания новой я получаю сообщение об ошибке, в котором говорится, что он не находит пользовательские вспомогательные классы Я разработал.
Я регистрирую классы по мере необходимости в отношении документов - и, как уже упоминалось, это работает FINE с моей разработкой Joomla.
Для тестирования я загрузил помощников "вручную" 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 ответ
Я узнал, чего не хватало, но все еще не знаю, зачем мне это было нужно в этой конкретной установке.
После клонирования установки клиента на мою машину для разработки я попробовал несколько разных вещей (деактивация различных компонентов...), но ничто не помогло мне. Эта конкретная установка 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();
Сейчас все работает как положено.
Я все еще задаюсь вопросом, почему моя установка dev включала controller.php на каждом сайте, в то время как при установке клиента controller.php был включен только в основные контроллеры, непосредственно выбранные на боковой панели инструментов.
Может быть, кто-то может помочь это;-).