Здравствуйте.
Битриксом занимаюсь чуть больше месяца, до этого все задачи успечно решал через документацию, гугл и божью помощь :-) Но вчера столкнулся с задачей, решить которую самостоятельно я не в состояние.
Есть инфоблок Вакансии. У этого инфоблока есть дополнительные поля "Уровень зарплаты от" и "Уровень зарплаты до", оба типа Число.
Сейчас пишу фильтр для поиска вакансий через форму поиска. У формы поиска тоже есть поля "Уровень зарплаты от" и "Уровень зарплаты до".
Если в ИБ Вакансии и в форме поиска оба поля заполнены, то прокатывает такая конструкция для CIBlockElement::GetList:
Теперь вопрос. Мне нужно предусмотреть ситуацию, когда одно или оба поля в поисковой форме или в ИБ (или и там, и там) будут не заполнены, и грамотно это обработать. Вот на этом месте и я встрял. Т.е. если поле не заполнено, то выводятся все значения этого поля во всех элементах..Трудно объяснить.Надеюсь, что мой вопрос понятен.
Вариант "сделать поля обязательными для заполнения" не катит, т.к. в ТЗ прописано, что эти поля могут быть незаполнены.
Спасибо.
Битриксом занимаюсь чуть больше месяца, до этого все задачи успечно решал через документацию, гугл и божью помощь :-) Но вчера столкнулся с задачей, решить которую самостоятельно я не в состояние.
Есть инфоблок Вакансии. У этого инфоблока есть дополнительные поля "Уровень зарплаты от" и "Уровень зарплаты до", оба типа Число.
Сейчас пишу фильтр для поиска вакансий через форму поиска. У формы поиска тоже есть поля "Уровень зарплаты от" и "Уровень зарплаты до".
Если в ИБ Вакансии и в форме поиска оба поля заполнены, то прокатывает такая конструкция для CIBlockElement::GetList:
Скрытый текст |
---|
/*настройка для уровня зарплаты*/ if (!empty($_POST["salary-level_from"])){ $slf = $_POST["salary-level_from"]; } if(!empty($_POST["salary-level_to"])){ $slt = $_POST["salary-level_to"]; } /*настройка для уровня зарплаты*/ CModule::IncludeModule('iblock'); $arFilter = Array("IBLOCK_ID"=>3,array("LOGIC" => "AND",array(">=PROPERTY_JD_SALARYLEVELFROM"=>$slf,">=PROPERTY_JD_SALARYLEVELTO"=>$slt))); |
Вариант "сделать поля обязательными для заполнения" не катит, т.к. в ТЗ прописано, что эти поля могут быть незаполнены.
Спасибо.