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

Выделить активный пункт списка новостей

00 голосов
6
Добрый день!
На главной странице имеется блок со списком новостей, нужно, что бы при нажатии на один из пунктов, при попадании на страницу новости, к пункту (к диву) применялся класс(просто выделение другим цветом). Подскажите пожалуйста, как это возможно реализовать.
спросил 18 Авг, 13 от Toropunka (260 баллов)

6 Ответы

00 голосов
для начало ракажите на чем это реальзовано, меню, API  ? и пример кода в студию
ответил 18 Авг, 13 от MAPKOBKA (380 баллов)
00 голосов
Кирилл, На главной странице сайта установлен и кастомизирован компонент Список Новостей,  вот его код
Код
                  <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
            <?foreach($arResult["ITEMS"] as $arItem):?>
      
<?
$this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
?>

                           <div class="news">
                                    <p><?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?><?echo $arItem["PREVIEW_TEXT"];?><?endif;?></p>
      <?if(!$arParams["HIDE_LINK_WHEN_NO_DETAIL"] || ($arItem["DETAIL_TEXT"] && $arResult["USER_HAVE_ACCESS"])):?>
            <a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><?echo $arItem["NAME"]?></a>
         <?else:?>
            <?echo $arItem["NAME"]?>
         <?endif;?>               
            </div>
            <?endforeach;?>
(я немного упростил)
выводится 3 новости. Необходимо сделать так, что когда нажимаешь на новость и попадаешь на страницу самой новости, в меню новостей, к активному пункту новости(т.е. к той, на странице которой находишься сейчас, к её DIVу применялся класс, который изменяет её внешний вид (показывает что этот пункт активен)

надеюсь более-менее понятно объяснил)
ответил 27 Окт, 13 от Toropunka (260 баллов)
00 голосов
Можно так: if($arItem["DETAIL_PAGE_URL"]==$APPLICATION->GetCurDir()), то один стиль, else - другой стиль. Ну это так - набросок. Поразбирайтесь с функциями, которые возвращают текущую страницу/раздел.
ответил 31 Янв, 14 от Hohat (720 баллов)
00 голосов
Все делается проще )) в шаблоне идет сравнении если SELECTED типа - то применить к нему див с красками
ответил 20 Май, 14 от ZoMbie (260 баллов)
00 голосов
Владимир Спасенников, Сергей Затылкин,  благодарю за отзывы.

Сергей,  а где именно в шаблоне указывается это сравнение?
ответил 16 Сен, 14 от Toropunka (260 баллов)
00 голосов
Знающие люди, подкажите пожалуйста, как в шаблоне сделать SELECTED сравнение.
ответил 21 Янв, 15 от Toropunka (260 баллов)
CSS, псевдокласс :checked. И никаких излишних сравнений.

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

0 голосов
0 ответов
спросил 04 Март, 16 от аноним
0 голосов
3 ответов
0 голосов
8 ответов
спросил 11 Июнь, 13 от Nadejda (180 баллов)
0 голосов
4 ответов
0 голосов
6 ответов
спросил 23 Сен, 13 от Aribor (560 баллов)