В Joomla 1.5 добавлена возможность создавать свои форматы вывода модулей. Для этого нужно создать файл modules.php в директории "html" шаблона. Вот полный путь:
PATH_TO_JOOMLA/templates/TEMPLATE_NAME/html/modules.php
Допустим, мы хотим создать формат вывода модуля mystyle. Тогда в файле modules.php нужно записать функцию modChrome, окончание которой должно совпадать с именем нашего формата вывода модуля. Эта функция будет принимать три аргумента: $module, $params, $attribs
<?php
function modChrome_mystyle( $module, $params, $attribs )
{
/* Тело функции */
}
?>
В рамках этой функции вы можете использовать любое из доступных свойств модуля, но наиболее распространенные из них это $module->content, $module->showtitle и $module->title
$module->title - выводит заголовок модуля
$module->content - выводит тело модуля
$module->showtitle - дает информацию о том, нужно ли выводить заголовок модуля или нет
Вот так, например, можно проверять, включен ли показ заголовка в модуле, и если да то функция включет его в тег <h2>
<?php
if ($module->showtitle)
{
echo '<h2>' .$module->title .'</h2>';
}
?>
Доступ к параметрам модуля осуществляется с помощью аргумента $params. Например, суфикс класса модуля хранится в переменной $params->get( 'moduleclass_sfx' ); . Вот так можно использовать этот параметр для вывода модуля в теге <div> с классом, который записан в параметрах конкретного модуля:
<div class="<?php echo $params->get( 'moduleclass_sfx' ); ?>">
<!-- div contents -->
</div>
Кроме того, можно задавать атрибуты непосредственно в файле index.php шаблона в теге вызова модулей <jdoc:include />. Эти дополнительные атрибуты хранятся в массиве $attribs
Рассмотрим пример собственной функции вывода модулей modChrome_mystyle:
<?php
function modChrome_mystyle( $module, $params, $attribs ) {
if (isset( $attribs['headerLevel'] ))
{
$headerLevel = $attribs['headerLevel'];
} else {
$headerLevel = 3;
}
if (isset( $attribs['background'] ))
{
$background = $attribs['background'];
} else {
$background = 'blue';
}
echo '<div class="module' .$params->get( 'moduleclass_sfx' ) .'" >';
if ($module->showtitle)
{
echo '<h' .$headerLevel .'>' .$module->title .'</h' .$headerLevel .'>';
}
echo '<div class="' .$background .'">';
echo $module->content;
echo '</div>';
echo '</div>';
}
?>
В данном случае мы имеем возможность в теге вызова модулей <jdoc:include /> указать уровень заголовка headerLevel и цвет фона background. Если параметры не обявлены, то по умолчанию их значения будут 3 и blue.Ниже приведены примеры использования вызова данной функции:
| <jdoc:include />обявления | Результат |
| <jdoc:include type="modules" name="left" style="mystyle" /> | <div class="module"> <h3><!-- Название модуля --></h3> <div class = "blue"> <! - Содержание модуля -> </div> </div> |
| <jdoc:include type="modules" name="left" style="mystyle" background="green"/> | <div class="module"> <h3><!-- Название модуля --></h3> <div class = "green"> <! - Содержание модуля -> </div> </div> |
| <jdoc:include type="modules" name="left" style="mystyle" background="red" headerLevel="1"/> | <div class="module"> <h1><!-- Название модуля --></h3> <div class = "red"> <! - Содержание модуля -> </div> </div> |



















Админ если подскажешь где руссификацию найти под н...