Файл-манифест
Рассмотрена структура файла-манифеста. Приведен практический пример создания установочного пакета для модуля и для компонента.
Цель лекции:Изучить структуру файла-манифеста и процесс создания установочных пакетов для модулей и компонентов.
Структура манифеста
Для каждого расширения Joomla может существовать файл-манифест. Манифест- это файл XML, содержащий метаданные о расширении, данные для установки и/или описание его настроек. Манифест должен называться <имя расширения>.xml и находиться в корневой директории установочного пакета.
Иерархия элементов в манифесте приведена на рис. 8.1.
(есть увеличенное изображение)
Рис. 8.1. Иерархия элементов в файле-манифесте
Корневым тегом манифеста является тег
type - тип расширения: component, file, language, library, module, package, plugin; version - версия Joomla, для которой написано расширение: 1.6, 2.5 и т.д.; method - будут ли при установке перезаписаны файлы расширения, если они уже существуют: upgrade (да), new (сообщить в таком случае об ошибке); client - для модулей: задает, предназначен этот модуль для бэкенда (administrator) или фронтенда (site); group - для плагинов: группа.
Внутри тега
Элемент
__constructor(JAdapterInstance $adapter); bool preflight(string $route, JAdapterInstance $adapter); bool postflight(string $route, JAdapterInstance $adapter); bool install(JAdapterInstance $adapter); bool update(JAdapterInstance $adapter); bool uninstall(JAdapterInstance $adapter);
где
adapter - объект, отвечающий за запуск этого скрипта; $route - какое событие происходит: install, uninstall, discover_install. Событие discover_install происходит при поиске расширений из менеджера расширений в панели управления (эта функция Joomla позволяет установить расширения, файлы которых предварительно были загружены на сайт вручную).
Методы preflight и postflight будут вызваны соответственно до и после установки/удаления/обновления расширения.
Элементы
Элемент
Языковые файлы описываются внутри элемента