Документация для разработчиков

Init

bool
CMenu::Init(
 string InitDir
 bool MenuExt = false,
 string template = false,
 onlyCurrentDir=false
)

Инициализирует (заполняет пунктами) объект класса CMenu. Возвращает "true" если в каталоге сайта найден файл меню .тип меню.menu.php (поиск идет вверх по иерархии начиная с каталога dir), и "false" в противном случае. Нестатический метод.

Параметры

ПараметрОписание С версии
InitDir Папка, начиная с которой, объект будет искать файл .тип меню.menu.php (файл с параметрами и пунктами меню).
MenuExt Если значение - "true", то для формирования массива меню, помимо файлов .тип меню.menu.php будут также подключаться файлы с именами вида .тип меню.menu_ext.php. В которых вы можете манипулировать массивом меню $aMenuLinks произвольно, по вашему усмотрению (например, дополнять пункты меню значениями из инфо-блоков).
Необязателен. По умолчанию - "false".
3.2.5
template Шаблон для вывода меню.
Необязателен. По умолчанию - "false", что означает искать шаблон меню сначала в файле /bitrix/templates/ID текущего шаблона сайта/тип меню.menu_template.php, затем если шаблон не будет найден, то искать в файле /bitrix/templates/.default/тип меню.menu_template.php. В самом шаблоне меню вам будут доступны следующие предустановленные переменные:
  • $arMENU - копия массива меню
  • $arMENU_LINK - ссылка на текущий массив меню
  • $TEXT - текст текущего пункта меню
  • $LINK - ссылка текущего пункта меню
  • $SELECTED - выбран ли пункт меню в данный момент
  • $PERMISSION - доступ на страницу указанную в $LINK, возможны следующие значения:
    • D - доступ запрещён
    • R - чтение (право просмотра содержимого файла)
    • U - документооборот (право на редактирование файла в режиме документооборота)
    • W - запись (право на прямое редактирование)
    • X - полный доступ (право на прямое редактирование файла и право на изменение прав доступа на данных файл)
  • $ADDITIONAL_LINKS - дополнительные ссылки для подсветки меню
  • $ITEM_TYPE - "D" - директория (если $LINK заканчивается на "/"), иначе "P" - страница
  • $ITEM_INDEX - порядковый номер пункта меню
  • $PARAMS - параметры пунктов меню
При этом в шаблоне для построения меню необходимо будет инициализировать следующие перменные:
  • $sMenuProlog - HTML который будет добавлен перед пунктами меню
  • $sMenuEpilog - HTML который будет добавлен после пунктов меню
  • $sMenuBody - HTML представляющий из себя один пункт меню
  • $sMenu - HTML представляющий из себя все меню целиком (только для метода GetMenuHtmlEx)
3.3.7
$onlyCurrentDir Если значение - "true", то отключается поиск файла меню в родительских каталогах.5.9.0

См. также

Примеры использования

<?
$lm = new CMenu("left");
$lm->Init($APPLICATION->GetCurDir(), true);
$lm->template = "/bitrix/templates/demo/left.menu_template.php";
echo $lm->GetMenuHtml();
?>


© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх