Согласно документации, для каждого раздела меню в массиве aMenuLinks можно установить дополнительный параметр (php выражение), которое будет проверяться при генерации меню и этот пункт меню будет показан только в случае, если это выражение возвратит true. Привожу пример моего .top.menu.php из корня сайта, который, в частности, участвует в генерации карты сайта:
Соответственно, в верхнем меню будут показаны только
разделы 2 и 3, а на карте сайта будут показаны все три раздела, потому что PHP выражение dirname(__FILE__) == "/home/myhost/www/bitrix/components/bitrix/main.map"
будет истинным только в случае, если массив меню разбирается компонентом bitrix:main.map (почему - читайте документацию в PHP по поводу magic constant __FILE__ ). То, что массив меню действительно разбирается внутри файла bitrix/components/bitrix/main.map/component.php, вы можете убедиться сами.
Код |
---|
<? $aMenuLinks = Array( Array( "Раздел1", "/razdel1/", Array(), Array(), "dirname(__FILE__) == \"/home/myhost/www/bitrix/components/bitrix/main.map\"/*Задействовать этот пункт меню, только если меню запрашивается компонентом bitrix:main.map (для создания Карты Сайта)*/" ), Array( "Раздел2", "/razdel2/", Array(), Array(), "" ), Array( "Раздел3", "/razdel3/", Array(), Array(), "" ) ); ?> |
Соответственно, в верхнем меню будут показаны только
разделы 2 и 3, а на карте сайта будут показаны все три раздела, потому что PHP выражение dirname(__FILE__) == "/home/myhost/www/bitrix/components/bitrix/main.map"
будет истинным только в случае, если массив меню разбирается компонентом bitrix:main.map (почему - читайте документацию в PHP по поводу magic constant __FILE__ ). То, что массив меню действительно разбирается внутри файла bitrix/components/bitrix/main.map/component.php, вы можете убедиться сами.