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

Верхнее меню

00 голосов
9
Здравствуйте.
Возможно ли в верхнем меню сайта, как-нибудь убрать ссылки (сделать просто текстом) с названий пунктов меню, при наводе мышкой на которые раскрывается весь список.
Например у Вас ссылками, а мне нужно текстом: Продукт | Редакции | Безопасность| ...
спросил 24 Апр, 13 от Lisenok (260 баллов)

9 Ответы

00 голосов
Спасибо, Антон. Все получилось. До того как написать это сообщение я так и сделал как ты написал, но ничего не получилось :) Видно где-то, я или описался или сучайно что-то перепутал. А сейчас все хорошо получилось.
ответил 24 Апр, 13 от Lisenok (260 баллов)
00 голосов
Добрый день, Алексей.
Да, для этого необходимо убрать ссылки из шаблона.

На примере демо-версии (файл \bitrix\templates\demo\top.menu_template.php):
строку

Код
$sMenu .= '<td bgcolor="#7B9DBB" onmouseover="show('.$i.')" onmouseout="hidden('.$i.')"><a href="'.$LINK.'" class="'.$clrtext.'"><nobr>&nbsp;'.$TEXT.'&nbsp;</nobr></a></td>';


заменяем на

Код
$sMenu .= '<td bgcolor="#7B9DBB" onmouseover="show('.$i.')" onmouseout="hidden('.$i.')"><nobr>&nbsp;'.$TEXT.'&nbsp;</nobr></td>';



То есть просто убираем ссылку.
ответил 24 Апр, 13 от BlackEva (820 баллов)
00 голосов
У меня еще один вопрос.
А возможно ли убрать ссылку только для тех пунктов, в которых открывается список. Т.е. я имею ввиду, что бы например в верхнем меню пункт меню "Главная" остался попрежнему ссылкой, а остальное текстом? Если нет, то может быть можно обойти как-нибуть этот нюанс?
ответил 19 Июнь, 13 от Lisenok (260 баллов)
00 голосов
Та же задача в данный момент:
Меню:
Сухие строительные смеси
*Пескобетоны
*Монтажно-кладочные смеси
...
(Выводится из инфоблока).

С изменением шаблона меню, способ описан выше, все просто и понятно. А можно как нибудь сделать тоже самое настроив инфоблок? Ну или еще как нибудь.

Просто допустим есть меню:
Наш коллекти (инфоблок)
*Отдел продаж
*Отдел маркетинга
Каталоги (стат ссылка)
Подписка (стат ссылка)

Соответственно изменение шаблона меню уберет ссылки не только с Нашего коллектива, но и с Каталоги и Подписка. Можно конечно разные шаблоны задать, но неудобно просто как то...
ответил 22 Сен, 13 от Flying (220 баллов)
00 голосов
блин че парите, открыли редактировать top - и у тех пунктов что выпадающее есть убрали ссылку - оставили пустым полем.все, и нет проблемы - или еще лучше направили на первый пункт выпадающего меню. типа хоть закликайся сразу переход на 1-й пункт подменю
ответил 22 Дек, 13 от Grimmi (2,560 баллов)
00 голосов
Николай Санников
В моем случае думаю так не сделать. Хотя может что не понимаю...
Посмотрите:
www.birss.ru
Меню слева.
С меню продукции собственно разобрался, по вышеуказанному способу.
А вот касаемо меню, которое чуть ниже, под продукцией...
В шаблоне сайта:
Код
<div><img width="250" src="/images/left_menu_top.jpg" /></div>
         
         <?$APPLICATION->IncludeComponent(
   "bitrix:menu",
   "birssmenubottom",
   Array(
      "ROOT_MENU_TYPE" => "left_bottom", 
      "MAX_LEVEL" => "3", 
      "CHILD_MENU_TYPE" => "left_bottom", 
      "USE_EXT" => "Y" 
   )
);?> 
          <div><img width="250" src="/images/left_menu_bottom.jpg" /></div>


Меню, как видим, left_bottom. Соответственно Наш коллектив выводится из инфоблока (подключенным EXT). Все остальное - стат ссылки меню left_bottom.
Нужно убрать ссылку с "Наш коллектив". И все. =)
Но редактирую шаблон birssmenubottom - уберем ссылку со всех пунктов меню, кроме подразделов "Отдел продаж" и т.д.
ответил 07 Апр, 14 от Flying (220 баллов)
00 голосов
Если ссылку надо убрать с одного только пункта , то в шаблоне на 1-й уровень можно поставить проверку не является ли ссылка(или название пункта) "Наш коллектив" - если является, то ссылку не выводить.
ответил 31 Июль, 14 от Grimmi (2,560 баллов)
00 голосов
Николай Санников
Понял, отличная идея. ;)
Буду учиться писать.
ответил 04 Дек, 14 от Flying (220 баллов)
00 голосов
Цитата
Николай Санников пишет:
Если ссылку надо убрать с одного только пункта , то в шаблоне на 1-й уровень можно поставить проверку не является ли ссылка(или название пункта) "Наш коллектив" - если является, то ссылку не выводить.

Не могли бы помочь немного...

Шаблон меню:

Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?if (!empty($arResult)):?>

<?$previousLevel = 0;foreach($arResult as $arItem):?>

   <?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
      <?=str_repeat("", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
   <?endif?>

   <?if ($arItem["DEPTH_LEVEL"]==1):?>
<div class="lvl1_cont"><a href="<?=$arItem["LINK"]?>" class="lvl1_href_bottom"><?=$arItem["TEXT"]?></a></div>

   <?else:?>

      <?if ($arItem["PERMISSION"] > "D"):?>

<div class="lvl2_cont"><a href="<?=$arItem["LINK"]?>" class="lvl2_href">- <?=$arItem["TEXT"]?></a></div>

      <?endif?>

   <?endif?>

   <?$previousLevel = $arItem["DEPTH_LEVEL"];?>

<?endforeach?>

<?if ($previousLevel > 1)://close last item tags?>
   <?=str_repeat("", ($previousLevel-1) );?>
<?endif?>

<?endif?>

Касаемое инфоблока:

Коллектив БИРСС
-Наш коллектив(инфоблок; символьный код: ourcollective; ID: 23)
*Наш коллектив (папка; ID: 66)

И далее входящие в папку подпапки и элементы.

Вроде бы понимаю, что в шаблон нужно вставить что то типа
Код
<?if($arSection['ID']==66):?>
<div class="lvl1_href_bottom"><?=$arItem["TEXT"]?></div>

<?endif?>


Но пока не получается... smile:(
ответил 28 Март, 15 от Flying (220 баллов)

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

0 голосов
2 ответов
спросил 23 Апр, 14 от IdeaL (100 баллов)
0 голосов
5 ответов
спросил 15 Ноя, 13 от Gabrial (120 баллов)
0 голосов
6 ответов
спросил 21 Сен, 13 от Den (180 баллов)
0 голосов
6 ответов
спросил 15 Июль, 13 от Misty (440 баллов)