Как работать с модулями в CMS Joomla?

 

Практически все элементы Joomla, которые публикуются на сайте, отображаются за счет работы модулей. Чтобы полностью управлять дизайном сайта, требуется полный спектр знаний о модулях. Об этом мы и расскажем в этой статье.

Управление модулями

Управление осуществляется через менеджер модулей в админке (РасширенияМенеджер модулей).
 
Если нажать на ссылку с названием модуля, то в левой части будут отображены настройки, которые аналогичны для любых модулей:
 
Заголовок – это название отображается у модуля на сайте и в менеджере;
 
Показать заголовок – скрыть или отобразить заголовок, если модуль работает на сайте;
 
Включен – включение и выключение модуля;
 
Позиция – указание места, на котором модуль будет отображаться на сайте. Каждый шаблон оснащен несколькими позициями для отображения модулей. Чтобы все их посмотреть, нужно ввести в адресной строке следующий адрес: http://*название сайта*.ru/?tp=1. Если перейти по этой ссылке, то вы попадете на главную страницу, на которой и будут показаны все позиции. Так можно быстро определить, какой модуль и куда лучше разместить.
 
Зачастую у веб-мастеров возникает вопрос о том, как вывести модуль в том месте, которое, вроде бы, не предусмотрено для отображения модулей. Для этого нужно произвести в самом шаблоне некоторые манипуляции. Это можно сделать в три этапа:
 
1) С помощью расширения Firebug вскрыть код и найти наиболее подходящее для модуля место;
 
2) Открыть шаблон в режиме редактирования HTML и отыскать там примерно такой код:
 
<?php if ($this->countModules('Название модульной позиции')): ?>
<jdoc:include type="modules" name="Название модульной позиции"   />
<?php endif; ?>
 
В качестве примера можно привести код отображения левой колонки ресурса:
 
<?php if ($this->countModules('right')): ?>
<jdoc:include type="modules" name="right"  style="xhtml"  />
<?php endif; ?>
 
Конечно, в разных шаблонах код значительно различается (стили, элементы html и т.д.). Да и названия позиций могут быть разными. В будущем, чтобы отобразить модуль на выбранной позиции, нужно в меню «Позиция» не выбирать название из списка, а вписывать нужное.
 
3) Из пункта 2 скопировать код и вписать название позиции и скопировать в место из первого пункта.
 
На этом всё. Теперь можно вывести модуль там, где хочется. 
 
Сортировка – если сразу несколько модулей одновременно выведены на одной позиции (к примеру, в левой колонке), то с помощью данного пункта устанавливается порядок отображения.
 
Доступ – здесь показано, какие категории пользователей видят модуль, а какие нет (Все – посетители; Registered – зарегистрированные; Специальный – выбранные группы пользователей).
 
Меню – здесь выбираются пункты меню, в которых необходимо отобразить модуль.
 
В правой части окна отображены настройки, которые определяются модулем, а также суффикс класса и кэширование модуля.
 
Кэширование – функция уменьшения нагрузки на хостинг, которая создается сайтом. Веб-страницы любого сайта генерируются, как говорится, «на лету». Подобная генерация потребует определенных ресурсных затрат от сервера (в качестве аналога можно привести программу, которая запускается на компьютере и потребляет ресурсы памяти и ЦП). Если на генерируемых страницах множество всевозможных материалов и модулей, то их генерация занимает уйму времени (более нескольких секунд), создавая тем самым мощную нагрузку на сервер. Для избегания этого было предложено не генерировать одинаковые страницы по нескольку раз, а сохранять их и выдавать посетителям в готовом виде. Такой метод имеет пару недостатков:
 
1) Пользователи видят страницу, которая создана не по их запросу, а ранее. Это означает, что она содержит, возможно, устаревшую информацию.
 
2) При множестве одновременно кэшируемых страниц на диске они будут занимать довольно много места.
 
Если второй недостаток не критичен, то с первым всегда возникают определенные неприятности.
 
В настройках можно задать срок хранения кэша. Именно в течение этого срока пользователям будет выдаваться сохраненная страница, а по его истечению произойдет следующая генерация. Если на сайте небольшая посещаемость, а сам он содержит информацию, которая не так часто обновляется (форум, доски объявлений и т.п.), то кэширование включать, по сути, не следует. Оно будет эффективно только при должной посещаемости, т.к. это сократит число страниц, генерируемых за определённый отрезок времени. В настройках модуля указывается кэширование, которые применяется не к веб-странице, а конкретно к модулю, что крайне удобно, потому что модули, имеющие статические данные, можно смело кэшировать.
 
Суффикс класса модуля – настройка модуля, которая рассчитана на опытных сайтостроителей, знакомых с CSS. Все модули сайта по умолчанию выведены в едином стиле. Но зачастую требуется под стиль шаблона подобрать специальный стиль модуля. Для создания подобных стилей оформления и их успешного применения может быть использован суффикс. Применяется он следующим образом:
 
1) В таблице CSS-стилей нужно найти все элементы, которые относятся к оформлению модулей (найти можно с помощью Firebug). Например, следующие:
 
div.moduletable,
div.moduletable_menu,
div.moduletable_text {
padding: 0 0 30px; margin-bottom: 30px; background: url('/'/../images/kartinka.gif'') repeat-x bottom;
}
 
div.moduletable h2,
div.moduletable_menu h2,
div.moduletable_text h2 {
padding: 0 0 15px; margin: 0; color: #2BA536; font-size: 110%; font-weight: bold; text-transform: uppercase;
}
 
2) Их необходимо скопировать и вставить с добавлением приставки (у меня -2) одновременно с этим меняя стили модуля:
 
div.moduletable-2,
div.moduletable_menu-2,
div.moduletable_text-2 {
padding: 0 0 40px; margin-bottom: 10px; background: black;
}
 
div.moduletable-2 h4,
div.moduletable_menu-2 h4,
div.moduletable_text-2 h3 {
padding: 0 0 120px; margin: 0; color: #777777; font-size: 130%; font-weight: bold; text-transform: uppercase;
}
 
3) С этого момента в пункте Суффикс класса модуля -2 к этому модулю будет применяться альтернативное оформление, созданное во втором пункте.