Параметры расширений Joomla! 1.5 и их использование

  • Понедельник, 28 сентября 2009

При написании своих расширений зачастую требуется внести некие ветвления функциональности продукта определяемые извне (из административной части расширения).
Создание параметров, их типов и имен осуществляется с помощью описания их в XML-файле расширения и последующего использования внутри расширения.

Параметры описанные в XML-файле шаблона/модуля/плагина/компонента действуют одинаково.
Разнятся лишь методы вызова параметров внутри расширения.

Разберем основные атрибуты параметра
Например


name="jtsimple"
Имя передаваемого параметра (в данном случае - jtsimple).

type="text"
Тип параметра (подробно о типах ниже).

default="type text here"
Значение по умолчанию (в данном случае type text here).

description="No description"
Описание поля, выводится при наведении в текстовом блоке (см. ниже)
Всплывающая подсказка к атрибуту DESCRIPTION

Описания типов.
Описанные ранее атрибуты упоминаться будут, только если только в этом возникнет необходимость


{mospagebreak title=Календарь}

1. Календарь


format="%d-%m-%Y"
Это формат даты, соответствующий формату используемому в функции PHP strftime

Календарь
{mospagebreak title=Категория}

2. Категория



Дополнительным, но необязательным атрибутом является section
Если он присутсвует, то в выпадающем списке присутствуют категории только из указанного раздела (рис. 1.1)
В случае если атрибут отсутствует, выводятся все категории с указанием разделов (рис. 1.2)

Выпадающий список категорий
{mospagebreak title=Редактор}

3. Редактор


Выбор визуального редактора. Отображаются все редакторы установленные на сайте

Выбор редактора
{mospagebreak title=Список файлов}

4. Список файлов


Специфичные, но необязательные, для этого параметра атрибуты:
directory - папка относительно корня сайта(при отсутствии атрибута используется корень сайта).
filter - фильтр (для фильтрации используются регулярные выражения).
exclude - исключенные файлы (для исключения используются регулярные выражения).
Сначала срабатывает фильтр, затем из оставшегося производится исключение.
stripext - скрывать расширение файла (0,пустое значение или отсутствие атрибута - не скрывать[на картинке слева], 1 - скрывать[на картинке справа]).
hide_none - скрывать -Не использовать- в выпадающем списке(0,пустое значение или отсутствие атрибута - не скрывать, 1 - скрывать).
hide_default - скрывать -Использовать по умолчанию- в выпадающем списке(0,пустое значение или отсутствие атрибута - не скрывать, 1 - скрывать).

Список файлов
{mospagebreak title=Список директорий}

5. Список директорий


Полностью аналогичен списку файлов.
Исключение составляет атрибут stripext, который в контексте директории не имеет смысла.


{mospagebreak title=Сайт помощи}

6. Сайт помощи


Выбор сайта справки.
Список сайтов хранится в /administrator/help/helpsites-15.xml

Список сайтов справки
{mospagebreak title=Скрытый параметр}

7. Скрытый параметр


Данный параметр аналогичен полю типа hidden в HTML формах.


{mospagebreak title=Список изображений}

8. Список изображений


Отображаются файлы с расширениями .png, .gif, .jpg, .bmp, .ico
Во всем остальном параметр аналогичен filelist


{mospagebreak title=Локализация}

9. Локализация


Выбор языка.
В обязательном атрибуте client могут использоваться значения site и administrator, устанавливая значения локализации для сайта и админ-панели сооответственно

Список доступных языков
{mospagebreak title=Список}

10. Список


    
    

Список предопределенных параметров.

Список
{mospagebreak title=Список меню}

11. Список меню


Список всех меню на сайте.

Список меню
{mospagebreak title=Список пунктов меню}

12. Список пунктов меню


список всех пунктов меню сайта сгрупированный по имени меню.

Список меню
{mospagebreak title=Пароль}

13. Пароль


Текстовое поле закрываемое "звездочками".

Пароль
{mospagebreak title=Радиокнопка}

14. Радиокнопка


    
    
    

Радиопереключатель.

Радиопереключатель
{mospagebreak title=Разделы}

15. Разделы


Отображает список разделов сайта

Разделы
{mospagebreak title=Разделитель}

16. Разделитель



Атрибут default не является обязательным. Но при его использовании можно вместо разделителя выводить текст.
Сверху без default, снизу с закодированными HTML тегами.

Разделитель
{mospagebreak title=SQL}

17. SQL

Данный список формируется посредством SQL запроса указанного в атрибуте query
Возможны несколько типов формирования списка:
1. MySQl запрос должен вернуть список пар результатов с названиями полей value(значение) и значением атрибута name

 

2. Запрос формируется как нам удобно, а поля значения/текста указывается в дополнительных атрибутах key_field и value_field

В запросах можно использовать всю силу MySQL. Например запрос из реального модуля.
query="SELECT `id` as `value`, CONCAT(`name`, ' - ', `menutype` ) as `useItemid` FROM `#__menu` WHERE `link` LIKE '%index.php?option=com_virtuemart%' UNION SELECT '0' AS `value`, '-= Autoselect =-' as `useItemid` ORDER BY `useItemid`"

{mospagebreak title=Текст}

18. Текст


Текстовое поле ввода.
Атрибут size задает ширину поля в символах
class - добавляет класс CSS к полю

Текстовое поле
{mospagebreak title=Текстовое поле}

19. Текстовое поле


Многострочное текстовое поле.
Атрибут cols задает ширину поля в символах
rows - задает высоту поля в строках class - добавляет к полю CSS класс

Многострочное текстовое поле
{mospagebreak title=Часовой пояс}

20. Часовой пояс


Отображает временные зоны.

Часовой пояс
{mospagebreak title=Пользовательские группы}

21. Пользовательские группы


Отображает пользовательские группы.

Пользовательские группы

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla