我有任何数组:
$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 [&#39; = PROPERTY_STATYS&#39;] ==&#39; 1&#39;)如何正确地提出这个条件? 条件是如果数组的元素是1,则输出文本,例如&#34; 1&#34;如果&#34; 2&#34;然后是主要元素旁边的文本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 :(得分:0)
您应该使用($ arElementItem [&#39; PROPERTY_STATYS_VALUE&#39;] ==&#39; 1&#39;)条件而不是您使用的条件。原因是$ arFilter数组用于让数据库知道如何过滤项目(这个逻辑在component.php文件中完成)。 至于输出(它通常在template.php中),你看到你有一个foreach循环,你可以通过$ arElementItem访问该项目。 希望这会有所帮助 - 如果不给我回信,我肯定会解决这个问题。