• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Помощь Мини-кастомизация news.list - проблема в цикле!

soot

Знаток
Регистрация
22 Дек 2008
Сообщения
164
Реакции
28
Необходима кастомизация стандартного шаблона компонента Битрикс - news.list.

Выдержка из кода:
PHP:
<?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')));
        ?>
   
        <?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
            <div class="item">
                <p><?echo $arItem["PREVIEW_TEXT"];?></p>
            </div>
        <?endif;?>

<?endforeach;?>

На выходе я получу следующий HTML:
HTML:
<div class="item"><p>Текст</p></div>
<div class="item"><p>Текст</p></div>
<div class="item"><p>Текст</p></div>

А мне надо, чтобы первый <div> имел свой класс CSS например:
HTML:
<div class="item one"><p>Текст</p></div>
<div class="item"><p>Текст</p></div>
<div class="item"><p>Текст</p></div>

В php знаю только на поверхностном уровне первоклашки.
Прошу помощи!
 
PHP:
$isFirst=true;
<?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')));
        ?>
 
        <?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
            <div class="item <?= ($isFirst) ? 'one' : ''?>">
                <p><?echo $arItem["PREVIEW_TEXT"];?></p>
            </div>
        <?endif;?>
$isFirst = false;
<?endforeach;?>
 
Вариант 1. (убрана лишняя переменная и инкремент в цикле)
<?foreach($arResult["ITEMS"] as $idItem=>$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')));
?>

<?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]:(?>
<div class="item <?= (!$idItem) ? 'one' : ''?>">
<p><?echo $arItem["PREVIEW_TEXT"];?></p>
</div>
<?endif;?>
<?endforeach;?>

Вариант 2. (Юзаем jQuery)

.....
<script>
$('.item:first').addClass('one');
</script>
 
Назад
Сверху