Menu

Module "Menu" generates the menu of any complexity and in any quantity.

The module consists of 2 parts: menu items and menus.

Menu items

List of menu items

Menu items – links that form the menu. That is, in fact, the menu itself is. Navigation. Menu items can refer to pages, categories, modules and elements of the modules, as well as to any external links.

Edit of menu item

Menu items have the following characteristics:

In blocking element, which is referred to from the menu, the menu item is locked too. Also, when you delete an item – the menu item is deleted. That is, if you hide or delete a page on the site, the menu item will also be hidden or deleted.

The menu structure can be formed directly from the module "Menu" or when the site pages, categories or components of modules, marking the checkbox "Create item in menu". When this structure is repeated in a site menu.

Example:

Enable "Create item in menu" option for news. If the category that owns the news is also a link in the menu, a new menu item is added as a nested menu item in the category. Otherwise, the item is added to the first level menu.

In the formation of a list of items that can be selected by reference to the menu items, using elements of other modules. Links to these elements are formed using file modules/модуль/admin/модуль.admin.menu.php.

Menu

List of menus

Categories – a different menu on the site. Menu on the website can be an unbounded set. They are derived on site by using the template tag show_block.

When you delete menu deletes all menu items belonging to him.

Edit of menu

Categories have the following characteristics.

Settings

Settings

Template tags

Для работы с модулем «Menu» служат следующие шаблонные теги:

show_block – shows menu.

Атрибуты:

id – идентификатор категории меню;

template – имя шаблона;

Attention!

Атрибут template является «переключателем» режима работы шаблонного тега. Если в шаблонном теге есть этот атрибут, то меню на сайте оформляется с помощью традиционных шаблонов модулей. Если этого атрибута нет, то меню на сайте оформляется с помощью атрибутов оформления.

Если в атрибуте template указано какое-либо значение, то должен существовать файл modules/menu/view/menu.view.show_block_template.php.

Example:

<insert name="show_block" module="menu" template="supermenu">

меню оформится с помощью файла modules/menu/view/menu.view.show_block_supermenu.php, который необходимо будет создать (можно скопировать любой другой существующий файл шаблона)

Значение template="default" подключит шаблон modules/menu/view/menu.view.show_block.php.

Значение template="select" подключит шаблон выбранный для меню в административном интерфейсе – параметр «Шаблон вывода меню».

Если атрибут template не задан, меню оформляется с помощью атрибутов оформления и выводится шаблоном modules/menu/view/menu.view.show_menu.php.

tag_start_номер – текст, выводимый перед каждой ссылкой меню (может содержать слово Increment – при выводе автоматически заменяемое на арифметическую прогресиию, 1, 2, 3, … и Level – заменяемое на номер уровня меню);

