kascor
@kascor
Web-программист

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

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

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

Если бы значение свойства было списком, то делается так:
global $arrFilter;
$arrFilter["PROPERTY_BRAND_VALUE"] = $_GET['BRAND_ID'];
  • Вопрос задан
  • 2264 просмотра
Решения вопроса 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() ) {
	...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы