Joomla 1.5: Создание плагинов группы Content

Joomla 1.5: Создание плагинов группы Content

У плагинов группы 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">

Как и требуют правила XML — элемент install является корневым, единственным, а так же в нём присутствуют атрибуты:

  • version — определяет, что расширение для версии 1.5
  • type — определяет, что тип расширения — плагин
  • group — определяет, что плагин относится к группе content

Далее можно добавить информацию о себе и непосредственно о  плагине:

 

<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>

Атрибуты xml-элемента <param/>

  • name: имя параметра. Это вы будете отлавливать далее в PHP коде.
  • type: это можно выбрать между несколькими типами параметров. Существующие типы параметров можно посмотреть здесь но при желании можно создать и свои.
  • default: установка значения по умолчанию для этого параметра.
  • label: html – лейбл  параметра, который отображается в настройках плагина.
  • description: текст, который появляется как всплывающая подсказка для этого параметра.

Если у вашего плагина нет параметров, то  добавьте просто пустой xml-элемент:

<params />

И не забывайте заканчивать свой XML файл следующим xml-элементом:

</install>

 

Возможно Вас заинтересуют эти материалы

Joomla 1.5: Отправка почты.

В этой заметке рассказано о том, как отправлять почту, используя механизмы предоставленные Joomla 1.5 (

Joomla 1.5: Пагинация.

Класс JPagination, представленный в Joomla! 1.5, позволяет легко, и просто добавлять постраничную навигацию - пагинацию

Joomla 1.5: Система событий.

Joomla 1.5 имеет систему событий, основанную на реализации шаблона проектирования Observer. И эта система очень неплохо