Bitrix CIBlockElement GetList

Пятница, 05 Декабрь 2014

 

К примеру для вывода списка похожих материалов при просмотре элемента (component:news.detail) в Bitrix.
Запрос позволяет сделать выборку списка элементов IBLOCK с фильтрацией и сортировкой по ID элемента.

 

 
<?php
  //SELECT
  $arSelect = array_merge($arParams["FIELD_CODE"], array("ID", "NAME", "CODE"));
 
  $arOrder = array("ID"=>"DESC");
  //WHERE
  $arFilter = array (
    //"!ID" => $arResult['ID'], //не равно ID Текущего элемента
    "<ID" => $arResult['ID'], //меньше ID текущего элемента
    "IBLOCK_ID" => 27,
    "IBLOCK_LID" => SITE_ID,
    "ACTIVE" => "Y",
    "CHECK_PERMISSIONS" => "Y",
  );
  $rsElement = CIBlockElement::GetList($arOrder, $arFilter, false, $arNavParams, $arSelect);
 
  $_arResult["ITEMS"] = array();
 
  while($obElement = $rsElement->GetNextElement())
  {
    $arItem = $obElement->GetFields();
    $_arResult["ITEMS"][] = array('ID'=>$arItem['ID'], 'NAME'=>$arItem['NAME'], 'CODE'=>$arItem['CODE']);
  }
  //shuffle($arResult["ITEMS"]);
  //print_r($arResult["ITEMS"]);
?>
<!-- RELATED-POST -->
<div class="related-post">
<?php if(count($_arResult["ITEMS"])>0): ?>
  <h4>Похожие статьи</h4>
  <ul>
  <?php $i=0; do{ ?>
    <?php if(!empty($_arResult["ITEMS"][$i]['NAME']) && $_arResult["ITEMS"][$i]['ID']!=$_REQUEST["ID"]): ?>
    <li>
      <a title="<?=$_arResult["ITEMS"][$i]['NAME'];?>" href="/about/blog/<?=$_arResult["ITEMS"][$i]['CODE']; ?>/">
        <?=$_arResult["ITEMS"][$i]['NAME'];?>
      </a>
    </li>
    <?php endif; ?>
  <?php $i++; } while($i<4); ?>
  </ul>
<?php endif; ?>
</div>
<!-- END RELATED-POST -->
 

PS. Читайте последние записи RSS Подписка на RSS

 

Добавить комментарий