Школа физики

Школа физики

Персональный сайт учителя физики
Лях Владимира Петровича

Воскресенье, 21 сентября 2014 00:00

Стили вывода модулей в CMS Joomla

Автор
Оцените материал
(4 голосов)

CMS Joomla одна из лучших систем по настраиваемости и наличию уже готовых решений шаблонов, модулей и компонентов.

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

На самом деле - это совершенно несложное дело. Что бы определить модуль в нужном месте - от Вас потребуется всего лишь минимальное знание HTML с CSS и приведенные ниже рекомендации.

Прежде всего, чтобы определить название своего модуля, Вам нужно прописать его в файле www/templates/ваш_шаблон/templateDetails.xml

Кроме описания и настроек шаблона, секция positions как раз и отвечает за перечень позиций:

...
<positions>
 <position>left</position>
 <position>right</position>
 ...
 <position>my_module</position>
</positions>
...

После добавления своей позиции в перечень, можно приступать к размещению блока в www/templates/ваш_шаблон/index.php

Начиная с Joomla 1.5 поддерживается 5 стандартных стилей вывода модулей. Также есть возможность создания своего варианта, но в этой статье мы его рассматривать не будем.

В шаблоне, где мы решили оформить свой блок, указываем подходящий по стилю код :

  • <jdoc:include type="modules" name="my_module" style="xhtml" /> - выводит модуль, заключенный в div, которому задан класс модуля с указанным в настройках модуля суффиксом "_suf" и с заголовком h3:
<div class="moduletable_suf">
 <h3>Название модуля</h3>
 Содержимое модуля
</div>
  • <jdoc:include type="modules" name="my_module" style="rounded" /> - выводит модуль, заключенный в четыре div(для создания закругленных уголков), которому задан класс модуля с указанным в настройках модуля суффиксом "_suf" и с заголовком h3:
<div class="module_suf">
 <div>
  <div>
   <div>
    <h3>Название модуля</h3>
    Содержимое модуля
   </div>
  </div>
 </div>
</div>
  • <jdoc:include type="modules" name="my_module" style="table" /> - выводит модуль, заключенный в отдельную таблицу, которой задан класс модуля с указанным в настройках модуля суффиксом "_suf" и с заголовком в отдельной ячейкеth:
<table cellspacing="0" cellpadding="0" class="moduletable_suf">
 <tbody>
  <tr>
   <th valign="top">Название модуля</th>
  </tr>
  <tr>
   <td>Содержимое модуля</td>
  </tr>
 </tbody>
</table>
  • <jdoc:include type="modules" name="my_module" style="horz" /> - то же, что и в предыдущем варианте, но заключенный ещё в одну таблицу:
<table cellspacing="1" cellpadding="0" border="0" width="100%">
 <tbody>
  <tr>
   <td valign="top">
    <table cellspacing="0" cellpadding="0" class="moduletable_suf">
     <tbody>
      <tr>
       <th valign="top">Название модуля</th>
      </tr>
      <tr>
       <td>Содержимое модуля</td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
 </tbody>
</table>
  • <jdoc:include type="modules" name="my_module" style="none" /> или <jdoc:include type="modules" name="my_module" /> - выводит только содержимое модуля, без каких либо блоков и заголовка.

Если модуль планируется выводить не на всех страницах сайта, будет целесообразней заключить его в php-код, который проверяет наличие модуля на странице:

<?php if($this->countModules('my_module')) : ?>
 <div class="my_module">
  <jdoc:include type="modules" name="my_module" style="xhtml" />
 </div>
<?php endif; ?>
Донец 14

Выпускник школы

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


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

Комментарии

  • Евгений Евгений 25.11.2017 16:51
    Наконец то Урок по всем современным требованиям. Мугамба доволен!!!!!!!!! Не просто СПАСИБО! А ...

    Подробнее...

     
  • Олег Олег 02.11.2017 16:17
    Владимир, а где сегодня можно купить омагничиватель воды СО-2 или СО-3?

    Подробнее...

     
  • Тимур Тимур 22.09.2017 08:36
    Доброго времени суток, на вашем сайте наткнулся на фотографию учебного вольтметр-термо метра ...

    Подробнее...