Синтаксис вывода модулей в файле index.php шаблона следующий:
<jdoc:include type="modules" name="LOCATION" style="OPTION" />
параметр type="modules" сообщает, что выводится именно модуль
параметр name="LOCATION" указывает позицию модуля
параметром style="OPTION" определяется оформление модуля. Необязательный параметр.
По-умолчанию в Joomla 1.5 определены такие форматы вывода модулей:
- style="table" (В joomla 1.0 равен "0")
- style="horz" (В joomla 1.0 равен "1")
- style="none" (В joomla 1.0 равен "-1". Если параметр style не указан, выводится по умолчанию)
- style="xhtml" (В joomla 1.0 равен "-2")
- style="rounded" (В joomla 1.0 равен "-3")
- style="outline" (новый - используется для превью позиций модуля в шаблоне)
Параметр style не обязательный, его варианты задаются в templates/system/html/modules.php с помощью функции modChrome.
style="table" - выводит содержание модуля в ячейке таблицы.
Синтаксис функции modChrome_table в файле modules.php:
function modChrome_table($module, &$params, &$attribs)
{ ?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
<!-- $params->get('moduleclass_sfx'); выводит установленный в модуле суффикс класса модуля, например "_menu" -->
<?php if ($module->showtitle != 0) : ?> <!-- проверяет, выводить ли заголовок в модуле -->
<tr>
<th valign="top">
<?php echo $module->title; ?> <!-- выводит заголовок модуля -->
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?> <!-- выводит контент модуля -->
</td>
</tr>
</table>
<?php
}
Пример 1.
Вот так будет выглядеть HTML-код модуля в шаблоне с установленным суффиксом класса модуля "_menu" и с включенной опцией вывода заголовка модуля:
<table cellpadding="0" cellspacing="0" class="moduletable_menu">
<tr>
<th valign="top">
Заголовок модуля
</th>
</tr>
<tr>
<td>
Контент модуля
</td>
</tr>
</table>
Пример 2.
Вот так будет выглядеть HTML-код модуля в шаблоне без установленного суффикса класса модуля и с выключенной опцией вывода заголовка модуля:
<table cellpadding="0" cellspacing="0" class="moduletable">
<tr>
<td>
Контент модуля
</td>
</tr>
</table>
style="horz" - выводит содержание модуля в ячейке таблицы так, как в варианте style="table", который заключен в еще одну таблицу с шириной 100% и промежутком между ячейками "1".
Синтаксис функции modChrome_horz в файле modules.php:
function modChrome_horz($module, &$params, &$attribs)
{ ?>
<table cellspacing="1" cellpadding="0" border="0" width="100%">
<tr>
<td valign="top">
<?php modChrome_table($module, $params, $attribs); ?>
</td>
</tr>
</table>
<?php
}
Пример 1.
Вот так будет выглядеть HTML-код модуля в шаблоне с установленным суффиксом класса модуля "_menu" и с включенной опцией вывода заголовка модуля:
<table cellspacing="1" cellpadding="0" border="0" width="100%">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" class="moduletable_menu">
<tr>
<th valign="top">
Заголовок модуля
</th>
</tr>
<tr>
<td>
Контент модуля
</td>
</tr>
</table>
</td>
</tr>
</table>
Пример 2.
Вот так будет выглядеть HTML-код модуля в шаблоне без установленного суффикса класса модуля и с выключенной опцией вывода заголовка модуля:
<table cellspacing="1" cellpadding="0" border="0" width="100%">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" class="moduletable">
<tr>
<td>
Контент модуля
</td>
</tr>
</table>
</td>
</tr>
</table>
style="none" - заставляет модули отображаться в «чистом» виде, не содержащем элементы или заголовки
Синтаксис функции modChrome_none в файле modules.php:
function modChrome_none($module, &$params, &$attribs)
{
echo $module->content;
}
style="xhtml" - заключает содержимое модуля в тег <div>, а заголовок в тег <h3>
Синтаксис функции modChrome_xhtml в файле modules.php:
function modChrome_xhtml($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
Пример 1.
Вот так будет выглядеть HTML-код модуля в шаблоне с установленным суффиксом класса модуля "_menu" и с включенной опцией вывода заголовка модуля:
<div class="moduletable_menu">
<h3>Заголовок модуля</h3>
Контент модуля
</div>
Пример 2.
Вот так будет выглядеть HTML-код модуля в шаблоне без установленного суффикса класса модуля и с выключенной опцией вывода заголовка модуля:
<div class="moduletable">
Контент модуля
</div>
style="rounded" - заставляет модули отображаться в формате, который позволяет создавать растягиваемые скругленные углы. Если задан этот вариант style, то класс блока div изменяется с «moduletable» на «module».
function modChrome_rounded($module, &$params, &$attribs)
{ ?>
<div class="module<?php echo $params->get('moduleclass_sfx'); ?>">
<div>
<div>
<div>
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
</div>
</div>
</div>
<?php
}
Пример 1.
Вот так будет выглядеть HTML-код модуля в шаблоне с установленным суффиксом класса модуля "_menu" и с включенной опцией вывода заголовка модуля:
<div class="module_menu">
<div>
<div>
<div>
<h3>Заголовок модуля</h3>
Контент модуля
</div>
</div>
</div>
</div>
Пример 2.
Вот так будет выглядеть HTML-код модуля в шаблоне без установленного суффикса класса модуля и с выключенной опцией вывода заголовка модуля:
<div class="module">
<div>
<div>
<div>
Контент модуля
</div>
</div>
</div>
</div>
style="outline" - служебный стиль. Используется для предпросмотра позиций модулей в шаблоне.
Чтобы вызвать предпросмотр на сайте, нужно к домену сайта прибавить ?tp=1
Например, для просмотра позиций модулей на моем сайте нужно пройти по ссылке:
http://joomla-school.com/?tp=1






