Joomla 1.5: Создание плагинов группы Content
Индекс материала |
---|
Joomla 1.5: Создание плагинов группы Content |
PHP - файл плагина |
INI - файл плагина |
Все страницы |
У плагинов группы Content Plugin очень много вариантов применения. Группа Content Plugin имеет прямое отношение к отображению вашего содержимого. Для создания самого плагина нужно как минимум два файла: XML файл манифеста и собственно файл PHP.
Поскольку каждый плагин в Joomla реагирует на какое – то своё событие, то очевидна кое - какая разница в их реализации. В данной заметке я приведу пример реализации плагинов группы content. Плагин для одного из событий разберём более подробно - это реально существующий плагин loadmodule. Так же в конце я расскажу, как добавить мульти язычность вашим плагинам.
XML - файл манифест плагина
XML файл - манифест называют так же, как и файл PHP и собственно так же, как и называется ваш плагин. Файл - манифест так же является одним из необходимых файлов, он всегда начинается с XML-тэга определения, и использует кодировку UTF-8.
<?xml version="1.0" encoding="utf-8"?> <!-- Для определения группы плагина добавьте следующее: --> <install version="1.5" type="plugin" group="content">
- version - определяет, что расширение для версии 1.5
- type - определяет, что тип расширения - плагин
- group - определяет, что плагин относится к группе content
Как и требуют правила XML - элемент install является корневым, единственным, а так же в нём присутствуют атрибуты:
Далее можно добавить информацию о себе и непосредственно о плагине:
<name>Имя вашего плагина</name> <creationDate>Дата создания</creationDate> <author>Ваше имя</author> <authorEmail>Ваш e-mail адрес</authorEmail> <authorUrl>Ваш вэб сайт</authorUrl> <copyright>Авторские права</copyright> <license>Тип лицензии, например GNU/GPL</license> <version>Версия плагина</version> <description>Описание плагина; показывается при установке в настройках плагина в менеджере плагинов</description>
Далее поместите название своего PHP - файла, который будет содержать код плагина, в xml-элемент <filename>, который в свою очередь должн быть вложен внутрь xml-элемента <files>. Имя PHP - файла должно быть таким же, как имя XML - файла - манифеста. Так же поместите это имя в атрибут plugin = " " xml-элемента <filename>, как показано ниже:
<files> <filename plugin="nameofplugin">nameofplugin.php</filename> </files>
Можно добавлять сколь угодно файлов для своего плагина. Нужно лишь добавить новый xml-элемент <filename> содержащий имя файла, и поместить его внутрь xml-элемента <files> пример ниже:
<files> <filename plugin="nameofplugin">nameofplugin.php</filename> <filename>somefile1.php</filename> <filename>somefile2.php</filename> </files>
Если вы любите порядок и у вас плагин имеет целую кучу файлов, то вы конечно захотите сгруппировать свои многочисленные файлы по каталогам. В таком случае можно поступить следующим образом: вместо имени файла в xml-элементе <filename> указывайте путь от директории плагина к файлу ( включая имя файла естественно):
<files> <filename plugin="nameofplugin">nameofplugin.php</filename> <filename>scripts/somescript.js</filename> <filename>css/somecss.css</filename> <filename>somefile1.php</filename> <filename>somefile2.php</filename> </files>
А можно просто перечислить директории, которые у вас имеются в директории плагина следующим образом:
<files> <filename plugin="nameofplugin">nameofplugin.php</filename> <filename>somefile1.php</filename> <filename>somefile2.php</filename> <folder>scripts</folder> <folder>css</folder> </files>
В этом случае вам даже не придётся перечислять файлы которые они содержат.
Что касается мульти язычности, то для её обеспечения в Joomla используются INI - файлы. Это конечно не обязательно, но если вы делаете плагин с учётом мульти язычности, то люди из других стран смогут легко перевести Ваш плагин на свой собственный язык.
Дополнительные языковые файлы всегда устанавливаются в:
administrator/languages/xx-XX/
Где xx-XX – код языка, уже установленного в Joomla. Языковые коды можно найти (используется ISO 639-1), и
Например так добавляется поддержка английского языка для плагина: nameofplugin группы content:
<languages> <language tag="en-GB">en-GB.plg_content_nameofplugin.ini</language> </languages>
Ещё, конечно не обязательно, но вы можете добавить какие то параметры для настройки плагина:
<params> <param name="paramname" type="typeofparameter" default="defaultsetting" label="title" description="description"/> </params>
- name: имя параметра. Это вы будете отлавливать далее в PHP коде.
- type: это можно выбрать между несколькими типами параметров. Существующие типы параметров можно посмотреть но при желании можно создать и свои.
- default: установка значения по умолчанию для этого параметра.
- label: html – лейбл параметра, который отображается в настройках плагина.
- description: текст, который появляется как всплывающая подсказка для этого параметра.
Атрибуты xml-элемента <param/>
Если у вашего плагина нет параметров, то добавьте просто пустой xml-элемент:
<params />
И не забывайте заканчивать свой XML файл следующим xml-элементом:
</install>