Меню
Компонент выводит меню указанного типа. Компонент является стандартным и входит в дистрибутив модуля.
Описание menu
В визуальном редакторе компонент расположен по пути: Служебные > Навигация > Меню.
Компонент относится к Главному модулю.
В поставку продукта входят следующие шаблоны компонента Меню (bitrix:menu):
- Горизонтальное многоуровневое выпадающее меню (Яркий) (horizontal_multilevel);
- Левое меню (Яркий) (left);
- Вертикальное меню по умолчанию (Встроенный шаблон) (.default);
- Голубое меню в виде закладок (Встроенный шаблон) (blue_tabs);
- Серое меню в виде закладок (Встроенный шаблон) (grey_tabs);
- Древовидное меню (Встроенный шаблон) (tree);
- Вертикальное многоуровневое выпадающее меню (Встроенный шаблон) (vertical_multilevel).
Параметры
Поле | Параметр | Описание |
Основные параметры | ||
---|---|---|
Тип меню для первого уровня | ROOT_MENU_TYPE | Указывается тип меню верхнего уровня, соответствующий данному меню. |
Настройки кеширования | ||
Тип кеширования | MENU_CACHE_TYPE | Тип кеширования:
|
Время кеширования | MENU_CACHE_TIME | Время кеширования в секундах. |
Учитывать права доступа | MENU_CACHE_USE_GROUPS | При кешировании будут учитываться права доступа пользователя к тем или иным пунктам меню. Если меню построено без учета прав доступа, флажок лучше снять - размер кеша уменьшится. |
Значимые переменные запроса | MENU_CACHE_GET_VARS | Если отображение меню зависит от параметров страницы, то при использовании кеширования необходимо указать параметры в этом поле. Параметры вводятся через запятую. |
Дополнительные настройки | ||
Уровень вложенности меню | MAX_LEVEL | В выпадающем списке выберите уровень вложенности. Доступно четыре уровня. Чем больше число, тем пункты более низких уровней будут отображены. |
Тип меню для остальных уровней | CHILD_MENU_TYPE | Укажите тип меню для меню нижних уровней. |
Подключать файлы с именами вида .тип_меню.menu_ext.php | USE_EXT | [Y|N] При отмеченной опции будет разрешено подключать файлы с именами вида .тип_меню.menu_ext.php. |
Откладывать выполнение шаблона меню | DELAY | [Y|N] При отмеченной опции выполнение шаблона будет происходить после загрузки страницы. Очень удобен при включенном кешировании компонента, если нужно все же выполнять какие-то действия по модификации внешнего вида пунктов меню в зависимости от текущей страницы. Например, добавление пунктов меню в компонентах.
$GLOBALS['BX_MENU_CUSTOM']->AddItem('left', array( 'TEXT' => 'Моб. версия', 'LINK' => $APPLICATION-> GetCurPage(false) . '?mobile')) Первый параметр - тип меню. Второй - массив, описывающий пункт меню. |
Разрешить несколько активных пунктов одновременно | ALLOW_MULTI_SELECT | [Y|N] При отмеченной опции будет разрешено несколько активных пунктов меню одновременно. |
Параметры для ручной настройки, в форме настройки компонента не видны | ||
CACHE_SELECTED_ITEMS | Y\N. Определяет подмешивать или нет URL в кеш. По умолчанию С версии 23.300.0. - N. Если параметр имеет значение Y, то меню кешируется отдельно для каждого раздела. Если на сайте много разделов, то размер кеша меню может вызвать падение сайта из-за переполнения места на диске. Ограничение константы отключающей подмешивание URL в том, что во вложенном разделе может полностью быть переопределены пункты меню. | |
MENU_CACHE_USE_USERS | Y\N. Определяет подмешивать ли в кеш id пользователя.То есть делать ли его уникальным для каждого пользователя. Нужно когда оно отличается для каждого пользователя. |
Пример вызова
<?$APPLICATION->IncludeComponent("bitrix:menu",".default",Array( "ROOT_MENU_TYPE" => "top", "MAX_LEVEL" => "1", "CHILD_MENU_TYPE" => "top", "USE_EXT" => "Y", "DELAY" => "N", "ALLOW_MULTI_SELECT" => "Y", "MENU_CACHE_TYPE" => "N", "MENU_CACHE_TIME" => "3600", "MENU_CACHE_USE_GROUPS" => "Y", "MENU_CACHE_GET_VARS" => "" ) );?>
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
Спасибо вам большое | ||
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
А вот если в хедер и футер запихать один компонент, то этот параметр точно необходим. | ||
Сообщение не промодерировано, возможны ошибки и неточности.
|
Если стоит компонент меню на разных страницах. с одним шаблоном и одним типом меню, но независимо, от того, что файлы типов меню в разных разделах с разным содержимым, кеш будет одним. что приводит к дублированию меню.
Если нужно в разных раделах один тип меню. но разное содержимое. включайте параметр "CACHE_SELECTED_ITEMS" => "Y" |
Сообщение не промодерировано, возможны ошибки и неточности.
|
Если пользователь не авторизован, то меню кэшируется всегда, независимо от параметра MENU_CACHE_TYPE.
Если подключен файл типа .тип_меню.menu_ext.php, то меню не кэшируется, независимо от параметра MENU_CACHE_TYPE. |
Сообщение не промодерировано, возможны ошибки и неточности.
|
MENU_CACHE_GET_VARS - Если отображение меню зависит от !!!GET!!! параметров страницы, то при использовании кеширования необходимо указать параметры в этом поле. Параметры вводятся через запятую.
Если передать в массив какое-то значение, которого нет в GET параметрах, новый кеш создаваться не будет. |
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.