Добрый день есть задача отобрать элементы торгового каталога в зависимости от фильтра.
Но проблема заключается вот в чём валюта для элементов разная. У одних это рубли у других это доллары.
$rsElements = CIBlockElement::GetList($arSort, array_merge(arrFilter, $arFilter), false, $arNavParams, $arSelect);
Как сделать так чтобы массив фильтрации сделал запрос такого вида
where (CATALOG_CURRENCY_1='RUB' AND CATALOG_PRICE_1>10.0) OR (CATALOG_CURRENCY_1='USD' AND CATALOG_PRICE_1>0.30)
Т.е. по существу чтобы фильтр применялся с условием OR, а не AND.
Думал забирать элементы из справочника "Список Валют"
$lcur = CCurrency::GetList(($b="name"), ($order1="asc"), LANGUAGE_ID);
А потом фильтровать по очерёдности элементы для каждого типа валюты.
Но проблема возникает в пагинации.
Может кто нибудь скажет как можно объединить пагинацию для разных выборок в одну ?
Но проблема заключается вот в чём валюта для элементов разная. У одних это рубли у других это доллары.
$rsElements = CIBlockElement::GetList($arSort, array_merge(arrFilter, $arFilter), false, $arNavParams, $arSelect);
Как сделать так чтобы массив фильтрации сделал запрос такого вида
where (CATALOG_CURRENCY_1='RUB' AND CATALOG_PRICE_1>10.0) OR (CATALOG_CURRENCY_1='USD' AND CATALOG_PRICE_1>0.30)
Т.е. по существу чтобы фильтр применялся с условием OR, а не AND.
Думал забирать элементы из справочника "Список Валют"
$lcur = CCurrency::GetList(($b="name"), ($order1="asc"), LANGUAGE_ID);
А потом фильтровать по очерёдности элементы для каждого типа валюты.
Но проблема возникает в пагинации.
Может кто нибудь скажет как можно объединить пагинацию для разных выборок в одну ?