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

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>
 
Назад
Сверху