Сортировка товаров в catalog.section по заданному порядку ID
Как компоненту bitrix:catalog.section задать порядок вывода товаров в соответствии с переданными массивом ID
Зачастую вывод товаров в определенном порядке по последовательности/массиву ID требуется при использовании множественного свойства типа «Привязка к элементам».
Нужно передать компоненту bitrix:catalog.section параметр CUSTOM_ELEMENT_SORT:
<?php
$productIds = [3, 1, 2]; //массив ID товаров
$GLOBALS["productsFilter"] = [
"ID" => $productIds,
];
$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"",
Array(
//...
"FILTER_NAME" => "productsFilter",
"CUSTOM_ELEMENT_SORT" => ["ID" => $productIds],
//...
)
);
Однако параметр CUSTOM_ELEMENT_SORT, как указано в документации, доступен только с версии модуля iblock 20.0.400. Узнать версию можно в списке модулей (Настройки → Список модулей).
Но есть другой вариант – через использование параметров ELEMENT_SORT_FIELD и ELEMENT_SORT_ORDER:
<?php
$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"",
Array(
//...
"FILTER_NAME" => "productsFilter",
"ELEMENT_SORT_FIELD" => "ID",
"ELEMENT_SORT_ORDER" => $productIds, //массив ID товаров
//...
)
);
Оставьте комментарий
Если эта статья была полезной для вас, оставьте комментарий ниже или задайте интересующий Вас вопрос. Ваш опыт может помочь другим читателям!
Написать комментарий