The catalog.section component. Output of certain values of the Infoblock property

There is a store. The catalog.section component displays products in a random order in the form of a carousel under the product card.

 $GLOBALS['myFilter'] = array('!ID' => $arResult["ID"]); 
    $APPLICATION->IncludeComponent(
   "bitrix:catalog.section", 
   ".default", 
   array(
      "IBLOCK_TYPE" => "catalog",
      "IBLOCK_ID" => "1",
      "SECTION_ID" => $arResult["IBLOCK_ID"],
      "SECTION_CODE" => "",
      "SECTION_USER_FIELDS" => array(
         0 => "",
         1 => "",
         2 => "",
      ),
      "ELEMENT_SORT_FIELD" => "RAND",
      "ELEMENT_SORT_ORDER" => "RAND",
      "ELEMENT_SORT_FIELD2" => "RAND",
      "ELEMENT_SORT_ORDER2" => "RAND",
      "FILTER_NAME" => "myFilter",
      "INCLUDE_SUBSECTIONS" => "Y",
      "SHOW_ALL_WO_SECTION" => "Y",
      "HIDE_NOT_AVAILABLE" => "N",
      "PAGE_ELEMENT_COUNT" => "6",
      "LINE_ELEMENT_COUNT" => "4",
      "PROPERTY_CODE" => array(
         0 => "",
         1 => "",
      ),
      "OFFERS_LIMIT" => "5",
      "ADD_PICT_PROP" => "-",
      "LABEL_PROP" => array(
      ),
      "PRODUCT_SUBSCRIPTION" => "N",
      "SHOW_DISCOUNT_PERCENT" => "N",
      "SHOW_OLD_PRICE" => "N",
      "MESS_BTN_BUY" => "Купить",
      "MESS_BTN_ADD_TO_BASKET" => "В корзину",
      "MESS_BTN_SUBSCRIBE" => "Подписаться",
      "MESS_BTN_DETAIL" => "Подробнее",
      "MESS_NOT_AVAILABLE" => "Нет в наличии",
      "SECTION_URL" => "/catalog/#SECTION_CODE#/",
      "DETAIL_URL" => "/catalog/#SECTION_CODE#/#ELEMENT_CODE#/",
      "BASKET_URL" => "/personal/cart/",
      "ACTION_VARIABLE" => "action",
      "PRODUCT_ID_VARIABLE" => "id",
      "PRODUCT_QUANTITY_VARIABLE" => "quantity",
      "PRODUCT_PROPS_VARIABLE" => "prop",
      "SECTION_ID_VARIABLE" => "SECTION_ID",
      "AJAX_MODE" => "N",
      "AJAX_OPTION_JUMP" => "N",
      "AJAX_OPTION_STYLE" => "Y",
      "AJAX_OPTION_HISTORY" => "N",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "36000000",
      "CACHE_GROUPS" => "Y",
      "META_KEYWORDS" => "-",
      "META_DESCRIPTION" => "-",
      "BROWSER_TITLE" => "-",
      "ADD_SECTIONS_CHAIN" => "N",
      "DISPLAY_COMPARE" => "N",
      "SET_TITLE" => "Y",
      "SET_STATUS_404" => "N",
      "CACHE_FILTER" => "N",
      "PRICE_CODE" => array(
         0 => "BASE",
      ),
      "USE_PRICE_COUNT" => "N",
      "SHOW_PRICE_COUNT" => "1",
      "PRICE_VAT_INCLUDE" => "Y",
      "PRODUCT_PROPERTIES" => array(
      ),
      "USE_PRODUCT_QUANTITY" => "N",
      "CONVERT_CURRENCY" => "N",
      "PAGER_TEMPLATE" => ".default",
      "DISPLAY_TOP_PAGER" => "N",
      "DISPLAY_BOTTOM_PAGER" => "N",
      "PAGER_TITLE" => "Товары",
      "PAGER_SHOW_ALWAYS" => "Y",
      "PAGER_DESC_NUMBERING" => "N",
      "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
      "PAGER_SHOW_ALL" => "N",
      "AJAX_OPTION_ADDITIONAL" => "",
      "COMPONENT_TEMPLATE" => ".default",
      "CUSTOM_FILTER" => "{\"CLASS_ID\":\"CondGroup\",\"DATA\":{\"All\":\"AND\",\"True\":\"True\"},\"CHILDREN\":[]}",
      "HIDE_NOT_AVAILABLE_OFFERS" => "N",
      "PROPERTY_CODE_MOBILE" => array(
      ),
      "BACKGROUND_IMAGE" => "-",
      "TEMPLATE_THEME" => "",
      "PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'6','BIG_DATA':false}]",
      "ENLARGE_PRODUCT" => "STRICT",
      "PRODUCT_BLOCKS_ORDER" => "price,props,sku,quantityLimit,quantity,buttons,compare",
      "SHOW_SLIDER" => "Y",
      "LABEL_PROP_MOBILE" => "",
      "LABEL_PROP_POSITION" => "top-left",
      "SHOW_MAX_QUANTITY" => "N",
      "SHOW_CLOSE_POPUP" => "N",
      "RCM_TYPE" => "personal",
      "RCM_PROD_ID" => $_REQUEST["PRODUCT_ID"],
      "SHOW_FROM_SECTION" => "N",
      "SEF_MODE" => "N",
      "SET_BROWSER_TITLE" => "Y",
      "SET_META_KEYWORDS" => "Y",
      "SET_META_DESCRIPTION" => "Y",
      "SET_LAST_MODIFIED" => "N",
      "USE_MAIN_ELEMENT_SECTION" => "N",
      "ADD_PROPERTIES_TO_BASKET" => "Y",
      "PARTIAL_PRODUCT_PROPERTIES" => "N",
      "ADD_TO_BASKET_ACTION" => "ADD",
      "USE_ENHANCED_ECOMMERCE" => "N",
      "PAGER_BASE_LINK_ENABLE" => "N",
      "LAZY_LOAD" => "N",
      "LOAD_ON_SCROLL" => "N",
      "SHOW_404" => "N",
      "MESSAGE_404" => "",
      "COMPATIBLE_MODE" => "Y",
      "DISABLE_INIT_JS_IN_COMPONENT" => "N",
      "SLIDER_INTERVAL" => "3000",
      "SLIDER_PROGRESS" => "N"
   ),
   false
);

Question: how can I make catalog.section display only those products that are stored in the property of the Info Block with the name "Recommended" (such as "linking to elements") exclusively in the context of the product on which we are located. I.e., if we have specified the item "Herringbone" in the multiple "Recommended" items " Toys", "Asterisk" and "Firecracker", so that it is these three products that we go to the page with "Christmas Tree! and were deduced?

Author: 0xdb, 2018-02-04

1 answers

Above the component call, we write

<?
    $ID = array();
    $res = CIBlockElement::GetProperty($idИНФОБЛОКА, 
    $idЭЛЕМЕНТА, "sort", "asc", array("NAME" => "<имя свойства>"));
    while ($ob = $res->GetNext())
    {
        $ID[] = $ob['VALUE'];
    }
global $arFilter;
$arFilter = array(
"ID" => $ID
            );
?>

In the component call, set the filter name

"FILTER_NAME" => "arFilter",

The values of the bind to info block elements property are just an array of product IDs

 2
Author: THE3X1LE, 2018-02-06 06:03:07