На странице справа выводится форма для фильтрации элементов каталога по свойствам.
Фильтрация производится при помощи компонента [B]catalog.filter[/B]
Мне нужно сделать так , чтобы можно было добавлять произвольные свойства в админке,
которые бы потом отображались в данном фильтре.
Для получения набора свойств для компонента [B]catalog.filter[/B] я использую следующий код:
[CODE]$list = CIBlockElement::GetList(array('SORT' => 'ASC'), array('IBLOCK_CODE' => $iblockCode/*, 'SECTION_CODE' => $sectionCode*/), false, false, array('*'));
$arElement = $list->GetNextElement();
$arProps = $arElement->GetProperties();
$i = 0;
foreach($arProps as $key => $val)
{
if (($val['PROPERTY_TYPE'] == 'L') && ($val['FILTRABLE'] == 'Y') && ($i < 50))
{
$props[] = $key;
$i++;
}
}
$APPLICATION->IncludeComponent("g-top:catalog.filter", "rightFilter", array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => $iblockId,
"FILTER_NAME" => "arrFilter",
"FIELD_CODE" => array(
0 => "",
1 => "",
),
"PROPERTY_CODE" => $props,
"OFFERS_FIELD_CODE" => array(
0 => "",
1 => "",
),
"OFFERS_PROPERTY_CODE" => array(
0 => "",
1 => "",
),
"LIST_HEIGHT" => "5",
"TEXT_WIDTH" => "20",
"NUMBER_WIDTH" => "5",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"PRICE_CODE" => array(
0 => "BASE",
)
),
false
);[/CODE]
Далее, выводим свойства на экран и видим, что
каждое свойство имеет следующий набор значений:
[CODE] [GROUP] => Array
(
[ID] => 165
[TIMESTAMP_X] => 2013-07-11 12:31:41
[IBLOCK_ID] => 7
[NAME] => Категории
[ACTIVE] => Y
[SORT] => 200
[CODE] => GROUP
[DEFAULT_VALUE] =>
[PROPERTY_TYPE] => L
[ROW_COUNT] => 1
[COL_COUNT] => 30
[LIST_TYPE] => L
[MULTIPLE] => N
[XML_ID] =>
[FILE_TYPE] =>
[MULTIPLE_CNT] => 5
[TMP_ID] =>
[LINK_IBLOCK_ID] => 0
[WITH_DESCRIPTION] => N
[SEARCHABLE] => Y
[FILTRABLE] => Y
[IS_REQUIRED] => N
[VERSION] => 1
[USER_TYPE] =>
[USER_TYPE_SETTINGS] =>
[HINT] =>
[PROPERTY_VALUE_ID] => 56288
[VALUE] => Видео
[DESCRIPTION] =>
[VALUE_ENUM] => Видео
[VALUE_XML_ID] => /672/686
[VALUE_SORT] => 100
[VALUE_ENUM_ID] => 57
[~VALUE] => Видео
[~DESCRIPTION] =>
[~NAME] => Категории
[~DEFAULT_VALUE] =>
)[/CODE]
Исходя из документации, мне нужно использовать свойство [B]FILTRABLE[/B]
[QUOTE]FILTRABLE Выводить поля для фильтрации по данному свойству на странице списка элементов в административном разделе.[/QUOTE]http://dev.1c-bitrix.ru/user_help/content/iblock/iblock_prop_edit.php
Захожу сюда: [B]Рабочий стол - Контент - Инфоблоки - Типы инфоблоков - Каталоги[/B]
Перехожу в редактирование свойств инфоблока.
Ставлю галочки:
[B]Выводить на странице списка элементов поле для фильтрации по этому свойству: [/B]
[B]Показывать в умном фильтре:[/B]
Теперь получаю список свойств и выясняется, что у некоторых свойств [FILTRABLE] => Y, а у новых свойств [FILTRABLE] => N.
[B]Т. е. получается, что эти галочки ни на что не влияют? Зачем тогда они нужны?[/B]
[B]Либо они записывают какие-то другие значения для свойства? Но какие тогда?[/B]
Я не наблюдаю больше других подходящих значений для свойств в указанном выше списке.
[B]Если это поле [FILTRABLE] не подходит, то как тогда еще вывести нужные мне свойства?[/B]