Заголовок модуля в виде ссылки в Joomla 1.5.x

Зачастую появляется желание сделать заголовок модуля ссылкой.

Реализовать это в Joomla 1.5.x довольно просто:

  • Найти файл /templates/имя_шаблона/html/modules.php. Насколько я понял он отвечает за стили отображения модулей.
  • Добавить в него функцию следующего вида:
    <?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;
    }
    ?>
    , где $module->id == 43 — id модуля, для которого вы хотите сделать заголовок в виде ссылки.
  • Как видите модулей в условии может быть несколько, а все не упомянутые выводятся в обычном режиме.

  • Далее в блоках вывода модулей необходимо вписать нужный стиль отображения, например так:
    <jdoc:include type="modules" name="left" style="xhtmlwithlink" />

2-ой метод:
Метод годится только для модулей содержащих произвольный html/javascript-код. Суть: скрыть заголовок модуля в настройках, а в коде содержимого модуля над содержимым сделать нужный заголовок.

Комментариев: 8

  • 23.09.2010 Jon:

    Подскажите а блоки вывода модулей где находятся?:)))

  • 23.09.2010 Кирилл:

    В файле index.php шаблона Joomla-сайта.

  • 08.03.2011 Дмитрий:

    Спасибо! Очень пригодилась статья. Разместил ссылку на своём бложке

  • 01.05.2011 Роман:

    А если нет файла modules.php в папке шаблона? каким образом тогда поступить

    • 01.05.2011 Кирилл:

      Попробуйте подложить из стандартного шаблона RHUK Milkyway template.

  • 25.01.2012 мир:

    здравствуйте! есть тут кто живой? у меня вопросик есть по теме: сделал как в Вашей статье но в результате продублировались все названия и все модули на странице сначала с ссылками потом без них. ответьте пожалуйста!

    • 26.01.2012 Кирилл:

      Исходя из текущей информации советую вам вернуть все изменения, т.к. вариантов причин дублей несколько.


Добавление комментария: