Здравствуйте! Столкнулась с такой проблемой: Созданы обработчики событий "OnAfterIBlockElementUpdate","OnAfterIBlockElementAdd","OnPriceAdd","OnPriceUpdate", "OnProductUpdate" внутри которых происходит подсчет розничной цены в зависимости от заданной закупочной. При работе с товарами через админку все работает. Но при попытке изменить товар через код, событие не срабатывает Например, ввожу в командной строке:
То есть получаем строку вида "Свойство1;Свойство2;Свойство3;", разбиваем ее на составляющие и ищем по каждому свойству. Функция comfortId возвращает идектификаторы свойств, ее код: function comfortId($c){ $propid=0; switch($c){ case "Телевизор": $propid=75; break; case "Холодильник": $propid=76; break; case "Телефон": $propid=77; break; case "Стиральная машина": $propid=78; break;
} return $propid; }
Для примера,самый простой случай, когда выбрано только одно свойство и подзапросы не используются , массив фильтрации, который уже передается каталогу выглядит так: array(7) { ["PROPERTY_COMFORT_R"]=> int(75) [0]=> NULL ["PROPERTY_RENT_TYPE_VALUE"]=> string(20) "Длительная" ["PROPERTY_DEAL_TYPE_VALUE"]=> string(12) "Аренда" ["PROPERTY_FLAT_ROOM_VALUE"]=> string(16) "Квартира" ["PROPERTY_FURNITURE"]=> string(0) "" [1]=> array(1) { ["PROPERTY_LOCAL"]=> array(7) { ["LOGIC"]=> string(2) "OR" [0]=> int(165) [1]=> int(166) [2]=> int(167) [3]=> int(168) [4]=> int(169) [5]=> int(170) } } }
А вот если поменять на значение и передать так: array(7) { ["PROPERTY_COMFORT_R_VALUE"]=> string(18) "Телевизор" [0]=> NULL ["PROPERTY_RENT_TYPE_VALUE"]=> string(20) "Длительная" ["PROPERTY_DEAL_TYPE_VALUE"]=> string(12) "Аренда" ["PROPERTY_FLAT_ROOM_VALUE"]=> string(16) "Квартира" ["PROPERTY_FURNITURE"]=> string(0) "" [1]=> array(1) { ["PROPERTY_LOCAL"]=> array(7) { ["LOGIC"]=> string(2) "OR" [0]=> int(165) [1]=> int(166) [2]=> int(167) [3]=> int(168) [4]=> int(169) [5]=> int(170) } } } то все работает
Всем привет! Возникла такая проблема: Для фильтрации создаю массив, который потом передается параметром в catalog.section У инфоблока есть поле типа "Список", которое к тому же может быть множественным В массиве использую что-то вроде ["PROPERTY_NAME_VALUE"]=> 'value' и все работает, но когда хочу искать по номерам значений ["PROPERTY_NAME"]=> $id, где $id -число, ID одного из значений из списка, то работает неверно... Оставить первый вариант не могу, т.к. работает очень долго со строками
Тематика сайта - недвижимость. У каждой квартиры есть параметры Этаж и Этажность(дома) В фильтре, помимо номера этажа, есть опция "кроме последнего этажа", то есть необходимо исключить из результатов поиска те квартиры у которых Этаж=Этажность
Добрый день! Извиняюсь, если вопрос покажется глупым. Есть задача фильтровать элементы инфоблока по разности двух полей( т.е. PROPERTY_1 - PROPERTY_2>0 ) Подскажите, пожалуйста, как нужно оформить выражение, чтобы поместить его в $arrFilter?