Зачастую появляется желание сделать заголовок модуля ссылкой.
Реализовать это в Joomla 1.5.x довольно просто:
- Найти файл /templates/имя_шаблона/html/modules.php. Насколько я понял он отвечает за стили отображения модулей.
- Добавить в него функцию следующего вида:
, где $module->id == 43 — id модуля, для которого вы хотите сделать заголовок в виде ссылки.
<?php function modChrome_xhtmlwithlink($module, &$params, &$attribs) { $headerLevel = "3"; if (!empty ($module->content)) : ?> <div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>"> <?php if ($module->showtitle) : ?> <?php if($module->id == 43) : ?> <h<?php echo $headerLevel; ?>> <a href="любая_ссылка"> <?php echo $module->title;?> </a> </h<?php echo $headerLevel; ?>> <?php elseif($module->id == 56) : ?> <h<?php echo $headerLevel; ?>> <a href="любая_ссылка"> <?php echo $module->title;?> </a> </h<?php echo $headerLevel; ?>> <?php elseif($module->id == 46) : ?> <h<?php echo $headerLevel; ?>> <a href="/articles/faqs/"> <?php echo $module->title;?> </a> </h<?php echo $headerLevel; ?>></br> <?php else : ?> <h<?php echo $headerLevel;?>> <?php echo $module->title; ?> </h<?php echo $headerLevel; ?>> <?php endif; ?> <?php endif; ?> <?php echo $module->content; ?> </div> <?php endif; } ?>
- Далее в блоках вывода модулей необходимо вписать нужный стиль отображения, например так:
<jdoc:include type="modules" name="left" style="xhtmlwithlink" />
Как видите модулей в условии может быть несколько, а все не упомянутые выводятся в обычном режиме.
2-ой метод:
Метод годится только для модулей содержащих произвольный html/javascript-код. Суть: скрыть заголовок модуля в настройках, а в коде содержимого модуля над содержимым сделать нужный заголовок.