У меня был плагин ReDJ версии 1.6, работающий на сайте 2.5 Joomla. Но я перехожу на Joomla 3, и этот модуль теперь не работает - появляются ошибки исключения. В журналах изменений я нашел это: Changed class names for ALL models, controllers and views
. Поэтому я просто добавляю суффикс Legacy
ко всем классам, которые обрабатывают исключения. А также поменять JRequest
(устарело в v3) на $input=JFactory::getApplication()->input;
.
Так что пока вроде все работает нормально. За исключением... административной панели компонента - я вижу меню компонента, но на странице нет никакого контента. Вот скриншот: http://tinyurl.com/btfzxux
Код главного контроллера controller.php
: http://pastebin.com/vQjYvYkK
Файл основного компонента redj.php
код: http://pastebin.com/gF6icdE3
Я обнаружил, что не работает строка parent::display();
в файле controller.php
. И в журналах и на дисплее нет ошибок.
И эта строка вызывает JControllerAdmin->display()
, что означает:
/**
* Display is not supported by this controller.
*......................
*......................
*/
public function display($cachable = false, $urlparams = array())
{
return $this;
}
Так ничего не отображается. Я попытался переименовать определение extends
в JControllerLegasy
(поскольку оно поддерживает метод display()), но ничего не выводится в компонентном выводе.
Как я могу вывести содержимое компонента в панель администратора в Joomla 3?
Любая помощь приветствуется.
С.Г.
ОБНОВЛЕНИЕ 1:
Я публикую свой код на GitHub. Я пытаюсь оптимизировать этот плагин для Joomla 3. Приветствуется любая помощь! https://github.com/staniaslavg/ReDJ
P.S. Теперь отображается список перенаправлений, и добавление нового работает нормально. Но... в списке элементов нет элементов.
ОБНОВЛЕНИЕ 2:
Наконец, все работает нормально (проверено только мной, но вроде все ок..)
P.S. Если на вкладках ничего не отображается, проверьте столбцы базы данных. Я добавил еще несколько. Проверьте это с помощью переменной ошибок var_dump (например, $this->get('Errors')
) в файлах views/.../view.html.php
Код на GitHub: https://github.com/staniaslavg/ReDJ
in change-logs I found
.. Так что я действительно прочитал все эти изменения и исправил все проблемы. - person StasGrin   schedule 11.03.2013JControllerLegacy
. 2. удалить строки с ошибкой блокировки в форме вывода, например:if (count($errors = $this->get('Errors'))) { return false; }
. Итак, теперь у меня есть выход, и он действительно работает. Но с ошибками. - person StasGrin   schedule 11.03.2013