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

Воспрос про левое меню

00 голосов
4
Доброго времени суток, у меня такой вопрос: Что нужно сделать, чтобы основные ссылки в левом меню, всегда выделялись, допустим красным цветом, а подменю было, допустим синим?
спросил 25 Дек, 13 от Vasek (100 баллов)

4 Ответы

00 голосов
Изменить стили шаблона меню так. как Вам надо.
ответил 17 Март, 14 от Pomnep (13,960 баллов)
00 голосов
Это я знаю, но вот в программировании не слишком силен, может подскажете, что нужно вписать или отредактировать?

В стилях шаблона левого меню вот что:
Код
div.menu-sitemap-tree
{
   font-size:100%;
}

div.menu-sitemap-tree ul
{
   list-style-type: none;
   margin: 0; 
   padding: 0 1em 0 0;
}

div.menu-sitemap-tree ul ul
{
   width: auto;
   margin:-0.75em 0 0 0;
   padding: 0 0 0 0.75em;
}

div.menu-sitemap-tree li
{
   margin: 0 0 -0.85em 0;
   padding:0;
}

div.menu-sitemap-tree li li
{
   margin: 0 0 -0.85em 0.5em; 
   padding:0;
}

div.menu-sitemap-tree li.close ul
{
   display: none;
}

div.menu-sitemap-tree div.item-text
{
   position:relative;
   top:-19px;left:19px;
}

/*Icons*/
div.folder, div.page
{
   background-repeat:no-repeat;
   width:17px;
   height:17px;
   vertical-align:top;
}
div.folder{cursor:pointer; cursor: hand;background-image:url(images/folder_open.gif);}
div.menu-sitemap-tree li.close div.folder{background-image:url(images/folder_close.gif);}
div.page{background-image:url(images/page.gif);}


А в стилях самого шаблона, касательно левого меню, вот что:
Код
#left-menu { color: #FFFFFF;}
#left-menu a.selected { color: #EA0000;}
#left-menu .selected { color: #FFEA00;}
#left-menu a.selected:hover { color: #fff;}
#left-menu .current a.selected { background: #EA0000; color: #fff;}
ответил 08 Июль, 14 от Vasek (100 баллов)
00 голосов
В данном случае я бы менял свойства для div.menu-sitemap-tree li и div.menu-sitemap-tree li li.
ответил 08 Ноя, 14 от Pomnep (13,960 баллов)
00 голосов
А вот стандартный, древовидный шаблон tree как редактировать, у него нет css файла, есть только сам шаблон. Вот код:

Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
//echo '<pre>'; print_r($arResult); echo '</pre>';
if (count($arResult) < 1)
   return;

$bManyIblock = array_key_exists("IBLOCK_ROOT_ITEM", $arResult[0]["PARAMS"]);
?>

   <ul id="left-menu">
<?
   $previousLevel = 0;
   foreach($arResult as $key => $arItem):

      if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):
         echo str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));
      endif;

      if ($arItem["IS_PARENT"]):
         $i = $key;
         $bHasSelected = $arItem['SELECTED'];
         $childSelected = false;
         if (!$bHasSelected)
         {
            while ($arResult[++$i]['DEPTH_LEVEL'] > $arItem['DEPTH_LEVEL'])
            {
               if ($arResult[$i]['SELECTED'])
               {
                  $bHasSelected = $childSelected = true; break;
               }
            }
         }
         
         $className = $nHasSelected ? 'selected' : '';//($bHasSelected ? 'selected' : '');
?>
      <? if ($arItem['DEPTH_LEVEL'] > 1 && !$childSelected && $bHasSelected) :?>
         <li class="current">
         <a class="selected" href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
         <ul>

      <? else:?>
         <li<?=$bHasSelected ? ' class="selected"' : ''?>>
         <a<?=$bHasSelected ? ' class="selected"' : ''?> href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
         <ul<?=$bHasSelected || ($bManyIblock && $arItem['DEPTH_LEVEL'] <= 1) ? '' : ' style="display: none;"'?>>
      <? endif?>


<?
      else:
         if ($arItem["PERMISSION"] > "D"):
            $className = $arItem['SELECTED'] ? $arItem['DEPTH_LEVEL'] > 1 ? 'current' : "selected" : '';
?>
      <li<?=$className ? ' class="'.$className.'"' : ''?>>

         <a<?if ($arItem['SELECTED']):?> class="selected"<?endif?> href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>

      </li>
<?
         endif;
      endif;

      $previousLevel = $arItem["DEPTH_LEVEL"];
   endforeach;

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

Где и что менять, понятия не имею :(
ответил 07 Март, 15 от Vasek (100 баллов)

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

0 голосов
4 ответов
0 голосов
4 ответов
спросил 03 Июль, 13 от KaTpiHa (120 баллов)
0 голосов
9 ответов
спросил 21 Март, 13 от Snezhka (2,240 баллов)
0 голосов
1 ответ
спросил 26 Дек, 16 от Lifesaver (270 баллов)
0 голосов
2 ответов
спросил 06 Апр, 14 от Arvendel (100 баллов)