понедельник, 17 октября 2011 г.

Файлы объявления в CMS Joomla. Правила составления xml файла в Joomla.

Сегодня я бы хотел остановиться на правилах составления файла объявлений, или xml-фалах, или установочном файле для CMS Joomla. Данный файл называют по разному, но суть у него одна. И в данной статье я хотел бы рассказать о предназначении данного файла и о правилах его составления. Ведь без данного файла Вы не создадите нормального шаблона, не сможете разработать хорошее расширение для Joomla.

В системе управления контентом Joomla есть один основной файл, который указывает Joomla, что перед ней находиться одно из расширений, будь-то шаблон, компонент, плагин или модуль. Данный файл содержит общую информацию об установке, а также параметры конфигурации расширения. Он имеет минимум различий для разных типов расширения. Этот файл называют файлом установки, или конфигурационным фалом, или просто xml файлом, или файлом объявления. Я в дальнейшем буду его называть xml файлом.
Итак, как мы выяснили основная функция xml файла - это предоставление Joomla информации об установке,  параметров конфигурации расширения.
Теперь, давайте остановимся на правилах составления данного xml файла.

Название
xml файл должен называться также как и разрабатываемое расширение: <имя_расширения.xml> или <manifest.xml>

Корневой тег
Любое содержимое файла *.xml обязательно  обрамляется тегами <extension> </extension>.
Этот тег распространяется на все расширения для CMS Joomla и допускает следующие атрибуты:

АтрибутЗначениеПрименяется вОписание
typecomponent
module
plugin
template
Во всех расширенияхЭтот атрибут описывает тип расширения для установки
version1.6
1.7
Во всех расширенияхЭтот атрибут описывает версию CMS Joomla
methodnew
upgrade
Во всех расширенияхЭтот атрибут указывает, что расширение устанавливается или обновляется (по умолчанию значение new)
clientsite
administrator
modules
template
Этот атрибут указывает для каких клиентских приложений этот модуль доступен
groupstringpluginНазвание группы указывает для какой группы доступен данный плагин


Мета данные
Следующие элементы могут быть использованы для вставки мета данных:
  • <name> необработанное имя компонента (например: com_banners)
  • <author> имя автора
  • <creationDate> дата создания расширения
  • <copyright> авторские права
  • <license> лицензионное соглашение
  • <authorEmail> email автора
  • <authorUrl> адрес сайта автора
  • <version> версия расширения
  • <description> описание расширения

Файлы Front-End
В этой секции указываем файлы, которые необходимо скопировать. Например:
<files>
    <folder>language</folder>
      <filename>index.html</filename>
</files>

Раздел администрирования
Раздел администрирования определяется в <administration> и используется только для компонент, как только они могут относится или к сайту, или к администрированию.

Файлы Back-End
В этой секции указываем файлы, которые будут скопированы для Back-End. Эти файлы обязательно должны быть заключены в тег <files>, который в свою очередь должен находиться в секции <administration>. Например:
<administration>
    ...
<files>
    <folder>language</folder>
      <filename>index.html</filename>
</files>
</administration>

Меню и подменю
Текст для меню заключается в тег <menu>, который в свою очередь заключается в тег <administration>. Подменю заключается в тег <submenu>. Пример:
<menu>COM_EXAMPLE</menu>
       <submenu>
           <menu link="anoption=avalue">COM_EXAMPLE_ANOPTION</menu>
       </submenu>

Кроме, того каждый тег <menu> может иметь следующий атрибут:

АтрибутОписание
linkПользователь переходит по ссылке, когда данный пункт меню нажат
viewИмя представления для загрузки
imgПуть к изображению 16x16 пикселей, появляется рядом с пунктом меню
alt

Конфигурация
В теге <config> мы описываем параметры конфигурации данного компонента

SQL
Вы можете выполнять SQL запросы во время установки или удаления компонента в секциях <install> и <uninstall>. Пример:
<install>
       <sql>
           <file driver="mysql" charset="utf8">example.install.sql</file>
       </sql>
</install>
<uninstall>
       <sql>
           <file driver="mysql" charset="utf8">example.uninstall.sql</file>
       </sql>
</uninstall>


Файл скриптов
Файл скриптов может быть определен в секции <filescript>. Пример:
<scriptfile>example.script.php</scriptfile>

Сервера обновления
Сервера обновлений определяются в секции <updateservers>. Эта секция может содержать один или несколько элементов <server>, которые в свою очередь имеют следующие атрибуты:

АтрибутЗначениеОписание
typeextension
collection
Тип сервера обновлений
priorityintegerПриоритет сервера обновлений
namestringИмя сервера обновлений


Скачать примеры составленных xml фалов для Joomla можно по следующим ссылкам:
com_alpha.xml
mod_alpha.xml
plg_alpha.xml
templateDetails.xml
lng_xx-XX.xml

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



6 комментариев:

  1. Доброго времени суток!!!
    Пробовал по вашим урокам создать шаблон, первый раз получилось. Теперь решил попробовать что-нибудь сотворить во второй раз, но появилась ошибка:
    JInstaller: :Install: Файл уже существует Z:\home\localhost\www\111\templates\agrosnab\images
    На диске нет данной папки. Заранее спасибо

    ОтветитьУдалить
  2. Доброго времени суток, первое, что проверьте правильность составления xml-файла, а второе в базе данных Вашего сайта в таблице _extensions удалите запись, связанную с Вашим расширением.

    ОтветитьУдалить
  3. Спасибо, очень удобно и грамотно написано. Всё в одной статье и как раз что надо!

    ОтветитьУдалить
  4. В базе данных нет ни единой записи связанной с расширением, есть еще пути решения? xml проверен вдоль и поперек, по идее все нормально

    ОтветитьУдалить
    Ответы
    1. проблема на 90% в составлении файла xml. Возможно Вы добавили в xml строку добавления файла или папки, которой нет в Вашем шаблоне

      Удалить
  5. Да действительно в xml была проблема, где-то видел что в обозначении файлов помимо тегов еще берут картинки и css в теги и , что делать нельзя! убрал и все полетело :) Спасибо за помощь.

    ОтветитьУдалить