tag_end_номер – текст, выводимый после каждой ссылки пункта меню (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_end_after_children_номер – текст, выводимый после вложенных пунктов каждого пункта меню (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_level_start_номер – текст, выводимый перед уровнем (номер) меню;

tag_level_end_номер – текст, выводимый после уровня (номер) меню;

tag_active_start_номер – текст, выводимый перед активным пунктом меню уровня (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_active_end_номер – текст, выводимый после активного пункта меню уровня (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_active_end_after_children_номер – текст, выводимый после вложенных пунктов активного пункта меню уровня (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_active_child_start_номер – текст, выводимый перед пунктом меню уровня (номер) с активным дочерним пунктом (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_active_child_end_номер – текст, выводимый после пункта меню уровня (номер) с активным дочерним пунктом (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

tag_active_child_end_after_children_номер – текст, выводимый после вложенных пунктов пункта меню уровня (номер) с активным дочерним пунктом (может содержать слово Increment - заменяемое на увеличивающийся номер и Level – заменяемое на номер уровня меню);

separator_номер – текст, разделяющий пункты меню;

count_level – number of displayed menu levels, атрибут используется при оформлении меню атрибутами (template="");

defer – deferred load tag template tag: event – load content only at the request of the user when you click "Upload", emergence – load content only when the client window appears in the browser window, async – asynchronous (simultaneous) content loading together with the content of template tags with the same marker, sync – synchronous (sequential) load of content in conjunction with the content of template tags with the same marker, by default, downloading content only at the request of the user;

defer_title – text string displayed at the point where the loadable content appears with the help of delayed loading of the template tag.

Номер в названии атрибутов обозначает номер уровня. Если атрибуты не указаны для текущего уровня, то они наследуются у верхнего уровня.

Example:

<insert name="show_block" module="menu">

выведет просто список ссылок основного меню


<table>
        <insert name="show_block" module="menu" id="2" tag_start_1="[tr][td]" tag_end_1="[/td][/tr]">
</table>

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


<insert name="show_block" module="menu" tag_start_1="[div class=`menu`]" tag_end_1="[/div]" tag_start_2="[div class=`submenu`]" tag_end_2="[/div]">

Выведет:

<div class="menu"><a href="...">О нас</a></div>
   <div class="submenu"><a href="...">Животные</a></div>
   <div class="submenu"><a href="...">Миссия</a></div>
   <div class="submenu"><a href="...">История</a></div>
<div class="menu"><a href="...">Фотогалерея</a></div>

<insert name="show_block" module="menu" tag_start_1="[div class=`menuLevel`]" tag_end_1="[/div]">

Выведет:

<div class="menu1"><a href="...">О нас</a></div>
   <div class="menu2"><a href="...">Животные</a></div>
   <div class="menu2"><a href="...">Миссия</a></div>
   <div class="menu2"><a href="...">История</a></div>
<div class="menu1"><a href="...">Фотогалерея</a></div>

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

Database

{menu} – Menu items

{menu_category} – Menu

{menu_category_site_rel} – Данные о том, на каких страницах сайта выводится меню

{menu_parents} – Parents relations of menu items

Files

The module is located in the folder modules/menu and arranged classically.

  1. modules/menu/admin/js/menu.admin.js – Редактирование пунктов меню, JS-сценарий;

  2. modules/menu/admin/menu.admin.php – Menu items editing;

  3. modules/menu/admin/menu.admin.action.php – Обработка POST-запросов при работе с меню в административной части;

  4. modules/menu/admin/menu.admin.category.php – Editing menu categories;

  5. modules/menu/admin/menu.admin.config.php – Module settings;

  6. modules/menu/admin/menu.admin.inc.php – Connecting the module to the administrative part of other modules;

  7. modules/menu/menu.php – Controller;

  8. modules/menu/menu.inc.php – Подключение модуля;

  9. modules/menu/menu.install.php – Module installation;

  10. modules/menu/menu.model.php – Model;

  11. modules/menu/views/m/menu.view.show_block_topmenu.php – Шаблон меню template=topmenu;

  12. modules/menu/views/m/menu.view.show_level_topmenu.php – Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла, template=topmenu;

  13. modules/menu/views/m/menu.view.show_level_topmenu_2.php – Шаблон второго и последующих уровней меню, оформленного шаблоном;

  14. modules/menu/views/m/menu.view.show_level_topmenu_3.php – Шаблон второго и последующих уровней меню, оформленного шаблоном;

  15. modules/menu/views/menu.view.show_block.php – Шаблон меню, оформленного шаблоном;

  16. modules/menu/views/menu.view.show_block_leftmenu.php – Шаблон меню template=leftmenu;

  17. modules/menu/views/menu.view.show_block_topmenu.php – Шаблон меню template=topmenu;

  18. modules/menu/views/menu.view.show_level.php – Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла, оформленного шаблоном;

  19. modules/menu/views/menu.view.show_level_2.php – Шаблон вывода второго и последующих уровней меню, оформленного шаблоном;

  20. modules/menu/views/menu.view.show_level_leftmenu.php – Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла, template=leftmenu;

  21. modules/menu/views/menu.view.show_level_leftmenu_2.php – Шаблон второго и последующих уровней меню, оформленного шаблоном;

  22. modules/menu/views/menu.view.show_level_topmenu.php – Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла, template=topmenu;

  23. modules/menu/views/menu.view.show_level_topmenu_2.php – Шаблон второго и последующих уровней меню, оформленного шаблоном;

  24. modules/menu/views/menu.view.show_level_topmenu_3.php – Шаблон второго и последующих уровней меню, оформленного шаблоном;

  25. modules/menu/views/menu.view.show_menu.php – Шаблон меню, оформленного атрибутами тега.