Просмотры
Материал из База знаний Joomla.
Это статья из раздела Программирование для Joomla. Вернитесь в него для более полной информации.
<?xml version="1.0" encoding="windows-1251"?> <mosinstall type="component" version="4.5.2"> <name>xcomponent</name> <author>Имя Автора</author> <files> <filename>xcomponent.php</filename> <filename>…</filename> </files> <install> <queries> <query> CREATE TABLE IF NOT EXISTS `#__xxx` ( `id` BIGINT UNSIGNED NOT NULL auto_increment PRIMARY KEY, `title` VARCHAR(255) NOT NULL, `description` BLOB NOT NULL ) TYPE=MyISAM; </query> </queries> </install> <administration> <menu>XComponent</menu> <submenu> <menu task="">Default task</menu> <menu task="list">List Smth</menu> </submenu> <files> <filename>admin.xcomponent.html.php</filename> <filename>admin.xcomponent.php</filename> <filename>xcomponent.xml</filename> <filename>toolbar xcomponent.html.php</filename> <filename>toolbar.xcomponent.php</filename> </files> </administration> <params> <param name="param_1" type="list" default="1" label="Описание параметра" description="Подсказка для параметра"> <option value="1">Опция 1</option> <option value="2">Опция 2</option> <option value="3">Опция 3</option> </param> <param name="param_2" type="text" default="" label="Описание" lenght="10" description="подсказка"/> </params> </mosinstall>
Выше приведен примерный вид XML-файла для компонента. Разберем его основные секции:
- Mosinstall – корневой тэг, обозначающий, что это расширение именно для Joomla (или Mambo). Его атрибуты:
- Type – тип расширения (компонент, модуль, мамбот или шаблон)
- Version – устаревший и нигде не принимаемый во внимание тэг версии Mambo/Joomla.
- Name, Author и другие тэги – авторство, лицензия, описание и домашняя страница расширения в интернете.
- Секция Files перечисляет файлы, копируемые во фронт часть компонента. Могут быть скопированы не только файлы, но и директории и файлы внутри этих директорий. Директории создаются автоматически.
- Секция Install по сути может содержать только запросы, выполняемые при установке компонента после копирований всех файлов. В приведенном примере создается таблица xxx с необходимым префиксом (“#__” это макрос, который автоматически заменяется на записанный в конфигурации префикс таблиц для данной установки Joomla).
- Секция Administration содержит:
- Описание создаваемого меню и подменю для навигации в административной части компонента. Каждый подпункт меню отличается от других посредством атрибута task (при вызове компонента значение атрибута подставляется в соответствующую переменную в адресе URL).
- Файлы, копируемые в административную часть компонента. Стандартно (так общепринято со времен компонентов для Mambo) эта часть состоит из пяти файлов:
- admin.xcomponent.php – содержит основную логику работы компонента. Файл обязателен.
- admin.xcomponent.html.php – содержит функции вывода результатов работы пользователю. Файл не обязателен.
- xcomponent.xml – в xml-файле может присутствовать секция uninstall (не описана выше, идентична секции install) в которой могут быть описаны запросы, удаляющие таблицы при удалении расширения. Если xml-файл не будет найден – компонент удалить не получится.
- toolbar.xcomponent.php – содержит код, управляющий логикой вывода навигации компонента на Toolbar. Файл обязателен.
- toolbar xcomponent.html.php – выводит навигацию, определенную в файле toolbar.xcomponent.php. Файл не обязателен.
- Секция params содержит:
- параметры доступные при редактировании пункта меню для вашего компонента.
- name - название параметра
- type - тип параметра(может быть например list,text,radio )
- default - значение по умолчанию
- label - описание параметра
- description - всплывающая подсказка
- параметры доступные при редактировании пункта меню для вашего компонента.
В самом компоненте обратиться к параметрам пункта меню можно при помощи следующей конструкции:
$menu =& new mosMenu( $database ); $menu->load( $Itemid ); $params =& new mosParameters( $menu->params ); $params->def( 'param_1', 1 );//проверяем заданы ли параметры, если нет то $params->def( 'param_2', 0 );//заносим в них значения по умолчанию(второй параметр def()); $param_1=$params->get('param_1');//получаем значение параметра в нужном месте компонента $param_2=$params->get('param_2');
[править]
См. также
К этой странице обращались 32 707 раз(а).
Последнее изменение этой страницы: 15:10, 27 марта 2009.
Последнее изменение этой страницы: 15:10, 27 марта 2009.
Copyright © 2007-2011, Joomla-Docs.ru



