Задать вопрос
kascor
@kascor
Web-программист

Как отфильтровать каталог по значению поля типа highload?

Есть каталог со свойством BREND, тип справочник(highload).

На страницу выводится каталог, как отфильтровать его по значению свойства BREND, так чтобы вывелись товары одного бренда.

Если бы значение свойства было списком, то делается так:
global $arrFilter;
$arrFilter["PROPERTY_BRAND_VALUE"] = $_GET['BRAND_ID'];
  • Вопрос задан
  • 2352 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • Нетология
    Фронтенд-разработчик
    11 месяцев
    Далее
Решения вопроса 1
AlexeyGfi
@AlexeyGfi
YouTube >>> Битриксоид из Колхоза
Выбирать нужно по XML_ID.
Заглянем внутрь.

База данных:
79c8f320d8624c4c85f6b2a4fb177fea.png

HL-блок. Я хз, почему оно названо одинаково (два поля ID). Его можно переименовать, но так делает система и нам сейчас важна стандартная комплектация):
0b144c46bbb44baabfe89b2b88003335.png

Ну и наш запрос:
\Bitrix\Main\Loader::includeModule( 'highloadblock' );
\Bitrix\Main\Loader::includeModule( 'iblock' );

$el_Filter= [
        'IBLOCK_ID' => 5,
        'INCLUDE_SUBSECTIONS' => 'Y', 
        'PROPERTY_BRAND' => 46361
];

$el_Nav= [ 'nTopCount' => 10 ];

$el_Select= [ 'IBLOCK_ID', 'ID', 'NAME', 'PROPERTY_BRAND' ];

$el_res= CIBlockElement::GetList( false, $el_Filter, false, $el_Nav, $el_Select );
while ( $el_arr= $el_res->Fetch() ) {
	...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы