title
ДомойСтатьиШаблоны Joomla → Оформление модулей в Joomla

Оформление модулей в Joomla

Всем здравствуйте. Сегодня продолжим создание шаблонов для Joomla, и научимся изменять вывод модулей.

Вы наверняка уже видели во многих шаблонах папку html, а в ней еще мелкая или большая кучка папок с файлами php. Именно благодаря им вывод материалов, категорий, контактов, модулей можно оформить по-своему.

Мы начнем с оформления модулей. Для начала рассмотрим штатные выводы модулей, которая предлагает сама CMS Joomla.

1. <jdoc:include type="modules" name="left">

Простой вывод в одном блоке. Заголовок здесь не выводится. Такой метод хорош для вывода позиций под баннеры или горизонтальное меню.

2. <jdoc:include type="modules" name="top" style="xhtml">

Выведет модуль в виде

<div class="moduletable">
   <h3>Заголовок модуля</h3>
   ...Содержимое модуля
</div>

Идеально подходит для минимальных дизайнов. Очень часто использую именно этот метод

3. <jdoc:include type="modules" name="top" style="rounded">

Выводит следующим образом:

<div class="module">
   <div>
      <div>
         <div>
            <h3>Заголовок модуля</h3>
            Содержимое модуля
         </div>
      </div>
   </div>
</div>

С помощью этого метода можно выводить модули с закругленными углами, естественно оформив все это через css.

Теперь давайте колдовать. Создаем папку html в папке со своим шаблоном. В ней файл modules.php
Пишем в нем следующее:

//Объявлем функцию modChrome_jschool. "modChrome_" обязательная часть. "jschool" - про эту часть чуть позже.

function modChrome_jschool( $module, $params, $attribs ) {
    if (isset( $attribs['head'] ))
    {$header = $attribs['head'];} else {$headerLevel = 3;}
   
    //Начинаем выводить модуль.


  echo '<div class="module' .$params->get( 'moduleclass_sfx' ) .'" >';
';
    if ($module->showtitle)   { // Проверяем выводится ли заголовок
       echo '<h'.$headlevel.'>'.$module->title .'</h'.$headlevel.'>';

echo '</div>'; // Закрываем div.module
  } // Закрываем функцию
?>

Теперь открываем index.php нашего шаблона, и находим место под модули. Пишем:

countModules('left')) {?>

       

style="jschool" - это стиль вывода модуля, который был объявлен в функции modChrome_jschool.

Параметр head="3" - Обернет заголовок модуля в

.

 

Смотрим еще раз modules.php

if (isset( $attribs['head'] )) //Если объявлен атрибут head, то
{$header = $attribs['head'];}  // переменной $header присваиваем это значение
else {$headerLevel = 3;} // Если же нет, то ставим значение по-умолчанию, т.е. 3.

Получается, что объявлять вывод модуля можно и вот так:

В данном случае заголовок у модулей будет в h2

Можно передавать сколько угодно параметров. Вот еще пример.

Тогда в modules.php после строк

function modChrome_jschool( $module, $params, $attribs ) {
    if (isset( $attribs['head'] ))
    {$header = $attribs['head'];} else {$headerLevel = 3;}

добавляем еще

    if (isset( $attribs['width'] ))
    {$header = $attribs['width'];} else {$modwidth = 300;}

А строку

echo '
';

Приводим к виду

echo '
';

Таким образом дается полная свобода над оформлением модулей. Удачных экспериментов.
 

 

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


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

Хорватия, тебе нужно расти парусные яхты продажа.

Комментарии

  • Огромное спасибо. Все просто супер. Сделал по ману... Читать
    31.07.11 16:08
  • Эээ, проверил работу капчи на вашем сайте. Вбиваю ... Читать
    05.05.11 19:31
  • нужно написать заглавными: ENTER CAPTCHA CODE=Введ... Читать
    26.04.11 20:32
  • не срабатывает регистрация пользователей (сбрасыва... Читать
    08.04.11 05:16
  • А пиариться не надоело!? Единственные и неповторим... Читать
    04.04.11 20:50
  • Что-то тут обрезалось в редакторе. Долго искать, а... Читать
    03.04.11 17:49
    admin
夫婦の 別れさせ 工作

Пользователям

куплю зимние шины Киев