1. Небольшой хак позволяет выводить в компоненте ФИЛИТР свойства типа "множественный список"
не только в виде списка, но и в виде четбоксов.
Для этого добавляем в файл \bitrix\modules\iblock\install\templates\iblock\catalog\.description.php
компонету "element_filter.php" еще одно свойство:
"vid_multilist" => array(
"NAME" => "Способ отображения множественного списка",
"TYPE" => "LIST",
"SIZE" => "2",
"VALUES" => array(
"chetbox" => "Отображать как флажки",
"list" => "Отображать как список"
),
"ADDITIONAL_VALUES" => "N",
"REFRESH" => "Y"
),
А в самом файле компоненты element_filter.php находим:
$res .= SelectBoxMFromArray($name."[]", $arrRef, $value, "", false, $LIST_HEIGHT, "class=\"inputselect\"");
И заменяем на
if ($vid_multilist == "chetbox")
{
$i=0;
foreach($arrRef[reference_id] as $ref)
{
$res .= InputType(checkbox, $name."[]", $ref, $value,false ,$arrRef[reference][$i] , "");
$i++;
}
}
if ($vid_multilist == "list")
{
$res .= SelectBoxMFromArray($name."[]", $arrRef, $value, "", false, $LIST_HEIGHT, "class=\"inputselect\"");
}
Теперь можно выбирать. Имхо, четбоксы - удобнее
2. Небольшой хак позволяющий выводить параметры фильтра не в один столбец, а в заданое количество
столбцов - что более рационально расходует место на странице при большом количестве параметров.
Для этого добавляем в файл \bitrix\modules\iblock\install\templates\iblock\catalog\.description.php
компонету "element_filter.php" еще одно свойство:
"kolonki" => array(
"NAME" => "Количество столбцов",
"TYPE" => "STRING",
"DEFAULT" => "1"
),
А в самом файле компоненты element_filter.php находим:
Толко у вас, наверное, другие поля для сортировки будут.
не только в виде списка, но и в виде четбоксов.
Для этого добавляем в файл \bitrix\modules\iblock\install\templates\iblock\catalog\.description.php
компонету "element_filter.php" еще одно свойство:
"vid_multilist" => array(
"NAME" => "Способ отображения множественного списка",
"TYPE" => "LIST",
"SIZE" => "2",
"VALUES" => array(
"chetbox" => "Отображать как флажки",
"list" => "Отображать как список"
),
"ADDITIONAL_VALUES" => "N",
"REFRESH" => "Y"
),
А в самом файле компоненты element_filter.php находим:
$res .= SelectBoxMFromArray($name."[]", $arrRef, $value, "", false, $LIST_HEIGHT, "class=\"inputselect\"");
И заменяем на
if ($vid_multilist == "chetbox")
{
$i=0;
foreach($arrRef[reference_id] as $ref)
{
$res .= InputType(checkbox, $name."[]", $ref, $value,false ,$arrRef[reference][$i] , "");
$i++;
}
}
if ($vid_multilist == "list")
{
$res .= SelectBoxMFromArray($name."[]", $arrRef, $value, "", false, $LIST_HEIGHT, "class=\"inputselect\"");
}
Теперь можно выбирать. Имхо, четбоксы - удобнее
2. Небольшой хак позволяющий выводить параметры фильтра не в один столбец, а в заданое количество
столбцов - что более рационально расходует место на странице при большом количестве параметров.
Для этого добавляем в файл \bitrix\modules\iblock\install\templates\iblock\catalog\.description.php
компонету "element_filter.php" еще одно свойство:
"kolonki" => array(
"NAME" => "Количество столбцов",
"TYPE" => "STRING",
"DEFAULT" => "1"
),
А в самом файле компоненты element_filter.php находим:
<font class="tabletitletext"><? echo $APPLICATION->GetProperty("title");?></font> | ||||
| ||||
<font class="tablebodytext"><input class="inputbuttonflat" type="submit" name="set_filter" value="Выбрать "> <input type="hidden" name="set_filter" value="Y"><input class="inputbuttonflat" type="submit" name="del_filter" value="<?=GetMessage("IBLOCK_DEL_FILTER")?>"></font> | ||||
<font class="tablebodytext">Сортировать по: |
Толко у вас, наверное, другие поля для сортировки будут.