Апгрейд плагинов Joomla 1.5 в Joomla 1.6

Joomla 1.6 logo11 января вышла в свет первая стабильная версия Joomla 1.6.0. Причем в ней не предусмотрена совместимость с расширениями Joomla 1.5.X. Соответственно появилась необходимость мигрировать расширения.

Рассмотрим процесс миграции/апгрейда на примере простого плагина местного производства — Page Navigation Titles.
Руководстоваться будем официальной статьей по апргрейду расширений с wiki-портала документации к Joomla.

Обновление языковых файлов

Теперь Joomla использует оригинальный php-парсер *.ini-файлов. Соответственно поменялся синтаксис таких файлов.
Например:

  • Все комментарии теперь выделяются символом ;
  • Одиночные кавычки не поддерживаются, вместо двойных кавычек внутри строки перевода теперь надо использовать символы «_QQ_»
  • Появился список запрещенных слов для названия языковых констант, например, теперь их можно использовать только так: JYES=»Yes»
  • Вместо пробелов в названии констант следует использовать подчеркивание

В соответствии с этим абзацем были переделаны языковые файлы плагина.

Замена удаленных функций

Некоторые функции были удалены из Joomla 1.5.X. Соответственно их следует заменить на поддерживаемые аналоги в плагине. Т.к. для ускорения я решил сделать версию плагина для 1.6 версии из имеющегося стандартного плагина Page Navigation функции я не заменял, лишь добавил нужную функциональность. Но при этом заметил, что теперь не надо явно регистрировать событие так $mainframe->registerEvent( 'onBeforeDisplayContent', 'plgContentNavigation' ); или так function onPrepareContent( &$row, &$params) {…}, а достаточно объявить класс контентного плагина с вашем названием (как обычно расширяющй JPlugin) и описать код плагина в функции public function onContentBeforeDisplay($context, &$row, &$params, $page=0) {…}.

Обновление XML-файла описания плагина

Теперь Joomla использует более рациональные подход в формировании XML-файлов установки и описания параметров расширений.  В частности, теперь для «чтения» параметров упомянутых в XML-файлах используется класс JForms вместо JParameters. Поэтому в XML-файле необходимо произвести следующие замены тегов:
"<param " на "<field "
"</param>" на </field>"
"<params> на "<config><fields name="params"><fieldset name="basic">"
"<params*?> на "<config><fields name="params"><fieldset name="basic">"
"</params>" на "</fieldset></fields></config>"
"<install " на "<extension "
"</install>" на "</extension>"

По мере уточнения информации заметка будет дополняться, если у вас есть что-то полезное — напишите, пожалуйста, в комментариях.

Комментариев: 3


Добавление комментария:

 css.php