Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.32 KB | None | 0 0
  1. <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
  2. /** @var array $arParams */
  3. /** @var array $arResult */
  4. /** @global CMain $APPLICATION */
  5. /** @global CUser $USER */
  6. /** @global CDatabase $DB */
  7. /** @var CBitrixComponentTemplate $this */
  8. /** @var string $templateName */
  9. /** @var string $templateFile */
  10. /** @var string $templateFolder */
  11. /** @var string $componentPath */
  12. /** @var CBitrixComponent $component */
  13. $this->setFrameMode(true);
  14.  
  15. $templateData = array(
  16. 'TEMPLATE_THEME' => $this->GetFolder().'/themes/'.$arParams['TEMPLATE_THEME'].'/colors.css',
  17. 'TEMPLATE_CLASS' => 'bx-'.$arParams['TEMPLATE_THEME']
  18. );
  19.  
  20. if (isset($templateData['TEMPLATE_THEME']))
  21. {
  22. $this->addExternalCss($templateData['TEMPLATE_THEME']);
  23. }
  24. $this->addExternalCss("/bitrix/css/main/bootstrap.css");
  25. $this->addExternalCss("/bitrix/css/main/font-awesome.css");
  26. ?>
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. <div class=" cat-filter bx-filter <?=$templateData["TEMPLATE_CLASS"]?> <?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL") echo "bx-filter-horizontal"?>">
  35. <div class="bx-filter-section container-fluid">
  36. <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>
  37. <form name="<?echo $arResult["FILTER_NAME"]."_form"?>" action="<?echo $arResult["FORM_ACTION"]?>" method="get" class="smartfilter">
  38. <?foreach($arResult["HIDDEN"] as $arItem):?>
  39. <input type="hidden" name="<?echo $arItem["CONTROL_NAME"]?>" id="<?echo $arItem["CONTROL_ID"]?>" value="<?echo $arItem["HTML_VALUE"]?>" />
  40. <?endforeach;?>
  41.  
  42. <?foreach($arResult["ITEMS"] as $key=>$arItem)//prices
  43. {
  44. $key = $arItem["ENCODED_ID"];
  45. if(isset($arItem["PRICE"])):
  46. if ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"] <= 0)
  47. continue;
  48.  
  49. $step_num = 4;
  50. $step = ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"]) / $step_num;
  51. $prices = array();
  52. if (Bitrix\Main\Loader::includeModule("currency"))
  53. {
  54. for ($i = 0; $i < $step_num; $i++)
  55. {
  56. $prices[$i] = CCurrencyLang::CurrencyFormat($arItem["VALUES"]["MIN"]["VALUE"] + $step*$i, $arItem["VALUES"]["MIN"]["CURRENCY"], false);
  57. }
  58. $prices[$step_num] = CCurrencyLang::CurrencyFormat($arItem["VALUES"]["MAX"]["VALUE"], $arItem["VALUES"]["MAX"]["CURRENCY"], false);
  59. }
  60. else
  61. {
  62. $precision = $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0;
  63. for ($i = 0; $i < $step_num; $i++)
  64. {
  65. $prices[$i] = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step*$i, $precision, ".", "");
  66. }
  67. $prices[$step_num] = number_format($arItem["VALUES"]["MAX"]["VALUE"], $precision, ".", "");
  68. }
  69. /*?>
  70. <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">
  71. <span class="bx-filter-container-modef"></span>
  72. <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>
  73. <div class="bx-filter-block" data-role="bx_filter_block">
  74. <div class="row bx-filter-parameters-box-container">
  75. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
  76. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
  77. <div class="bx-filter-input-container">
  78. <input
  79. class="min-price"
  80. type="text"
  81. name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
  82. id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
  83. value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
  84. size="5"
  85. onkeyup="smartFilter.keyup(this)"
  86. />
  87. </div>
  88. </div>
  89. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
  90. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
  91. <div class="bx-filter-input-container">
  92. <input
  93. class="max-price"
  94. type="text"
  95. name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
  96. id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
  97. value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
  98. size="5"
  99. onkeyup="smartFilter.keyup(this)"
  100. />
  101. </div>
  102. </div>
  103.  
  104. <div class="col-xs-10 col-xs-offset-1 bx-ui-slider-track-container">
  105. <div class="bx-ui-slider-track" id="drag_track_<?=$key?>">
  106. <?for($i = 0; $i <= $step_num; $i++):?>
  107. <div class="bx-ui-slider-part p<?=$i+1?>"><span><?=$prices[$i]?></span></div>
  108. <?endfor;?>
  109.  
  110. <div class="bx-ui-slider-pricebar-vd" style="left: 0;right: 0;" id="colorUnavailableActive_<?=$key?>"></div>
  111. <div class="bx-ui-slider-pricebar-vn" style="left: 0;right: 0;" id="colorAvailableInactive_<?=$key?>"></div>
  112. <div class="bx-ui-slider-pricebar-v" style="left: 0;right: 0;" id="colorAvailableActive_<?=$key?>"></div>
  113. <div class="bx-ui-slider-range" id="drag_tracker_<?=$key?>" style="left: 0%; right: 0%;">
  114. <a class="bx-ui-slider-handle left" style="left:0;" href="javascript:void(0)" id="left_slider_<?=$key?>"></a>
  115. <a class="bx-ui-slider-handle right" style="right:0;" href="javascript:void(0)" id="right_slider_<?=$key?>"></a>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <?
  123. $arJsParams = array(
  124. "leftSlider" => 'left_slider_'.$key,
  125. "rightSlider" => 'right_slider_'.$key,
  126. "tracker" => "drag_tracker_".$key,
  127. "trackerWrap" => "drag_track_".$key,
  128. "minInputId" => $arItem["VALUES"]["MIN"]["CONTROL_ID"],
  129. "maxInputId" => $arItem["VALUES"]["MAX"]["CONTROL_ID"],
  130. "minPrice" => $arItem["VALUES"]["MIN"]["VALUE"],
  131. "maxPrice" => $arItem["VALUES"]["MAX"]["VALUE"],
  132. "curMinPrice" => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
  133. "curMaxPrice" => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
  134. "fltMinPrice" => intval($arItem["VALUES"]["MIN"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MIN"]["FILTERED_VALUE"] : $arItem["VALUES"]["MIN"]["VALUE"] ,
  135. "fltMaxPrice" => intval($arItem["VALUES"]["MAX"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MAX"]["FILTERED_VALUE"] : $arItem["VALUES"]["MAX"]["VALUE"],
  136. "precision" => $precision,
  137. "colorUnavailableActive" => 'colorUnavailableActive_'.$key,
  138. "colorAvailableActive" => 'colorAvailableActive_'.$key,
  139. "colorAvailableInactive" => 'colorAvailableInactive_'.$key,
  140. );
  141. ?>
  142. <script type="text/javascript">
  143. BX.ready(function(){
  144. window['trackBar<?=$key?>'] = new BX.Iblock.SmartFilter(<?=CUtil::PhpToJSObject($arJsParams)?>);
  145. });
  146. </script>
  147. <?*/endif;
  148. }
  149.  
  150. //not prices
  151. foreach($arResult["ITEMS"] as $key=>$arItem)
  152. {
  153. if(
  154. empty($arItem["VALUES"])
  155. || isset($arItem["PRICE"])
  156. )
  157. continue;
  158.  
  159. if (
  160. $arItem["DISPLAY_TYPE"] == "A"
  161. && (
  162. $arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"] <= 0
  163. )
  164. )
  165. continue;
  166. ?>
  167. <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?>">
  168. <?/*<span class="bx-filter-container-modef"></span>
  169. <div class="bx-filter-parameters-box-title" onclick="smartFilter.hideFilterProps(this)">
  170. <span class="bx-filter-parameters-box-hint"><?=$arItem["NAME"]?>
  171. <?if ($arItem["FILTER_HINT"] <> ""):?>
  172. <i id="item_title_hint_<?echo $arItem["ID"]?>" class="fa fa-question-circle"></i>
  173. <script type="text/javascript">
  174. new top.BX.CHint({
  175. parent: top.BX("item_title_hint_<?echo $arItem["ID"]?>"),
  176. show_timeout: 10,
  177. hide_timeout: 200,
  178. dx: 2,
  179. preventHide: true,
  180. min_width: 250,
  181. hint: '<?= CUtil::JSEscape($arItem["FILTER_HINT"])?>'
  182. });
  183. </script>
  184. <?endif?>
  185. <i data-role="prop_angle" class="fa fa-angle-<?if ($arItem["DISPLAY_EXPANDED"]== "Y"):?>up<?else:?>down<?endif?>"></i>
  186. </span>
  187. </div>*/?>
  188.  
  189. <div class="bx-filter-block" data-role="bx_filter_block">
  190. <div class="row bx-filter-parameters-box-container">
  191. <?
  192. $arCur = current($arItem["VALUES"]);
  193. switch ($arItem["DISPLAY_TYPE"])
  194. {
  195. case "A"://NUMBERS_WITH_SLIDER
  196. //ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК //ПОЛЗУНОК?>
  197. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
  198. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
  199. <div class="bx-filter-input-container">
  200. <input
  201. class="min-price"
  202. type="text"
  203. name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
  204. id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
  205. value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
  206. size="5"
  207. onkeyup="smartFilter.keyup(this)"
  208. />
  209. </div>
  210. </div>
  211. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
  212. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
  213. <div class="bx-filter-input-container">
  214. <input
  215. class="max-price"
  216. type="text"
  217. name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
  218. id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
  219. value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
  220. size="5"
  221. onkeyup="smartFilter.keyup(this)"
  222. />
  223. </div>
  224. </div>
  225.  
  226. <div class="col-xs-10 col-xs-offset-1 bx-ui-slider-track-container">
  227. <div class="bx-ui-slider-track" id="drag_track_<?=$key?>">
  228. <?
  229. $precision = $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0;
  230. $step = ($arItem["VALUES"]["MAX"]["VALUE"] - $arItem["VALUES"]["MIN"]["VALUE"]) / 4;
  231. $value1 = number_format($arItem["VALUES"]["MIN"]["VALUE"], $precision, ".", "");
  232. $value2 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step, $precision, ".", "");
  233. $value3 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step * 2, $precision, ".", "");
  234. $value4 = number_format($arItem["VALUES"]["MIN"]["VALUE"] + $step * 3, $precision, ".", "");
  235. $value5 = number_format($arItem["VALUES"]["MAX"]["VALUE"], $precision, ".", "");
  236. ?>
  237. <div class="bx-ui-slider-part p1"><span><?=$value1?></span></div>
  238. <div class="bx-ui-slider-part p2"><span><?=$value2?></span></div>
  239. <div class="bx-ui-slider-part p3"><span><?=$value3?></span></div>
  240. <div class="bx-ui-slider-part p4"><span><?=$value4?></span></div>
  241. <div class="bx-ui-slider-part p5"><span><?=$value5?></span></div>
  242.  
  243. <div class="bx-ui-slider-pricebar-vd" style="left: 0;right: 0;" id="colorUnavailableActive_<?=$key?>"></div>
  244. <div class="bx-ui-slider-pricebar-vn" style="left: 0;right: 0;" id="colorAvailableInactive_<?=$key?>"></div>
  245. <div class="bx-ui-slider-pricebar-v" style="left: 0;right: 0;" id="colorAvailableActive_<?=$key?>"></div>
  246. <div class="bx-ui-slider-range" id="drag_tracker_<?=$key?>" style="left: 0;right: 0;">
  247. <a class="bx-ui-slider-handle left" style="left:0;" href="javascript:void(0)" id="left_slider_<?=$key?>"></a>
  248. <a class="bx-ui-slider-handle right" style="right:0;" href="javascript:void(0)" id="right_slider_<?=$key?>"></a>
  249. </div>
  250. </div>
  251. </div>
  252. <?
  253. $arJsParams = array(
  254. "leftSlider" => 'left_slider_'.$key,
  255. "rightSlider" => 'right_slider_'.$key,
  256. "tracker" => "drag_tracker_".$key,
  257. "trackerWrap" => "drag_track_".$key,
  258. "minInputId" => $arItem["VALUES"]["MIN"]["CONTROL_ID"],
  259. "maxInputId" => $arItem["VALUES"]["MAX"]["CONTROL_ID"],
  260. "minPrice" => $arItem["VALUES"]["MIN"]["VALUE"],
  261. "maxPrice" => $arItem["VALUES"]["MAX"]["VALUE"],
  262. "curMinPrice" => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
  263. "curMaxPrice" => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
  264. "fltMinPrice" => intval($arItem["VALUES"]["MIN"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MIN"]["FILTERED_VALUE"] : $arItem["VALUES"]["MIN"]["VALUE"] ,
  265. "fltMaxPrice" => intval($arItem["VALUES"]["MAX"]["FILTERED_VALUE"]) ? $arItem["VALUES"]["MAX"]["FILTERED_VALUE"] : $arItem["VALUES"]["MAX"]["VALUE"],
  266. "precision" => $arItem["DECIMALS"]? $arItem["DECIMALS"]: 0,
  267. "colorUnavailableActive" => 'colorUnavailableActive_'.$key,
  268. "colorAvailableActive" => 'colorAvailableActive_'.$key,
  269. "colorAvailableInactive" => 'colorAvailableInactive_'.$key,
  270. );
  271. ?>
  272. <script type="text/javascript">
  273. BX.ready(function(){
  274. window['trackBar<?=$key?>'] = new BX.Iblock.SmartFilter(<?=CUtil::PhpToJSObject($arJsParams)?>);
  275. });
  276. </script>
  277. <?
  278. break;
  279. case "B"://NUMBERS
  280. /*?>
  281. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-left">
  282. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_FROM")?></i>
  283. <div class="bx-filter-input-container">
  284. <input
  285. class="min-price"
  286. type="text"
  287. name="<?echo $arItem["VALUES"]["MIN"]["CONTROL_NAME"]?>"
  288. id="<?echo $arItem["VALUES"]["MIN"]["CONTROL_ID"]?>"
  289. value="<?echo $arItem["VALUES"]["MIN"]["HTML_VALUE"]?>"
  290. size="5"
  291. onkeyup="smartFilter.keyup(this)"
  292. />
  293. </div>
  294. </div>
  295. <div class="col-xs-6 bx-filter-parameters-box-container-block bx-right">
  296. <i class="bx-ft-sub"><?=GetMessage("CT_BCSF_FILTER_TO")?></i>
  297. <div class="bx-filter-input-container">
  298. <input
  299. class="max-price"
  300. type="text"
  301. name="<?echo $arItem["VALUES"]["MAX"]["CONTROL_NAME"]?>"
  302. id="<?echo $arItem["VALUES"]["MAX"]["CONTROL_ID"]?>"
  303. value="<?echo $arItem["VALUES"]["MAX"]["HTML_VALUE"]?>"
  304. size="5"
  305. onkeyup="smartFilter.keyup(this)"
  306. />
  307. </div>
  308. </div>
  309. <?*/
  310. break;
  311. case "G"://CHECKBOXES_WITH_PICTURES
  312. /*?>
  313. <div class="col-xs-12">
  314. <div class="bx-filter-param-btn-inline">
  315. <?foreach ($arItem["VALUES"] as $val => $ar):?>
  316. <input
  317. style="display: none"
  318. type="checkbox"
  319. name="<?=$ar["CONTROL_NAME"]?>"
  320. id="<?=$ar["CONTROL_ID"]?>"
  321. value="<?=$ar["HTML_VALUE"]?>"
  322. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  323. />
  324. <?
  325. $class = "";
  326. if ($ar["CHECKED"])
  327. $class.= " bx-active";
  328. if ($ar["DISABLED"])
  329. $class.= " disabled";
  330. ?>
  331. <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');">
  332. <span class="bx-filter-param-btn bx-color-sl">
  333. <?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
  334. <span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
  335. <?endif?>
  336. </span>
  337. </label>
  338. <?endforeach?>
  339. </div>
  340. </div>
  341. <?*/
  342. break;
  343. case "H"://CHECKBOXES_WITH_PICTURES_AND_LABELS
  344. /*?>
  345. <div class="col-xs-12">
  346. <div class="bx-filter-param-btn-block">
  347. <?foreach ($arItem["VALUES"] as $val => $ar):?>
  348. <input
  349. style="display: none"
  350. type="checkbox"
  351. name="<?=$ar["CONTROL_NAME"]?>"
  352. id="<?=$ar["CONTROL_ID"]?>"
  353. value="<?=$ar["HTML_VALUE"]?>"
  354. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  355. />
  356. <?
  357. $class = "";
  358. if ($ar["CHECKED"])
  359. $class.= " bx-active";
  360. if ($ar["DISABLED"])
  361. $class.= " disabled";
  362. ?>
  363. <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');">
  364. <span class="bx-filter-param-btn bx-color-sl">
  365. <?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
  366. <span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
  367. <?endif?>
  368. </span>
  369. <span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
  370. if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
  371. ?> (<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
  372. endif;?></span>
  373. </label>
  374. <?endforeach?>
  375. </div>
  376. </div>
  377. <?*/
  378. break;
  379. case "P"://DROPDOWN
  380. $checkedItemExist = false;
  381. //СПИСОК
  382. ?>
  383. <div class="col-xs-12">
  384. <div class="bx-filter-select-container">
  385. <div class="bx-filter-select-block" onclick="smartFilter.showDropDownPopup(this, '<?=CUtil::JSEscape($key)?>')">
  386. <div class="bx-filter-select-text" data-role="currentOption">
  387. <?
  388. foreach ($arItem["VALUES"] as $val => $ar)
  389. {
  390. if ($ar["CHECKED"])
  391. {
  392. echo $ar["VALUE"];
  393. $checkedItemExist = true;
  394. }
  395. }
  396. if (!$checkedItemExist)
  397. {
  398. echo GetMessage("CT_BCSF_FILTER_ALL");
  399. }
  400. ?>
  401. </div>
  402. <div class="bx-filter-select-arrow"></div>
  403. <input
  404. style="display: none"
  405. type="radio"
  406. name="<?=$arCur["CONTROL_NAME_ALT"]?>"
  407. id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
  408. value=""
  409. />
  410. <?foreach ($arItem["VALUES"] as $val => $ar):?>
  411. <input
  412. style="display: none"
  413. type="radio"
  414. name="<?=$ar["CONTROL_NAME_ALT"]?>"
  415. id="<?=$ar["CONTROL_ID"]?>"
  416. value="<? echo $ar["HTML_VALUE_ALT"] ?>"
  417. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  418. />
  419. <?endforeach?>
  420. <div class="bx-filter-select-popup" data-role="dropdownContent" style="display: none;">
  421. <ul>
  422. <li>
  423. <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"])?>')">
  424. <? echo GetMessage("CT_BCSF_FILTER_ALL"); ?>
  425. </label>
  426. </li>
  427. <?
  428. foreach ($arItem["VALUES"] as $val => $ar):
  429. $class = "";
  430. if ($ar["CHECKED"])
  431. $class.= " selected";
  432. if ($ar["DISABLED"])
  433. $class.= " disabled";
  434. ?>
  435. <li>
  436. <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>
  437. </li>
  438. <?endforeach?>
  439. </ul>
  440. </div>
  441. </div>
  442. </div>
  443. </div>
  444. <?
  445. break;
  446. case "R"://DROPDOWN_WITH_PICTURES_AND_LABELS
  447. /*?>
  448. <div class="col-xs-12">
  449. <div class="bx-filter-select-container">
  450. <div class="bx-filter-select-block" onclick="smartFilter.showDropDownPopup(this, '<?=CUtil::JSEscape($key)?>')">
  451. <div class="bx-filter-select-text fix" data-role="currentOption">
  452. <?
  453. $checkedItemExist = false;
  454. foreach ($arItem["VALUES"] as $val => $ar):
  455. if ($ar["CHECKED"])
  456. {
  457. ?>
  458. <?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
  459. <span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
  460. <?endif?>
  461. <span class="bx-filter-param-text">
  462. <?=$ar["VALUE"]?>
  463. </span>
  464. <?
  465. $checkedItemExist = true;
  466. }
  467. endforeach;
  468. if (!$checkedItemExist)
  469. {
  470. ?><span class="bx-filter-btn-color-icon all"></span> <?
  471. echo GetMessage("CT_BCSF_FILTER_ALL");
  472. }
  473. ?>
  474. </div>
  475. <div class="bx-filter-select-arrow"></div>
  476. <input
  477. style="display: none"
  478. type="radio"
  479. name="<?=$arCur["CONTROL_NAME_ALT"]?>"
  480. id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
  481. value=""
  482. />
  483. <?foreach ($arItem["VALUES"] as $val => $ar):?>
  484. <input
  485. style="display: none"
  486. type="radio"
  487. name="<?=$ar["CONTROL_NAME_ALT"]?>"
  488. id="<?=$ar["CONTROL_ID"]?>"
  489. value="<?=$ar["HTML_VALUE_ALT"]?>"
  490. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  491. />
  492. <?endforeach?>
  493. <div class="bx-filter-select-popup" data-role="dropdownContent" style="display: none">
  494. <ul>
  495. <li style="border-bottom: 1px solid #e5e5e5;padding-bottom: 5px;margin-bottom: 5px;">
  496. <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"])?>')">
  497. <span class="bx-filter-btn-color-icon all"></span>
  498. <? echo GetMessage("CT_BCSF_FILTER_ALL"); ?>
  499. </label>
  500. </li>
  501. <?
  502. foreach ($arItem["VALUES"] as $val => $ar):
  503. $class = "";
  504. if ($ar["CHECKED"])
  505. $class.= " selected";
  506. if ($ar["DISABLED"])
  507. $class.= " disabled";
  508. ?>
  509. <li>
  510. <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"])?>')">
  511. <?if (isset($ar["FILE"]) && !empty($ar["FILE"]["SRC"])):?>
  512. <span class="bx-filter-btn-color-icon" style="background-image:url('<?=$ar["FILE"]["SRC"]?>');"></span>
  513. <?endif?>
  514. <span class="bx-filter-param-text">
  515. <?=$ar["VALUE"]?>
  516. </span>
  517. </label>
  518. </li>
  519. <?endforeach?>
  520. </ul>
  521. </div>
  522. </div>
  523. </div>
  524. </div>
  525. <?*/
  526. break;
  527. case "K"://RADIO_BUTTONS
  528. /*?>
  529. <div class="col-xs-12">
  530. <div class="radio">
  531. <label class="bx-filter-param-label" for="<? echo "all_".$arCur["CONTROL_ID"] ?>">
  532. <span class="bx-filter-input-checkbox">
  533. <input
  534. type="radio"
  535. value=""
  536. name="<? echo $arCur["CONTROL_NAME_ALT"] ?>"
  537. id="<? echo "all_".$arCur["CONTROL_ID"] ?>"
  538. onclick="smartFilter.click(this)"
  539. />
  540. <span class="bx-filter-param-text"><? echo GetMessage("CT_BCSF_FILTER_ALL"); ?></span>
  541. </span>
  542. </label>
  543. </div>
  544. <?foreach($arItem["VALUES"] as $val => $ar):?>
  545. <div class="radio">
  546. <label data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label" for="<? echo $ar["CONTROL_ID"] ?>">
  547. <span class="bx-filter-input-checkbox <? echo $ar["DISABLED"] ? 'disabled': '' ?>">
  548. <input
  549. type="radio"
  550. value="<? echo $ar["HTML_VALUE_ALT"] ?>"
  551. name="<? echo $ar["CONTROL_NAME_ALT"] ?>"
  552. id="<? echo $ar["CONTROL_ID"] ?>"
  553. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  554. onclick="smartFilter.click(this)"
  555. />
  556. <span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
  557. if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
  558. ?>&nbsp;(<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
  559. endif;?></span>
  560. </span>
  561. </label>
  562. </div>
  563. <?endforeach;?>
  564. </div>
  565. <?*/
  566. break;
  567. case "U"://CALENDAR
  568. /*?>
  569. <div class="col-xs-12">
  570. <div class="bx-filter-parameters-box-container-block"><div class="bx-filter-input-container bx-filter-calendar-container">
  571. <?$APPLICATION->IncludeComponent(
  572. 'bitrix:main.calendar',
  573. '',
  574. array(
  575. 'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
  576. 'SHOW_INPUT' => 'Y',
  577. 'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MIN"]["VALUE"]).'" onkeyup="smartFilter.keyup(this)" onchange="smartFilter.keyup(this)"',
  578. 'INPUT_NAME' => $arItem["VALUES"]["MIN"]["CONTROL_NAME"],
  579. 'INPUT_VALUE' => $arItem["VALUES"]["MIN"]["HTML_VALUE"],
  580. 'SHOW_TIME' => 'N',
  581. 'HIDE_TIMEBAR' => 'Y',
  582. ),
  583. null,
  584. array('HIDE_ICONS' => 'Y')
  585. );?>
  586. </div></div>
  587. <div class="bx-filter-parameters-box-container-block"><div class="bx-filter-input-container bx-filter-calendar-container">
  588. <?$APPLICATION->IncludeComponent(
  589. 'bitrix:main.calendar',
  590. '',
  591. array(
  592. 'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
  593. 'SHOW_INPUT' => 'Y',
  594. 'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MAX"]["VALUE"]).'" onkeyup="smartFilter.keyup(this)" onchange="smartFilter.keyup(this)"',
  595. 'INPUT_NAME' => $arItem["VALUES"]["MAX"]["CONTROL_NAME"],
  596. 'INPUT_VALUE' => $arItem["VALUES"]["MAX"]["HTML_VALUE"],
  597. 'SHOW_TIME' => 'N',
  598. 'HIDE_TIMEBAR' => 'Y',
  599. ),
  600. null,
  601. array('HIDE_ICONS' => 'Y')
  602. );?>
  603. </div></div>
  604. </div>
  605. <?*/
  606. break;
  607. default://CHECKBOXES
  608. ?>
  609. <div class="col-xs-12">
  610. <?foreach($arItem["VALUES"] as $val => $ar):?>
  611. <div class="checkbox">
  612. <label data-role="label_<?=$ar["CONTROL_ID"]?>" class="bx-filter-param-label <? echo $ar["DISABLED"] ? 'disabled': '' ?>" for="<? echo $ar["CONTROL_ID"] ?>">
  613. <span class="bx-filter-input-checkbox">
  614. <input
  615. type="checkbox"
  616. value="<? echo $ar["HTML_VALUE"] ?>"
  617. name="<? echo $ar["CONTROL_NAME"] ?>"
  618. id="<? echo $ar["CONTROL_ID"] ?>"
  619. <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
  620. onclick="smartFilter.click(this)"
  621. />
  622. <span class="bx-filter-param-text" title="<?=$ar["VALUE"];?>"><?=$ar["VALUE"];?><?
  623. if ($arParams["DISPLAY_ELEMENT_COUNT"] !== "N" && isset($ar["ELEMENT_COUNT"])):
  624. ?>&nbsp;(<span data-role="count_<?=$ar["CONTROL_ID"]?>"><? echo $ar["ELEMENT_COUNT"]; ?></span>)<?
  625. endif;?></span>
  626. </span>
  627. </label>
  628. </div>
  629. <?endforeach;?>
  630. </div>
  631. <?
  632. }
  633. ?>
  634. </div>
  635. <div style="clear: both"></div>
  636. </div>
  637. </div>
  638. <?
  639. }
  640. ?>
  641.  
  642.  
  643. <input
  644. class="btn btn-themes"
  645. type="submit"
  646. id="set_filter"
  647. name="set_filter"
  648. value="<?=GetMessage("CT_BCSF_SET_FILTER")?>"
  649. />
  650. <input
  651. class="btn btn-link"
  652. type="submit"
  653. id="del_filter"
  654. name="del_filter"
  655. value="<?=GetMessage("CT_BCSF_DEL_FILTER")?>"
  656. />
  657. <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;">
  658. <?echo GetMessage("CT_BCSF_FILTER_COUNT", array("#ELEMENT_COUNT#" => '<span id="modef_num">'.intval($arResult["ELEMENT_COUNT"]).'</span>'));?>
  659. <span class="arrow"></span>
  660. <br/>
  661. <a href="<?echo $arResult["FILTER_URL"]?>" target=""><?echo GetMessage("CT_BCSF_FILTER_SHOW")?></a>
  662. </div>
  663.  
  664. </form>
  665.  
  666. </div>
  667. <script type="text/javascript">
  668. var smartFilter = new JCSmartFilter('<?echo CUtil::JSEscape($arResult["FORM_ACTION"])?>', '<?=CUtil::JSEscape($arParams["FILTER_VIEW_MODE"])?>', <?=CUtil::PhpToJSObject($arResult["JS_FILTER_PARAMS"])?>);
  669. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement