Условие вывода элементов не работает

У меня есть какие-либо массивы:

$arSelect = Array("ID", "IBLOCK_ID", "NAME", "IBLOCK_SECTION_ID", "DETAIL_PAGE_URL", "EDIT_LINK", "DELETE_LINK");
$arFilter = Array("IBLOCK_ID" => $arParams['IBLOCK_ID'], "ACTIVE"=>"Y", "ACTIVE_DATE"=>"Y", "=PROPERTY_STATYS" => array(2,1), '=PROPERTY_LOT' => $arResult['ID']);

и форма вывода:

<div class="panel-body second-links">
<?foreach ($arElement as $arElementItem):
if (($arSection['ID'] == $arElementItem['IBLOCK_SECTION_ID']) && ($arFilter['=PROPERTY_STATYS_VALUE'] == '1')):?>
<p>
<a class="open_lot" href="javascript:void(0);" url="<?=$arElementItem['DETAIL_PAGE_URL']?>" idElement="<?=$arElementItem['ID']?>">
<?=$arElementItem['NAME']?>
</a>
<a>1</a>
</p>
<?endif;
endforeach;?>
</div>

условие не работает $ arFilter [‘= PROPERTY_STATYS’] == ‘1’) Как правильно поставить это условие?
С условием, что если элемент массива равен 1, выведите текст, например, «1», а если «2», то текст 2 рядом с основным элементом.
var_dump (arFilter):

array(5) {
["IBLOCK_ID"]=> int(14)
["ACTIVE"]=> string(1) "Y"["ACTIVE_DATE"]=> string(1) "Y"["=PROPERTY_STATYS"]=> array(2) {
[0]=> int(2)
[1]=> int(1)
}
["=PROPERTY_LOT"]=> NULL
}

0

Решение

ты должен использовать ($ arElementItem [‘PROPERTY_STATYS_VALUE’] == ‘1’) условие вместо того, которое вы использовали. Причина в том, что массив $ arFilter используется, чтобы позволить базе данных знать, как фильтровать элементы (эта логика выполняется в файле component.php).
Что касается вывода (обычно это в template.php), как вы видите, у вас есть цикл foreach, и вы можете получить доступ к элементу через $ arElementItem.
Надеюсь, это поможет — если не напиши мне обратно, я обязательно исправлю это.

0

Другие решения

Других решений пока нет …