Здравствуйте!
Есть самописное пользовательское свойство PRICE, множественное (массив значений цен). Пример, $arItem['DISPLAY_PROPERTIES']['PRICE']['VALUE']
- Array ([0] => 1500 [1] => 3000)
Задается бегунком минимальное $minPrice и максимальное $maxPrice значение. Подскажите, пожалуйста, как выбрать все элементы компонента новостей, у которых хотя бы одно из указанных значений свойства принадлежит диапазону из минимального и максимального значения?
Таким способом как-то фильтруется, но явно не так как хотелось бы.
Есть самописное пользовательское свойство PRICE, множественное (массив значений цен). Пример, $arItem['DISPLAY_PROPERTIES']['PRICE']['VALUE']
- Array ([0] => 1500 [1] => 3000)
Задается бегунком минимальное $minPrice и максимальное $maxPrice значение. Подскажите, пожалуйста, как выбрать все элементы компонента новостей, у которых хотя бы одно из указанных значений свойства принадлежит диапазону из минимального и максимального значения?
| Код |
|---|
// Инициализируем массив фильтра
$EventsArrFilter = array("LOGIC" => "AND");
// Добавляем фильтры по цене, если они указаны
if (!empty($maxPrice) && !empty($minPrice)) {
$EventsArrFilter[] = array("<=PROPERTY_PRICE" => $maxPrice, "FULL");
$EventsArrFilter[] = array(">=PROPERTY_PRICE" => $minPrice, "FULL");
}
// Проверяем, есть ли фильтры в массиве
if (empty($EventsArrFilter) || count($EventsArrFilter) == 1) {
$EventsArrFilter = ''; // если массив пуст или содержит только "LOGIC", сбрасываем
} |