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

Помощь Выводится два раза результат

volodka993

Постоялец
Регистрация
25 Май 2014
Сообщения
60
Реакции
28
Подскажите выводиться свойство раздела UF_ANONS_PICT два раза. Необходимо не выводить.
Код:
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); ?>
<? $this->setFrameMode(true); ?>
<? if (count($arResult) < 1) { return; } ?>

<ul class="uldepth_level_0"><?
    $previousLevel = 0;
    foreach($arResult as $arItem):
        if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):
            echo str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));
        endif;
        if ($arItem["IS_PARENT"]):?>
       
        <li class="depth_level_<?=$arItem["DEPTH_LEVEL"];?>
        <? if ($arItem["SELECTED"]) { echo ' selected active'; } ?>">
        <span>
       
<!-- выводим польз св-во UF_ANONS_PICT --> 
<? 
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter = Array("IBLOCK_ID"=>2, "ID"=>$arResult["ID"]), true,$arSelect=Array("UF_ANONS_PICT")); 
while($ar_result = $db_list->GetNext()): 
?> 
<img src="<?=CFile::GetPath($ar_result["UF_ANONS_PICT"]); ?> "> 
<?endwhile?> 
<!-- // выводим польз св-во UF_ANONS_PICT --> 
        <a href="<?=$arItem["LINK"];?>" class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected'; } ?>"><?=$arItem["TEXT"];?></a>
        <span class="icon span_depth_level_<?=$arItem["DEPTH_LEVEL"];?>"></span>
        </span>
       
                <ul class="uldepth_level_<?=$arItem["DEPTH_LEVEL"];?>">
                   
                <?
        else:
            ?>               
            <li class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected active'; } ?>"><a href="<?=$arItem["LINK"];?>" class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected'; } ?>"><?=$arItem["TEXT"];?></a></li><?
        endif;
        $previousLevel = $arItem["DEPTH_LEVEL"];
    endforeach;?>
    <? if ($previousLevel > 1) {
        echo str_repeat("</ul></li>", ($previousLevel-1) );
    } ?>
</ul>
 
Решение :
оберните вашу конструкция в if
Код:
<? if($arItem["DEPTH_LEVEL"] == 1){?>
<!— выводим польз св-во UF_ANONS_PICT -->
…….. код
<!-- // выводим польз св-во UF_ANONS_PICT -->
<?}?>
тут <? if($arItem["DEPTH_LEVEL"] == 1){?> - меняем уровень меню на тот, который вам необходим.


Получаем:

Код:
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); ?>
<? $this->setFrameMode(true); ?>
<? if (count($arResult) < 1) { return; } ?>

<ul class="uldepth_level_0"><?
    $previousLevel = 0;
    foreach($arResult as $arItem):
        if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):
            echo str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));
        endif;
        if ($arItem["IS_PARENT"]):?>
       
        <li class="depth_level_<?=$arItem["DEPTH_LEVEL"];?>
        <? if ($arItem["SELECTED"]) { echo ' selected active'; } ?>">
        <span>
       
<? if($arItem["DEPTH_LEVEL"] == 2){?>
<? 
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter = Array("IBLOCK_ID"=>2, "ID"=>$arResult["ID"]), true,$arSelect=Array("UF_ANONS_PICT")); 
while($ar_result = $db_list->GetNext()): 
?> 
<img src="<?=CFile::GetPath($ar_result["UF_ANONS_PICT"]); ?> "> 
<?endwhile?> 
<?}?>
        <a href="<?=$arItem["LINK"];?>" class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected'; } ?>"><?=$arItem["TEXT"];?></a>
        <span class="icon span_depth_level_<?=$arItem["DEPTH_LEVEL"];?>"></span>
        </span>
       
                <ul class="uldepth_level_<?=$arItem["DEPTH_LEVEL"];?>">
                   
                <?
        else:
            ?>               
            <li class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected active'; } ?>"><a href="<?=$arItem["LINK"];?>" class="depth_level_<?=$arItem["DEPTH_LEVEL"];?><? if ($arItem["SELECTED"]) { echo ' selected'; } ?>"><?=$arItem["TEXT"];?></a></li><?
        endif;
        $previousLevel = $arItem["DEPTH_LEVEL"];
    endforeach;?>
    <? if ($previousLevel > 1) {
        echo str_repeat("</ul></li>", ($previousLevel-1) );
    } ?>
</ul>
 
Назад
Сверху