Определим, как будет выводиться меню в нашем простом шаблоне.
Преимущество использования правил CSS перед табличной структурой HTML проявляется в меньшем размере кода и более простой верстке. Кроме того, существует большое количество примеров организации различного типа меню на основе CSS, которые достаточно просто адаптировать для использования в шаблоне Joomla.
Рассмотрим типовую структуру меню на основе неупорядоченного списка :
1 |
<div id="navcontainer"> |
3 |
<li id="active"><a href=" #" id="current">Пункт один</a></li> |
4 |
<li><a href="#">Пункт два</a></li> |
5 |
<li><a href="#">Пункт три</a></li> |
6 |
<li><a href="#">Пункт четыре</a></li> |
7 |
<li><a href="#">Пункт пять</a></li> |
Список <ul> имеет идентификатор navlist и помещен в контейнер <div> c идентификатором navcontainer. Чтобы воспроизвести такую же структуру в шаблоне Joomla, необходимо организовать внешний контейнер <div>. Задача решается с помощью суффикса модуля. Модуль с опцией style="xhtml"будет иметь вид в итоговом коде:
1 |
<div class="moduletable"> |
2 |
<h3>...Заголовок модуля...</h3> |
3 |
...Содержание модуля... |
Если установить для модуля суффикс _menu, то он будет добавлен к названию класса moduletable:
1 |
<div class="moduletable_menu"> |
2 |
<h3>...Заголовок модуля...</h3> |
3 |
...Содержание модуля... |
Теперь если вы будете использовать готовый код CSS для меню, то в нем надо будет заменить имя класса navcontainer на moduletable_menu.
Использование суффиксов для модулей позволяет очень гибко настраивать интерфейс шаблона. Например, задавать различные стили для разных меню.
Добавим в файл template.css нашего шаблона следующий код для формирования меню:
06 |
.moduletable_menu h3 { |
13 |
border-bottom:1px solid #fff; |
21 |
border-bottom: 1px solid #ccc; |
24 |
.moduletable_menu li a{ |
26 |
padding: 3px 5px 3px 0.5em; |
27 |
border-left: 10px solid #333; |
28 |
border-right: 10px solid #9D9D9D; |
29 |
background-color:#666; |
31 |
text-decoration: none; |
33 |
html>body .moduletable_menu li a { |
36 |
.moduletable_menu li a:hover,a#active_menu:link,a#active_menu:visited{ |
37 |
border-left: 10px solid #1c64d1; |
38 |
border-right: 10px solid #5ba3e0; |
39 |
background-color: #2586d7; |
Чтобы внешний вид меню изменился, надо для их модулей установить суффикс _menu. В итоге внешний вид сайта при использовании шаблона станет таким:
