Блог старого компьютера

Блог старого компьютера


Главная Joomla Типы XML параметров Joomla и пример их использования

Типы XML параметров Joomla и пример их использования

22.01.2013 03:13 Администратор Joomla
Печать PDF
Чем больше работаю с движком joomla тем больше нового узнаю. Сегодня я хочу написать про типы xml параметров joomla. Думаю все мы встречали в каком нибудь компоненте либо модуле xml файл. Зачастую он был установочным, а бывало что он для какого то вида просто описывал настройки пункта меню. Тут нет разницы какой у нас xml файл так как все они поддерживают абсолютно одинаковые параметры. Как оказалось этих параметров существенно больше чем я думал. И те типы параметров которые я нашел  я постараюсь описать в данной теме.  
  • calendar — выводит текстовое поле для вывод даты, при нажатии на занчек выплывает календарь для выбора даты. 
  • category —  выводит список категорий
  • filelist — выводит список файлов для определенной категории.
  • folderlist — выведет список папок для определенной категории.
  • helpsites — на сколько я понял выводит список сайтов помощи.
  • textarea — выводит  поле для ввода многострочного текста.
  • hidden — выводит скрытое поле значение которого нельзя изменить.
  • imagelist — выводит список изображений в виде выпадающего меню.
  • section — выведет  список разделов  сайта.
  • languages — отображает список установленных в системе языков.
  • list — выведет список пунктов меню, которые определены пользователем.
  • radio — выведет кнопку-переключатель типа «radio».
  • menu — выведет список с перечислыенными меню.
  • menuitem — выведет список всех достыпных пунктов меню.
  • password — выведет простое поле для ввода пароля, введенные символы заменяются на звездочки.
  • radio — выведет кнопку-переключатель типа «radio».
  • usergroup — выводит список групп пользователей.
  • spacer — некий элемен оформления. Который показывает линию, применяется для разграничения параметров.
  • sql — выводит список, в котором отображаются названия sql-запросов в базу данных.
  • text — выводит самое обычное  однострочное текстовое поле.
  • editors — выводит список установленных в системе редакторов.
  • timezones — выводит список часовых поясов.

Не отрицаю что возможно есть и другие типы параметров, если вы о них сообщите с удовольствием их добавлю.

И так для каждого типа параметров есть атрибуты, одни из них обязательные другие нет

  1. type — название типа поля.
  2. name — уникальное имя поля.
  3. description — всплывающая подсказка.
  4. label — название поля.
  5. default — значение поля по умолчанию.
  6. class — имя CSS класса, которое будет использоваться при выводе поля в html-код. По умолчанию класс inputbox. 

Первые 4 параметра являются обчзательными.

Все эти параметри после сохранения записываются в настройки, модуля либо того обекта с каким они выведены, и хранятся в базе данных

Пример работы с xml параметрами joomla

Предположим что вам необходимо написать компонент при создании пункта на который выводилось бы поле для выбора категории. Для этого создаем как обычно компонент и в папку (заметьте я указал для примера папку уже установленного компонента, для установочного файла она будет несколько другой) /components/com_mycomponent/views/mycomponent/tmpl/ кладем xml файл с таким же названием как и файл описывающий его вид. У меня это default.xml.

Содержание файла у меня вот такое (в нем не только поле для вывода категории но и еще некоторые нужные мне, я их вытащил из файла com_content):

<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Category Blog Layout">
<message>
<![CDATA[CATEGORY BLOG LAYOUT DESC]]>
</message>
</layout>
<state>
<name>Category Blog Layout By Years</name>
<description>CATEGORY BLOG LAYOUT DESC</description>
<url>
<param name="id" type="category" label="Category" description="Choose a category..." />
</url>
<params>
<param name="show_description" type="radio" default="0" label="Description" description="Show/Hide the Category Description">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="show_description_image" type="radio" default="0" label="Description Image" description="Show/Hide the Category Description">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="@spacer" type="spacer" default="" label="" description="" />
<param name="num_leading_articles" type="text" size="3" default="1" label="Num Leading" description="PARAMLEADING" />
<param name="num_intro_articles" type="text" size="3" default="4" label="Num Intro" description="PARAMINTRO" />
<param name="num_columns" type="text" size="3" default="2" label="Columns" description="PARAMCOLUMNS" />
<param name="num_links" type="text" size="3" default="4" label="Num Links" description="Number of Items to display as Links." />
</params>
</state>
</metadata>

 Содержание данного файла конечно отличается от установочного, но работа с параметрами ничем не отличается. В итоге при таком содержании xml файла я вижу настройки которые изображены на головном изображении темы.

Как получить значение параметра из пункта меню?

id категории можно получить так (это значение не пишется в сами параметры а дописывается к полю link в базе данных):

$id = JRequest::getVar('id', NULL);

 Другие параметры можно получить так:

$params = JComponentHelper::getParams ('com_mycomponent');
$item_on_page=$params->get('num_intro_articles');

 Вот вроде и все. Так же на сколько я знаю в joomla версии 2.5, а может быть и в версии 1.6 есть параметр с типом media который выводит блок для выбора изображения.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела