Часть 2 Добавление шаблона и параметров
В предыдущей части был рассмотрен пример самого простого модуля. В этой части добавим к модулю шаблон отображения содержимого.
Для того что бы добавить макет (шаблон), нужно внести изменения в основной файл (точку входа)
mod_helloworld.php
<?php /** * @package Joomla.Tutorials * @subpackage Module * @copyright (C) 2012 http://jomla-code.ru * @license License GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access to this file defined('_JEXEC') or die; require JModuleHelper::getLayoutPath('mod_helloworld', $params->get('layout', 'default'));
Как видно из кода здесь задействованы параметры модуля (объект $params). Имя используемого параметра имеет значение "layuot" и по умолчанию ему присваивается значение "default". Это означает что по умолчанию вывод будет осуществляться файлом mod_helloworld/tmpl/default.php
tmpl/default.php
<?php /** * @package Joomla.Tutorials * @subpackage Module * @copyright (C) 2012 http://jomla-code.ru * @license License GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access to this file defined('_JEXEC') or die; ?> <div>Отображение шаблона модуля</div>
Установка параметров для модуля
Параметры для модуля можно задать в XML файле описания модуля.
mod_helloworld.xml
<?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5.0" method="upgrade"> <!-- Названия модуля --> <name>mod_helloworld</name> <!-- Следующие элементы являются не обязательными, информация об авторе, копирайте и т.п. --> <creationDate>November 2010</creationDate> <author>SomeBody</author> <authorEmail>email@example.org</authorEmail> <authorUrl>http://www.joomla-code.ru</authorUrl> <copyright>Copyright Info</copyright> <license>License Info</license> <!-- Версия модуля запишется в БД таблица extension --> <version>0.0.1</version> <!-- Описание, не обязательно, по умолчанию использеуется имя модуля --> <description>helloworld description</description> <!-- Обратите внимание на атрибут folder, он указывает из какой директории будут копироваться файлы --> <files> <filename module="mod_helloworld">mod_helloworld.php</filename> <filename>mod_helloworld.xml</filename> <filename>index.html</filename> <folder>tmpl</folder> </files> <config> <fields name="params"> <!-- Основные параметры для модуля --> <fieldset name="basic"> </fieldset> <!-- Дополнительные параметры для модуля --> <fieldset name="advanced"> <field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" /> </fieldset> </fields> </config> </extension>
Добавляется один параметр "layuot", с типом "modulelayout" (подробнее о типах параметров), который позволит выбирать соответствующий макет для модуля. Обратите так же внимание, что в описание добавляется директория "tmpl" с файлом макета, который используется по умолчанию.
15
Комментарии
30.10.2012 17:40
mod_hello 1 mod_hello Только выбранные Для всех Russian (RU) 91
(в разделе "только выбранные" - "Главная").
Куда выводятся изменения? я не вижу никаких изменений...
21.11.2012 21:54
автору огромное спасибо, побольше таких статей и больше примеров
05.08.2013 20:49
25.12.2013 12:45
Не подскажете как динамически создавать параметры для модуля. Например, для слайдера изображений в админке после нажатии на кнопку "+" добавляется поле с выбором изображения
16.03.2015 10:54
RSS лента комментариев этой записи