При создании шаблона я очень часто использую свой вывод html кода. Оформляю его как угодно, назначаю классы какие сам захочу. Итак, как этого добиться расскажу в этой статье. Для начала стоит обратить внимание на папку html, которая лежит в папке с шаблоном. Там и находится все файлы, отвечающие за генерацию html кода, который увидит конечный пользователь.
В самом корне папки html создаем файл modules.php
<?php // no direct access defined('_JEXEC') or die('Restricted access'); function modChrome_jsright( $module, $params, $attribs ) { echo '<div class="module' .$params->get( 'moduleclass_sfx' ) .'" >'; if ($module->showtitle) {echo '<h3>'.$module->title .'</h3>';} echo '<div class="mod-content">'; echo $module->content; echo '</div>'; echo '</div>'; } |
Внимание на строчку:
function modChrome_jsright( $module, $params, $attribs )
jsright — это будет наш стиль вывода модуля. После этого мы проверяем вывод заголовка, и выводим текст модуля, заключенный в блок с классом mod-content
Теперь в коде шаблона, где выводится левая колонка вставляем код:
//Проверяем выводится ли что-нибудь в позиции left <?php if($this->countModules('left')) { ?> <div id="rightcol"> <jdoc:include type="modules" name="left" style="jsright"/> <!-- Обращаем внимание на jsright --> </div><!--/end rightcol--> <?}?> |
Мы сделали, чтобы все модули в позиции left, выводились следующим образом:
<div class="module"> <h3>Заголовок модуля</h3> <div class="mod-content"> текст в модуле </div> </div> |
Также можно добавить id к модулю, и обращаться к нему через JQuery, допустим для открытия-скрытия по щелчку.
function modChrome_jsright( $module, $params, $attribs ) { echo '<div id="moduleid" '.$module->id .' class="module' .$params->get( 'moduleclass_sfx' ) .'" >'; echo '<a href="javascript:void(0);" onclick="showhide('.$module->id.')">Открыть/Закрыть</a> '; ... ... } |
Таким образом можно сделать несколько вариантов стилей вывода модуля, и использовать их в нужных местах так, как угодно.
Вывод модуля в Joomla 1.5: 0 комментариев