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

условия выбора меню

00 голосов
5
Подскажите пожалуйста как написать правильно условия для:
Код
<div class="menu" id="web-blue-tabs-menu">
   <ul>
      <?foreach($arResult as $arItem):?>
         <?if ($arItem["PERMISSION"] > "D"):?>
            
            <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr><?=$arItem["TEXT"]?></nobr></a></li>
            
         <?endif?>
      <?endforeach?>
   </ul>
</div>

что бы добавить отдельный класс для первого и последнего пункта меню из массива:
class="first_menu"
class="last_menu"
спросил 04 Ноя, 13 от IceCooleR (120 баллов)

5 Ответы

00 голосов
Код
<div class="menu" id="web-blue-tabs-menu"> 
   <?$ke = 0;?>
   <ul> 
        <?foreach($arResult as $key => $arItem):?>
        <?if ($arItem["PERMISSION"] > "D"):?> 
            <?if ($ke==0):?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>FIRST<?=$arItem["TEXT"]?></nobr></a></li>
         <?else:?>
         <?if ($ke==sizeof($arResult)):?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>LAST<?=$arItem["TEXT"]?></nobr></a></li> 
         <?else:?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr><?=$arItem["TEXT"]?></nobr></a></li>
            <?endif?>
      <?endif?> 
      <?endif?>
       <?$ke++;?>
      <?endforeach?> 
   </ul> 
</div> 

Помогло? ;)
ответил 10 Дек, 13 от Serofim (800 баллов)
00 голосов
Да, спасибо :) , только последнее условие не отображается
Код
<li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>LAST<?=$arItem["TEXT"]?></nobr></a></li>  
ответил 24 Март, 14 от IceCooleR (120 баллов)
00 голосов
Код
<div class="menu" id="web-blue-tabs-menu"> 
   <?$ke = 0;
   $key = sizeof($arResult);?>
   <ul> 
        <?foreach($arResult as $arItem):?>
        <?if ($arItem["PERMISSION"] > "D"):?> 
            <?if ($ke==0):?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>FIRST<?=$arItem["TEXT"]?></nobr></a></li>
         <?else:?>
         <?if ($ke==$key):?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>LAST<?=$arItem["TEXT"]?></nobr></a></li> 
         <?else:?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr><?=$arItem["TEXT"]?></nobr></a></li>
            <?endif?>
         <?endif?> 
      <?endif?>
       <?$ke++;?>
      <?endforeach?> 
   </ul> 
</div> 

А так? :))))
ответил 16 Июль, 14 от Serofim (800 баллов)
00 голосов
Почему то не находит последний элемент массива, но первый отображается.
Код
<?if (!empty($arResult)):?>

<div class="menu" id="web-blue-tabs-menu">
   <?$ke = 0;
   $key = sizeof($arResult);?>
   <ul>
        <?foreach($arResult as $arItem):?>
        <?if ($arItem["PERMISSION"] > "D"):?>
            <?if ($ke==0):?>
         <li class="first_center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>FIRST<?=$arItem["TEXT"]?></nobr></a></li>
         <?else:?>
         <?if ($ke==$key):?>
         <li class="last_center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr>LAST<?=$arItem["TEXT"]?></nobr></a></li>
         <?else:?>
         <li class="center_menu <?if ($arItem["SELECTED"]):?>selected<?endif?>"><a href="<?=$arItem["LINK"]?>"><nobr><?=$arItem["TEXT"]?></nobr></a></li>
            <?endif?>
         <?endif?>
      <?endif?>
       <?$ke++;?>
      <?endforeach?>
   </ul>
</div> 
<?endif?>
ответил 17 Ноя, 14 от IceCooleR (120 баллов)
00 голосов
Спасибо разобрался, надо было
<?if ($ke==($key-1)):?>
что бы вытащить последний элемент
ответил 13 Март, 15 от IceCooleR (120 баллов)

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

0 голосов
3 ответов
0 голосов
3 ответов
0 голосов
4 ответов
спросил 02 Янв, 14 от Rogarond (820 баллов)
0 голосов
4 ответов
спросил 17 Окт, 13 от WETERa (800 баллов)
0 голосов
3 ответов
спросил 13 Сен, 13 от Lusien (160 баллов)