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

result_modifer для меню

00 голосов
1
Добрый день, подскажите пожалуйста, как в result_modifer прикрутить свойство предыдущему к элементу vty.?

необходимо для меню к элементу добавить класс prev
Код
<ul>
  <li><a href="#"></a>
  <li><a href="#" class="prev""></a>
  <li><a href="#" class="curent"></a>
  <li><a href="#"></a>
</ul>


класс prev буду выводить в шаблоне проверкой свойства которое добавиться в result_modifer
Код
<?if(arItem[SAMEPROPERTY]):?>
   <li class="<?=$arItem["LINK"]?>">
<?endif?>


Проблема в том, что не получается зацепить свойство у активного элемента[CURENT]
и совсем не знаю, как вернуться к предыдущему элементу, чтобы добавить ему свойство.

Так, пытаюсь поймать [selected] и добавить к этому же элементу класс, но не работает.
Код
<?
foreach($arResult["ITEMS"] as $key=>$arItem)
{
   if is_array($arItem["SELECTED"])
      $strClass .= " test";
}
?>


Собственно класс добавлять надо не к этому элементу, а к предыдущему элементу массива

Кто может помочь с кодом?
спросил 21 Апр, 14 от Xenam (160 баллов)

1 Ответ

00 голосов
В result_modifier:
Код
$oldkey = false; 
foreach ($arResult as $key => $arItem)
{
   $arItem['PARAMS']['PREV'] = false;
   if (($arItem['SELECTED']) && (false !== $oldkey))
   {
      $arResult[$oldkey]['PARAMS']['PREV'] = true;
   }
   $arResult[$key] = $arItem;
   $oldkey = $key;
}



В шаблон в цикл перебора элементов меню:
Код
if (true == $arItem['PARAMS']['PREV'])
{ ?><li class="prev"><? }
else
{ ?><li><? }
ответил 01 Дек, 14 от Pomnep (13,960 баллов)

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

0 голосов
3 ответов
0 голосов
3 ответов
0 голосов
3 ответов
спросил 20 Март, 14 от pop72 (240 баллов)
0 голосов
3 ответов
спросил 25 Фев, 14 от AsteRon (180 баллов)
0 голосов
3 ответов
спросил 07 Фев, 14 от KiRo (100 баллов)