Битрикс — дополнительный arrFilter под смарт фильтр

22.01.2018  08:09

Доделываем костылями битриксовский смарт фильтр. Допустим в html в форме со смарт-фильтром у нас есть некие поля со значениями свойств:

<div class="name">Комнаты</div>
<input class="radio_rooms rooms_value1" type="radio" name="rooms[]" value="1"/>
<input class="radio_rooms rooms_value2" type="radio" name="rooms[]" value="2"/>
<input class="radio_rooms rooms_value3" type="radio" name="rooms[]" value="3"/>
<input class="radio_rooms rooms_value4" type="radio" name="rooms[]" value="4"/>
<input class="radio_rooms rooms_value5" type="radio" name="rooms[]" value="5"/>
<input class="radio_rooms rooms_value6" type="radio" name="rooms[]" value="6"/>

В скрипте, получающим данные (у меня данные из смарт-фильтра аяксом передаются в скрипт, в котором подключен smart.filter и catalog.section) сначала подключим bitrix:catalog.smart.filter

$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "", array(
		        "IBLOCK_TYPE" => "base",
		        "IBLOCK_ID" => $IBLOCK_ID,
		        "SECTION_ID" => $_REQUEST["SECTION_ID"],
		        "FILTER_NAME" => "arFilter1",
		        "CACHE_TYPE" => "N",
		        "CACHE_TIME" => "0",
		        "CACHE_GROUPS" => "Y",
		        "SAVE_IN_SESSION" => "N",
		        "INSTANT_RELOAD" => "N",
		        "XML_EXPORT" => "N",
		        "SECTION_TITLE" => "-",
		        "SECTION_DESCRIPTION" => "-",
		        "NOVOSTR" => "Y",
		        "RENT" => $RENT,
		    ),
		    false
		);


а затем получим данные из полей
$arFilter1[] = array(
	array(
		"=PROPERTY_ROOMS" => $_REQUEST['room'],
		// "=PROPERTY_COUNT_BADROOMS" => $_REQUEST['bedroom'],
		"LOGIC" => "OR",
	)
);


На выходе у меня отфильтровываются объекты по логике ИЛИ. Т.е. выводятся объекты у которых или 1 комната или 2 или 3 и т.д.


перейти в Блог | Блог (стр. 4)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 45  PHP 57  web-программирование 81  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю:
Имя


email (не публикуется)