Печать

Часть 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>Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.</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" с файлом макета, который используется по умолчанию.

Интересная статья? Поделись ей с другими: