Определим, как будет выводиться меню в нашем простом шаблоне.
Преимущество использования правил 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 h 3 { |
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.
В итоге внешний вид сайта при использовании шаблона станет таким: