元素输出的条件不起作用

时间:2017-10-02 06:35:35

标签: php bitrix

我有任何数组:

$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
  }

1 个答案:

答案 0 :(得分:0)

您应该使用($ arElementItem [&#39; PROPERTY_STATYS_VALUE&#39;] ==&#39; 1&#39;)条件而不是您使用的条件。原因是$ arFilter数组用于让数据库知道如何过滤项目(这个逻辑在component.php文件中完成)。 至于输出(它通常在template.php中),你看到你有一个foreach循环,你可以通过$ arElementItem访问该项目。 希望这会有所帮助 - 如果不给我回信,我肯定会解决这个问题。