Заголовок модуля в виде ссылки в 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-код. Суть: скрыть заголовок модуля в настройках, а в коде содержимого модуля над содержимым сделать нужный заголовок.

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

  • 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 Кирилл:

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

  • 14.02.2012 Денис:

    Нашел еще один очень простой способ. Идем в phpmyadmin и ищем в БД своего сайта таблицу jos_modules. В столбце title находим название нужного модуля, жмем изменить и редактируем <a>Название</a>

  • 01.04.2012 Виктор:

    Добрый день, выполнил все сказанное, не могу понять вот это:

    Далее в блоках вывода модулей необходимо вписать нужный стиль отображения, например так:

    Где эти блоки куда и что вписывать,

    Спасибо

    • 02.04.2012 Кирилл:

      Привет, в index.php вашего шаблона (.../templates/vash_shablon/index.php).

      • 13.04.2012 Виктор:

        Большое спасибо, все получилось

  • 08.02.2013 Макс:

    У меня пропал стиль моего заголовка, а так все получилось... работал с модулем под названием «География пользователей» в низу моего сайта, не подскажете как вернуть стиль? Я понял что класс поменял, и переделал старый его стиль уже с новым класом, но он его не подхватил. Что делать?

  • 18.02.2013 Кирилл:

    На вскидку только восстановить модуль из бэкапа/скачанного архива. И попробовать сделать все еще раз.


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

 css.php