Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Меню и карта сайта

00 голосов
7
Привет. У меня такая ситуация:
Есть карта сайта, которая формируется из меню топ и меню лефт.
В каждом из меню лефт есть пункт - сылка на главную страницу. Необходимо чтобы в карте не выводились пункты меню, содержащие эти ссылки. Добавил в каждый такой пункт параметр MAPVISIBLE = 1, в файле /map/default.php в цикл
foreach ($aMenuLinks as $aMenu) добавил условие
if ($aMenu["PARAMS"]["MAPVISIBLE"]==1) ... но почему-то не работает, подскажите как быть
спросил 11 Июль, 13 от Kania (5,180 баллов)

7 Ответы

00 голосов
А почему именно так решили делать карту? Вроде как стандартными средствами проще?
ответил 11 Июль, 13 от Grow (340 баллов)
00 голосов
Так я стандартными средствами и делаю. Единственное не стандартное действие, это отсеивание пунктов меню с заданными параметрами
ответил 29 Авг, 13 от Kania (5,180 баллов)
00 голосов
Цитата
Al пишет:
if ($aMenu["PARAMS"]["MAPVISIBLE"]==1)

Может, так
Код
if ($PARAMS["MAPVISIBLE"]==1)
?
ответил 27 Ноя, 13 от Jackie (380 баллов)
00 голосов
Так тоже не работает. Вообще можно выкрутится следующим образом, создать новый тип меню, например меню типа left2, в каждом разделе вбить внего нужные пункты, а затем указать чтобы при формировании карты за основу брались меню именно типа left2.
Ну, блин, не охота так, охота чтобы всё красиво было.
ответил 09 Март, 14 от Kania (5,180 баллов)
00 голосов
Добрый день,

В свое время (в ранних версиях) мы использовали некоторый параметр для скрипта построения меню: SEPARATOR = Y

При его указании в параметрах - пункт не будет присутствовать в карте сайта.

Кажется он все еще работает... smile;)
ответил 29 Июнь, 14 от Shadow (820 баллов)
00 голосов
Цитата
Al пишет:
в файле /map/default.php в цикл
foreach ($aMenuLinks as $aMenu)

Во-первых, в какой из циклов? их там два.
Вставляйте в тот, что в функции GetMapChilds (в строке примерно 224), если, конечно, меню top ещё живо.

Во-вторых, конструкция должна быть примерно такая:
if ($aMenu[3]["MAPVISIBLE"]=="0") continue;

А в-нулевых, я бы вообще в компонент вывода карты сайта не лазил.
Если задача такая, что в каждом меню типа left должна быть ссылка на главную страницу сайта, то добавьте её просто в шаблон вывода меню руками, например, в конец переменной $sMenuProlog в файле "\bitrix\templates\demo\left.menu_template.php".
ответил 30 Окт, 14 от Sage (460 баллов)
00 голосов
Цитата
andreya пишет:
А в-нулевых, я бы вообще в компонент вывода карты сайта не лазил.
Если задача такая, что в каждом меню типа left должна быть ссылка на главную страницу сайта, то добавьте её просто в шаблон вывода меню руками, например, в конец переменной $sMenuProlog в файле "\bitrix\templates\demo\left.menu_template.php".

Блин, чё ж я сам-то до такого не догадаляся, andreya спасибо
ответил 27 Фев, 15 от Kania (5,180 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 27 Сен, 14 от NskRonin (120 баллов)
0 голосов
2 ответов
спросил 26 Ноя, 13 от MeGa4el (260 баллов)
0 голосов
6 ответов
спросил 30 Сен, 13 от Kania (5,180 баллов)
0 голосов
3 ответов
спросил 14 Июнь, 13 от WIT4ER (160 баллов)
0 голосов
9 ответов
спросил 24 Май, 13 от Kania (5,180 баллов)