Помогите, пожалуйста, разобраться с сортировкой по цене
Управление сайтом 16.5.4
Как я понял:
Для вывода списка товаров формируется 4 sql запроса. Сортировка определяется только первым запросом, другие запросы служат для заполнения $arResult
В компоненте catalog.section устанавливаю $arSort = array('catalog_PRICE_1'=>"DESC") и передаю $arSort в CIBlockElement::GetList
В запрос нормально добавляется " ORDER BY CAT_P1.PRICE desc" и ...
Сортировка не отрабатывает.
Оказывается выборка идет по продукции, а не по ком. предложениям
(
INNER JOIN b_iblock_2_index FC on FC.ELEMENT_ID = BE.ID
left join b_catalog_price CAT_P1 on (CAT_P1.PRODUCT_ID = BE.ID AND CAT_P1.CATALOG_GROUP_ID = 1) and ((CAT_P1.QUANTITY_FROM <= 1 OR CAT_P1.QUANTITY_FROM IS NULL) AND (CAT_P1.QUANTITY_TO >= 1 OR CAT_P1.QUANTITY_TO IS NULL)
)
В таблице b_catalog_price только ком. предложения и , естественно, поле CAT_P1.PRICE остается не заполненным и соответственно сортировка не работает.
Я сделал сортировку путем изменения самого запроса, но как-то это не комильфо
Сразу пишу, что в инете я искал, но ничего не нашел, чтобы решить проблему без изменения напрямую SQL запроса.
С битрикс только начал разбираться и скорее всего что-то упустил.
Управление сайтом 16.5.4
Как я понял:
Для вывода списка товаров формируется 4 sql запроса. Сортировка определяется только первым запросом, другие запросы служат для заполнения $arResult
В компоненте catalog.section устанавливаю $arSort = array('catalog_PRICE_1'=>"DESC") и передаю $arSort в CIBlockElement::GetList
В запрос нормально добавляется " ORDER BY CAT_P1.PRICE desc" и ...
Сортировка не отрабатывает.
Оказывается выборка идет по продукции, а не по ком. предложениям
(
INNER JOIN b_iblock_2_index FC on FC.ELEMENT_ID = BE.ID
left join b_catalog_price CAT_P1 on (CAT_P1.PRODUCT_ID = BE.ID AND CAT_P1.CATALOG_GROUP_ID = 1) and ((CAT_P1.QUANTITY_FROM <= 1 OR CAT_P1.QUANTITY_FROM IS NULL) AND (CAT_P1.QUANTITY_TO >= 1 OR CAT_P1.QUANTITY_TO IS NULL)
)
В таблице b_catalog_price только ком. предложения и , естественно, поле CAT_P1.PRICE остается не заполненным и соответственно сортировка не работает.
Я сделал сортировку путем изменения самого запроса, но как-то это не комильфо
Сразу пишу, что в инете я искал, но ничего не нашел, чтобы решить проблему без изменения напрямую SQL запроса.
С битрикс только начал разбираться и скорее всего что-то упустил.