Skip to content

Instantly share code, notes, and snippets.

@evrekhman
Created August 22, 2017 16:36
Show Gist options
  • Save evrekhman/b4d0deab5cc64ccf5e8f60b2b6963da1 to your computer and use it in GitHub Desktop.
Save evrekhman/b4d0deab5cc64ccf5e8f60b2b6963da1 to your computer and use it in GitHub Desktop.
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this->setFrameMode(true);
$templateData = array(
'TEMPLATE_THEME' => $this->GetFolder().'/themes/'.$arParams['TEMPLATE_THEME'].'/colors.css',
'TEMPLATE_CLASS' => 'bx-'.$arParams['TEMPLATE_THEME']
);
if (isset($templateData['TEMPLATE_THEME']))
{
$this->addExternalCss($templateData['TEMPLATE_THEME']);
}
$this->addExternalCss("/bitrix/css/main/bootstrap.css");
$this->addExternalCss("/bitrix/css/main/font-awesome.css");
?>
<div class=" cat-filter bx-filter <?=$templateData["TEMPLATE_CLASS"]?> <?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL") echo "bx-filter-horizontal"?>">
<div class="bx-filter-section container-fluid">
<div class="row"><div class="<?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL"):?>col-sm-6 col-md-4<?else:?>col-lg-12<?endif?> bx-filter-title"><?echo GetMessage("CT_BCSF_FILTER_TITLE")?></div></div>
<form name="<?echo $arResult["FILTER_NAME"]."_form"?>" action="<?echo $arResult["FORM_ACTION"]?>" method="get" class="smartfilter">
<?foreach($arResult["HIDDEN"] as $arItem):?>
<input type="hidden" name="<?echo $arItem["CONTROL_NAME"]?>" id="<?echo $arItem["CONTROL_ID"]?>" value="<?echo $arItem["HTML_VALUE"]?>" />
<?endforeach;?>
<?foreach($arResult["ITEMS"] as $key=>$arItem)//prices
{
$key = $arItem["ENCODED_ID"];
if(isset($arItem["PRICE"])):
if ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"] <= 0)
continue;
$step_num = 4;
$step = ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"]) / $step_num;
$prices = array();
if (Bitrix\Main\Loader::includeModule("currency"))
{
for ($i = 0; $i < $step_num; $i++)
{
$prices[$i] = CCurrencyLang::CurrencyFormat($arItem["VALUES"]["MIN"]["VALUE"] + $step*$i, $arItem["VALUES"]["MIN"]["CURRENCY"], false);
}
$prices[$step_num] = CCurrencyLang::CurrencyFormat($arItem["VALUES"]["MAX"]["VALUE"], $arItem["VALUES"]["MAX"]["CURRENCY"], false);
}
else
{
$precision = $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0;
for ($i = 0; $i < $step_num; $i++)
{
$prices[$i] = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step*$i, $precision, ".", "");
}
$prices[$step_num] = number_format($arItem["VALUES"]["MAX"]["VALUE"], $precision, ".", "");
}
/*?>
<div class="<?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL"):?>col-sm-6 col-md-4<?else:?>col-lg-12<?endif?> bx-filter-parameters-box bx-active">
<span class="bx-filter-container-modef"></span>
<div class="bx-filter-parameters-box-title" onclick="smartFilter.hideFilterProps(this)"><span><?=$arItem["NAME"]?> <i data-role="prop_angle" class="fa fa-angle-<?if ($arItem["DISPLAY_EXPANDED"]== "Y"):?>up<?else:?>down<?endif?>"></i></span></div>
<div class="bx-filter-block" data-role="bx_filter_block">
<div class="row bx-filter-parameters-box-container">
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
<div class="bx-filter-input-container">
<input
class="min-price"
type="text"
name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
<div class="bx-filter-input-container">
<input
class="max-price"
type="text"
name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<div class="col-xs-10 col-xs-offset-1 bx-ui-slider-track-container">
<div class="bx-ui-slider-track" id="drag_track_<?=$key?>">
<?for($i = 0; $i <= $step_num; $i++):?>
<div class="bx-ui-slider-part p<?=$i+1?>"><span><?=$prices[$i]?></span></div>
<?endfor;?>
<div class="bx-ui-slider-pricebar-vd" style="left: 0;right: 0;" id="colorUnavailableActive_<?=$key?>"></div>
<div class="bx-ui-slider-pricebar-vn" style="left: 0;right: 0;" id="colorAvailableInactive_<?=$key?>"></div>
<div class="bx-ui-slider-pricebar-v" style="left: 0;right: 0;" id="colorAvailableActive_<?=$key?>"></div>
<div class="bx-ui-slider-range" id="drag_tracker_<?=$key?>" style="left: 0%; right: 0%;">
<a class="bx-ui-slider-handle left" style="left:0;" href="javascript:void(0)" id="left_slider_<?=$key?>"></a>
<a class="bx-ui-slider-handle right" style="right:0;" href="javascript:void(0)" id="right_slider_<?=$key?>"></a>
</div>
</div>
</div>
</div>
</div>
</div>
<?
$arJsParams = array(
"leftSlider" => 'left_slider_'.$key,
"rightSlider" => 'right_slider_'.$key,
"tracker" => "drag_tracker_".$key,
"trackerWrap" => "drag_track_".$key,
"minInputId" => $arItem["VALUES"]["MIN"]["CONTROL_ID"],
"maxInputId" => $arItem["VALUES"]["MAX"]["CONTROL_ID"],
"minPrice" => $arItem["VALUES"]["MIN"]["VALUE"],
"maxPrice" => $arItem["VALUES"]["MAX"]["VALUE"],
"curMinPrice" => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
"curMaxPrice" => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
"fltMinPrice" => intval($arItem["VALUES"]["MIN"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MIN"]["FILTERED_VALUE"] : $arItem["VALUES"]["MIN"]["VALUE"] ,
"fltMaxPrice" => intval($arItem["VALUES"]["MAX"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MAX"]["FILTERED_VALUE"] : $arItem["VALUES"]["MAX"]["VALUE"],
"precision" => $precision,
"colorUnavailableActive" => 'colorUnavailableActive_'.$key,
"colorAvailableActive" => 'colorAvailableActive_'.$key,
"colorAvailableInactive" => 'colorAvailableInactive_'.$key,
);
?>
<script type="text/javascript">
BX.ready(function(){
window['trackBar<?=$key?>'] = new BX.Iblock.SmartFilter(<?=CUtil::PhpToJSObject($arJsParams)?>);
});
</script>
<?*/endif;
}
//not prices
foreach($arResult["ITEMS"] as $key=>$arItem)
{
if(
empty($arItem["VALUES"])
|| isset($arItem["PRICE"])
)
continue;
if (
$arItem["DISPLAY_TYPE"] == "A"
&& (
$arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"] <= 0
)
)
continue;
?>
<div class="<?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL"):?>col-sm-6 col-md-4<?else:?>col-lg-12<?endif?> bx-filter-parameters-box <?if ($arItem["DISPLAY_EXPANDED"]== "Y"):?>bx-active<?endif?>">
<?/*<span class="bx-filter-container-modef"></span>
<div class="bx-filter-parameters-box-title" onclick="smartFilter.hideFilterProps(this)">
<span class="bx-filter-parameters-box-hint"><?=$arItem["NAME"]?>
<?if ($arItem["FILTER_HINT"] <> ""):?>
<i id="item_title_hint_<?echo $arItem["ID"]?>" class="fa fa-question-circle"></i>
<script type="text/javascript">
new top.BX.CHint({
parent: top.BX("item_title_hint_<?echo $arItem["ID"]?>"),
show_timeout: 10,
hide_timeout: 200,
dx: 2,
preventHide: true,
min_width: 250,
hint: '<?= CUtil::JSEscape($arItem["FILTER_HINT"])?>'
});
</script>
<?endif?>
<i data-role="prop_angle" class="fa fa-angle-<?if ($arItem["DISPLAY_EXPANDED"]== "Y"):?>up<?else:?>down<?endif?>"></i>
</span>
</div>*/?>
<div class="bx-filter-block" data-role="bx_filter_block">
<div class="row bx-filter-parameters-box-container">
<?
$arCur = current($arItem["VALUES"]);
switch ($arItem["DISPLAY_TYPE"])
{
case "A"://NUMBERS_WITH_SLIDER
//ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК?>
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
<div class="bx-filter-input-container">
<input
class="min-price"
type="text"
name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
<div class="bx-filter-input-container">
<input
class="max-price"
type="text"
name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<div class="col-xs-10 col-xs-offset-1 bx-ui-slider-track-container">
<div class="bx-ui-slider-track" id="drag_track_<?=$key?>">
<?
$precision = $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0;
$step = ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"]) / 4;
$value1 = number_format($arItem["VALUES"]["MIN"]["VALUE"], $precision, ".", "");
$value2 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step, $precision, ".", "");
$value3 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step * 2, $precision, ".", "");
$value4 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step * 3, $precision, ".", "");
$value5 = number_format($arItem["VALUES"]["MAX"]["VALUE"], $precision, ".", "");
?>
<div class="bx-ui-slider-part p1"><span><?=$value1?></span></div>
<div class="bx-ui-slider-part p2"><span><?=$value2?></span></div>
<div class="bx-ui-slider-part p3"><span><?=$value3?></span></div>
<div class="bx-ui-slider-part p4"><span><?=$value4?></span></div>
<div class="bx-ui-slider-part p5"><span><?=$value5?></span></div>
<div class="bx-ui-slider-pricebar-vd" style="left: 0;right: 0;" id="colorUnavailableActive_<?=$key?>"></div>
<div class="bx-ui-slider-pricebar-vn" style="left: 0;right: 0;" id="colorAvailableInactive_<?=$key?>"></div>
<div class="bx-ui-slider-pricebar-v" style="left: 0;right: 0;" id="colorAvailableActive_<?=$key?>"></div>
<div class="bx-ui-slider-range" id="drag_tracker_<?=$key?>" style="left: 0;right: 0;">
<a class="bx-ui-slider-handle left" style="left:0;" href="javascript:void(0)" id="left_slider_<?=$key?>"></a>
<a class="bx-ui-slider-handle right" style="right:0;" href="javascript:void(0)" id="right_slider_<?=$key?>"></a>
</div>
</div>
</div>
<?
$arJsParams = array(
"leftSlider" => 'left_slider_'.$key,
"rightSlider" => 'right_slider_'.$key,
"tracker" => "drag_tracker_".$key,
"trackerWrap" => "drag_track_".$key,
"minInputId" => $arItem["VALUES"]["MIN"]["CONTROL_ID"],
"maxInputId" => $arItem["VALUES"]["MAX"]["CONTROL_ID"],
"minPrice" => $arItem["VALUES"]["MIN"]["VALUE"],
"maxPrice" => $arItem["VALUES"]["MAX"]["VALUE"],
"curMinPrice" => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
"curMaxPrice" => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
"fltMinPrice" => intval($arItem["VALUES"]["MIN"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MIN"]["FILTERED_VALUE"] : $arItem["VALUES"]["MIN"]["VALUE"] ,
"fltMaxPrice" => intval($arItem["VALUES"]["MAX"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MAX"]["FILTERED_VALUE"] : $arItem["VALUES"]["MAX"]["VALUE"],
"precision" => $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0,
"colorUnavailableActive" => 'colorUnavailableActive_'.$key,
"colorAvailableActive" => 'colorAvailableActive_'.$key,
"colorAvailableInactive" => 'colorAvailableInactive_'.$key,
);
?>
<script type="text/javascript">
BX.ready(function(){
window['trackBar<?=$key?>'] = new BX.Iblock.SmartFilter(<?=CUtil::PhpToJSObject($arJsParams)?>);
});
</script>
<?
break;
case "B"://NUMBERS
/*?>
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
<div class="bx-filter-input-container">
<input
class="min-price"
type="text"
name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
<i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
<div class="bx-filter-input-container">
<input
class="max-price"
type="text"
name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
size="5"
onkeyup="smartFilter.keyup(this)"
/>
</div>
</div>
<?*/
break;
case "G"://CHECKBOXES_WITH_PICTURES
/*?>
<div class="col-xs-12">
<div class="bx-filter-param-btn-inline">
<?foreach ($arItem["VALUES"] as $val => $ar):?>
<input
style="display: none"
type="checkbox"
name="<?=$ar["CONTROL_NAME"]?>"
id="<?=$ar["CONTROL_ID"]?>"
value="<?=$ar["HTML_VALUE"]?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
/>
<?
$class = "";
if ($ar["CHECKED"])
$class.= " bx-active";
if ($ar["DISABLED"])
$class.= " disabled";
?>
<label for="<?=$ar["CONTROL_ID"]?>" data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label <?=$class?>" onclick="smartFilter.keyup(BX('<?=CUtil::JSEscape($ar["CONTROL_ID"])?>')); BX.toggleClass(this, 'bx-active');">
<span class="bx-filter-param-btn bx-color-sl">
<?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
<span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
<?endif?>
</span>
</label>
<?endforeach?>
</div>
</div>
<?*/
break;
case "H"://CHECKBOXES_WITH_PICTURES_AND_LABELS
/*?>
<div class="col-xs-12">
<div class="bx-filter-param-btn-block">
<?foreach ($arItem["VALUES"] as $val => $ar):?>
<input
style="display: none"
type="checkbox"
name="<?=$ar["CONTROL_NAME"]?>"
id="<?=$ar["CONTROL_ID"]?>"
value="<?=$ar["HTML_VALUE"]?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
/>
<?
$class = "";
if ($ar["CHECKED"])
$class.= " bx-active";
if ($ar["DISABLED"])
$class.= " disabled";
?>
<label for="<?=$ar["CONTROL_ID"]?>" data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label<?=$class?>" onclick="smartFilter.keyup(BX('<?=CUtil::JSEscape($ar["CONTROL_ID"])?>')); BX.toggleClass(this, 'bx-active');">
<span class="bx-filter-param-btn bx-color-sl">
<?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
<span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
<?endif?>
</span>
<span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
?> (<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
endif;?></span>
</label>
<?endforeach?>
</div>
</div>
<?*/
break;
case "P"://DROPDOWN
$checkedItemExist = false;
//СПИСОК
?>
<div class="col-xs-12">
<div class="bx-filter-select-container">
<div class="bx-filter-select-block" onclick="smartFilter.showDropDownPopup(this, '<?=CUtil::JSEscape($key)?>')">
<div class="bx-filter-select-text" data-role="currentOption">
<?
foreach ($arItem["VALUES"] as $val => $ar)
{
if ($ar["CHECKED"])
{
echo $ar["VALUE"];
$checkedItemExist = true;
}
}
if (!$checkedItemExist)
{
echo GetMessage("CT_BCSF_FILTER_ALL");
}
?>
</div>
<div class="bx-filter-select-arrow"></div>
<input
style="display: none"
type="radio"
name="<?=$arCur["CONTROL_NAME_ALT"]?>"
id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
value=""
/>
<?foreach ($arItem["VALUES"] as $val => $ar):?>
<input
style="display: none"
type="radio"
name="<?=$ar["CONTROL_NAME_ALT"]?>"
id="<?=$ar["CONTROL_ID"]?>"
value="<? echo $ar["HTML_VALUE_ALT"] ?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
/>
<?endforeach?>
<div class="bx-filter-select-popup" data-role="dropdownContent" style="display: none;">
<ul>
<li>
<label for="<?="all_".$arCur["CONTROL_ID"]?>" class="bx-filter-param-label" data-role="label_<?="all_".$arCur["CONTROL_ID"]?>" onclick="smartFilter.selectDropDownItem(this, '<?=CUtil::JSEscape("all_".$arCur["CONTROL_ID"])?>')">
<? echo GetMessage("CT_BCSF_FILTER_ALL"); ?>
</label>
</li>
<?
foreach ($arItem["VALUES"] as $val => $ar):
$class = "";
if ($ar["CHECKED"])
$class.= " selected";
if ($ar["DISABLED"])
$class.= " disabled";
?>
<li>
<label for="<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label<?=$class?>" data-role="label_<?=$ar["CONTROL_ID"]?>" onclick="smartFilter.selectDropDownItem(this, '<?=CUtil::JSEscape($ar["CONTROL_ID"])?>')"><?=$ar["VALUE"]?></label>
</li>
<?endforeach?>
</ul>
</div>
</div>
</div>
</div>
<?
break;
case "R"://DROPDOWN_WITH_PICTURES_AND_LABELS
/*?>
<div class="col-xs-12">
<div class="bx-filter-select-container">
<div class="bx-filter-select-block" onclick="smartFilter.showDropDownPopup(this, '<?=CUtil::JSEscape($key)?>')">
<div class="bx-filter-select-text fix" data-role="currentOption">
<?
$checkedItemExist = false;
foreach ($arItem["VALUES"] as $val => $ar):
if ($ar["CHECKED"])
{
?>
<?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
<span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
<?endif?>
<span class="bx-filter-param-text">
<?=$ar["VALUE"]?>
</span>
<?
$checkedItemExist = true;
}
endforeach;
if (!$checkedItemExist)
{
?><span class="bx-filter-btn-color-icon all"></span> <?
echo GetMessage("CT_BCSF_FILTER_ALL");
}
?>
</div>
<div class="bx-filter-select-arrow"></div>
<input
style="display: none"
type="radio"
name="<?=$arCur["CONTROL_NAME_ALT"]?>"
id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
value=""
/>
<?foreach ($arItem["VALUES"] as $val => $ar):?>
<input
style="display: none"
type="radio"
name="<?=$ar["CONTROL_NAME_ALT"]?>"
id="<?=$ar["CONTROL_ID"]?>"
value="<?=$ar["HTML_VALUE_ALT"]?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
/>
<?endforeach?>
<div class="bx-filter-select-popup" data-role="dropdownContent" style="display: none">
<ul>
<li style="border-bottom: 1px solid #e5e5e5;padding-bottom: 5px;margin-bottom: 5px;">
<label for="<?="all_".$arCur["CONTROL_ID"]?>" class="bx-filter-param-label" data-role="label_<?="all_".$arCur["CONTROL_ID"]?>" onclick="smartFilter.selectDropDownItem(this, '<?=CUtil::JSEscape("all_".$arCur["CONTROL_ID"])?>')">
<span class="bx-filter-btn-color-icon all"></span>
<? echo GetMessage("CT_BCSF_FILTER_ALL"); ?>
</label>
</li>
<?
foreach ($arItem["VALUES"] as $val => $ar):
$class = "";
if ($ar["CHECKED"])
$class.= " selected";
if ($ar["DISABLED"])
$class.= " disabled";
?>
<li>
<label for="<?=$ar["CONTROL_ID"]?>" data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label<?=$class?>" onclick="smartFilter.selectDropDownItem(this, '<?=CUtil::JSEscape($ar["CONTROL_ID"])?>')">
<?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
<span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
<?endif?>
<span class="bx-filter-param-text">
<?=$ar["VALUE"]?>
</span>
</label>
</li>
<?endforeach?>
</ul>
</div>
</div>
</div>
</div>
<?*/
break;
case "K"://RADIO_BUTTONS
/*?>
<div class="col-xs-12">
<div class="radio">
<label class="bx-filter-param-label" for="<? echo "all_".$arCur["CONTROL_ID"] ?>">
<span class="bx-filter-input-checkbox">
<input
type="radio"
value=""
name="<? echo $arCur["CONTROL_NAME_ALT"] ?>"
id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
onclick="smartFilter.click(this)"
/>
<span class="bx-filter-param-text"><? echo GetMessage("CT_BCSF_FILTER_ALL"); ?></span>
</span>
</label>
</div>
<?foreach($arItem["VALUES"] as $val => $ar):?>
<div class="radio">
<label data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label" for="<? echo $ar["CONTROL_ID"] ?>">
<span class="bx-filter-input-checkbox <? echo $ar["DISABLED"] ? 'disabled': '' ?>">
<input
type="radio"
value="<? echo $ar["HTML_VALUE_ALT"] ?>"
name="<? echo $ar["CONTROL_NAME_ALT"] ?>"
id="<? echo $ar["CONTROL_ID"] ?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
onclick="smartFilter.click(this)"
/>
<span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
?>&nbsp;(<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
endif;?></span>
</span>
</label>
</div>
<?endforeach;?>
</div>
<?*/
break;
case "U"://CALENDAR
/*?>
<div class="col-xs-12">
<div class="bx-filter-parameters-box-container-block"><div class="bx-filter-input-container bx-filter-calendar-container">
<?$APPLICATION->IncludeComponent(
'bitrix:main.calendar',
'',
array(
'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
'SHOW_INPUT' => 'Y',
'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MIN"]["VALUE"]).'" onkeyup="smartFilter.keyup(this)" onchange="smartFilter.keyup(this)"',
'INPUT_NAME' => $arItem["VALUES"]["MIN"]["CONTROL_NAME"],
'INPUT_VALUE' => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
'SHOW_TIME' => 'N',
'HIDE_TIMEBAR' => 'Y',
),
null,
array('HIDE_ICONS' => 'Y')
);?>
</div></div>
<div class="bx-filter-parameters-box-container-block"><div class="bx-filter-input-container bx-filter-calendar-container">
<?$APPLICATION->IncludeComponent(
'bitrix:main.calendar',
'',
array(
'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
'SHOW_INPUT' => 'Y',
'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MAX"]["VALUE"]).'" onkeyup="smartFilter.keyup(this)" onchange="smartFilter.keyup(this)"',
'INPUT_NAME' => $arItem["VALUES"]["MAX"]["CONTROL_NAME"],
'INPUT_VALUE' => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
'SHOW_TIME' => 'N',
'HIDE_TIMEBAR' => 'Y',
),
null,
array('HIDE_ICONS' => 'Y')
);?>
</div></div>
</div>
<?*/
break;
default://CHECKBOXES
?>
<div class="col-xs-12">
<?foreach($arItem["VALUES"] as $val => $ar):?>
<div class="checkbox">
<label data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label <? echo $ar["DISABLED"] ? 'disabled': '' ?>" for="<? echo $ar["CONTROL_ID"] ?>">
<span class="bx-filter-input-checkbox">
<input
type="checkbox"
value="<? echo $ar["HTML_VALUE"] ?>"
name="<? echo $ar["CONTROL_NAME"] ?>"
id="<? echo $ar["CONTROL_ID"] ?>"
<? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
onclick="smartFilter.click(this)"
/>
<span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
?>&nbsp;(<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
endif;?></span>
</span>
</label>
</div>
<?endforeach;?>
</div>
<?
}
?>
</div>
<div style="clear: both"></div>
</div>
</div>
<?
}
?>
<input
class="btn btn-themes"
type="submit"
id="set_filter"
name="set_filter"
value="<?=GetMessage("CT_BCSF_SET_FILTER")?>"
/>
<input
class="btn btn-link"
type="submit"
id="del_filter"
name="del_filter"
value="<?=GetMessage("CT_BCSF_DEL_FILTER")?>"
/>
<div class="bx-filter-popup-result <?if ($arParams["FILTER_VIEW_MODE"] == "VERTICAL") echo $arParams["POPUP_POSITION"]?>" id="modef" <?if(!isset($arResult["ELEMENT_COUNT"])) echo 'style="display:none"';?> style="display: inline-block;">
<?echo GetMessage("CT_BCSF_FILTER_COUNT", array("#ELEMENT_COUNT#" => '<span id="modef_num">'.intval($arResult["ELEMENT_COUNT"]).'</span>'));?>
<span class="arrow"></span>
<br/>
<a href="<?echo $arResult["FILTER_URL"]?>" target=""><?echo GetMessage("CT_BCSF_FILTER_SHOW")?></a>
</div>
</form>
</div>
<script type="text/javascript">
var smartFilter = new JCSmartFilter('<?echo CUtil::JSEscape($arResult["FORM_ACTION"])?>', '<?=CUtil::JSEscape($arParams["FILTER_VIEW_MODE"])?>', <?=CUtil::PhpToJSObject($arResult["JS_FILTER_PARAMS"])?>);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment