Описание и параметры
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();
?>