Блог старого компьютера

Блог старого компьютера


Главная Joomla Заголовок модулей Joomla

Заголовок модулей Joomla

07.11.2012 15:30 Администратор Joomla
Печать PDF

Как оказалось многих начинающих верстальщиков под joomla интересует вопрос о том как вывести заголовок модуля на страницу сайта. Некоторые из них даже ссылаются на ошибку в работе движка поскольку пункт "Показывать заголовок" включен, а заголовок модуля не выводится. Так вот в данной статье покажу и расскажу как вывести заголовок  модуля.

 Так вот у тегов шаблонизатора движка joomla которые отвечают за вывод модулей в определенную позицию может быть не 2 параметра (type, name) как многие привыкли, а 3 или даже 4. Третьим параметром как правило идет параметр style который и стилизует вывод модуля. К примеру для наглядности создадим позицию для вывода модуля, к примеру такую:

<jdoc:include type="modules" name="news" style="youStyle"/>

 Как видно в примере выше задан параметр style, но все равно заголовок не выводится. Все правильно, указанный стиль нужно описать. То есть изменить вид вывода модуля который имеет этот стиль. Для этого как нам изместно (если конечно известно, примеры этого можно посмотреть в стандартных шаблонах joomla) в папке с шаблоном создается папка html. Путь до нее чтоб было понятнее /templates/ваш_шаблон/html.

 В этой папке создаем файл modules.php с содержанием следующего php кода:

function modChrome_youStyle($module, &$params, &$attribs){
if (!empty ($module->content)) : ?>
<div class="moduletableget('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="name-block"><?php echo $module->title; ?></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}

Вот после добавления в папку html файла с таким кодом заголовок начинает выводится. Как видно из кода он получает нужные параметры модуля и исходя из них формирует его вывод. Обвязку модуля можно поправить под себя и оформить css стилями. У меня получилось такое:

 

Вот вроде бы и все, но нет, остался еще один параметр (attribs). Захотелось например мне добавить возможность добавить что нибудь к выводу модуля, например значек стрелочки, или даже два значка.

Добавлю в позицию модуля пару атрибутов:

<jdoc:include type="modules" name="news" style="youStyle" add="=> " andadd=" <="/>

Как видите строчка измениласть. Помимо стиля добавились еще два атрибута (названия атрибутов могут быть какими угодно, и  их может быть так же сколько угодно).

Для того чтоб модуль начал понимать атрибуты несколько доработаю свой php код:

function modChrome_youStyle($module, &$params, &$attribs)
{
$add = $attribs['add'];
$andadd = $attribs['andadd'];
if (!empty ($module->content)) : ?>
<div class="moduletableget('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="name-block"><?php echo $add; ?><?php echo $module->title; ?><?php echo $andadd; ?></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}

 Что я добавил в код думаю пояснять не нужно. В итоге получаю такое отображение на странице:

Конечно пример с вот этими стрелочками не имеет право на жизнь так как является глупым, и сами эти стрелочки мы можем добавить в заголовок модуля, но на этом примере я думаю будет понятна та суть что модулю можно передать определенные параметры, а уж что вы в них передадите и как будете использовать это дело вашей фантазии или необходимости.

Так же хочу заметить что таким образом в php файле modules.php можно прописать не один стиль для модулей, а столько сколько необходимо. И уже в шаблоне каждому назначать свой стиль.

Вот такие вот возможности дает нам joomla, а сколько еще всего интересного в ней о чем мы просто не знаем....

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела