+7 495 008 8452 пн.-пт. 10:00 – 17:00
Загрузка...
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Информационные агентства и новостные сайты частенько выводят в теле основной статьи блок рекомендуемых статей. Обыкновенно они отбираются по тегам статьи или по ключевыс словам. Как реализовать вывод такого блока на «Битрикс»?

1. Фильтр выбора статей arLooksLike

$CurentElement=intval($_GET["ID"]); // берем ID текущей статьи из адресной строки

$res = CIBlockElement::GetByID($CurentElement);
if($ar_res = $res->GetNext())
    $arCurentElement=$ar_res;

// Из названия и поисковых тегов формируем строку, по словам которой будем искать все похожие записи:

$tmpName=str_replace(
    array(".", ",","?","!","-"),
    "",
    trim($arCurentElement["NAME"]." ".$arCurentElement["TAGS"])
);

if(strlen($tmpName)>0){
    $arLooksLike = array(
     "INCLUDE_SUBSECTIONS" => "Y",
     "!ID"=>intval($CurentElement)  /*исключаем данный элемент из выборки*/
    );
    $NameItems=explode(" ",$tmpName);  

    $itemsArray=array();
    foreach($NameItems as $item){
     if(strlen($item)>1){
      $itemsArray[]=array("NAME" => "%".$item."%");  // ищем элементы, у которых выбранное свойство есть в названии
      $itemsArray[]=array("TAGS" => "%".$item."%");  // ищем элементы, у которых выбранное свойство есть в поисковых тегах
     }
    }
    $tmpArray=array("LOGIC" => "OR");  // подключаем логику "ИЛИ"

     $tmpArray=array_merge($tmpArray,$itemsArray); 

    $addFArray=array(
     array($tmpArray),
    );
    $GLOBALS["arLooksLike"]=array_merge($arLooksLike,$addFArray);  
}


2. Подключаем вывод фильтра

В компоненте news.list подключаем фильтр arLooksLike строкой

"FILTER_NAME" => "arLooksLike",



Готово!

Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...