PageRenderTime 51ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/components/bitrix/catalog.filter/templates/bootstrap_v4/template.php

https://gitlab.com/alexprowars/bitrix
PHP | 168 lines | 149 code | 8 blank | 11 comment | 8 complexity | 1b29197723b4fc747c3f44ebf3e9ea7b MD5 | raw file
  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. $themeClass = isset($arParams['TEMPLATE_THEME']) ? ' bx-'.$arParams['TEMPLATE_THEME'] : '';
  14. $this->setFrameMode(true);
  15. ?>
  16. <div class="mb-3 catalog-filter<?=$themeClass?>">
  17. <form name="<?echo $arResult["FILTER_NAME"]."_form"?>" action="<?echo $arResult["FORM_ACTION"]?>" method="get">
  18. <div class="container-fluid">
  19. <div class="mb-3 row">
  20. <div class="col bx-filter-title"><?=GetMessage("CT_BCF_FILTER_TITLE")?></div>
  21. </div>
  22. <div class="mb-3 row">
  23. <?foreach($arResult["ITEMS"] as $arItem):?>
  24. <?if(array_key_exists("HIDDEN", $arItem)):?>
  25. <?=$arItem["INPUT"]?>
  26. <?elseif ($arItem["TYPE"] == "RANGE"):?>
  27. <div class="f1 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  28. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?></div>
  29. <div class="catalog-filter-block-body d-flex">
  30. <div class="flex-6">
  31. <input
  32. class="form-control"
  33. type="text"
  34. value="<?=$arItem["INPUT_VALUES"][0]?>"
  35. name="<?=$arItem["INPUT_NAMES"][0]?>"
  36. placeholder="<?=GetMessage("CT_BCF_FROM")?>"
  37. />
  38. </div>
  39. <div class="catalog-filter-field-separator"></div>
  40. <div class="flex-6">
  41. <input
  42. class="form-control"
  43. type="text"
  44. value="<?=$arItem["INPUT_VALUES"][1]?>"
  45. name="<?=$arItem["INPUT_NAMES"][1]?>"
  46. placeholder="<?=GetMessage("CT_BCF_TO")?>"
  47. />
  48. </div>
  49. </div>
  50. </div>
  51. <?elseif ($arItem["TYPE"] == "DATE_RANGE"):?>
  52. <div class="f2 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  53. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?>></div>
  54. <div class="catalog-filter-block-body">
  55. <div class="col-6">
  56. <?$APPLICATION->IncludeComponent(
  57. 'bitrix:main.calendar',
  58. '',
  59. array(
  60. 'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
  61. 'SHOW_INPUT' => 'Y',
  62. 'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MIN"]["VALUE"]).'"',
  63. 'INPUT_NAME' => $arItem["INPUT_NAMES"][0],
  64. 'INPUT_VALUE' => $arItem["INPUT_VALUES"][0],
  65. 'SHOW_TIME' => 'N',
  66. 'HIDE_TIMEBAR' => 'Y',
  67. ),
  68. null,
  69. array('HIDE_ICONS' => 'Y')
  70. );?>
  71. </div>
  72. <div class="col-6">
  73. <?$APPLICATION->IncludeComponent(
  74. 'bitrix:main.calendar',
  75. '',
  76. array(
  77. 'FORM_NAME' => $arResult["FILTER_NAME"]."_form",
  78. 'SHOW_INPUT' => 'Y',
  79. 'INPUT_ADDITIONAL_ATTR' => 'class="calendar" placeholder="'.FormatDate("SHORT", $arItem["VALUES"]["MAX"]["VALUE"]).'"',
  80. 'INPUT_NAME' => $arItem["INPUT_NAMES"][1],
  81. 'INPUT_VALUE' => $arItem["INPUT_VALUES"][1],
  82. 'SHOW_TIME' => 'N',
  83. 'HIDE_TIMEBAR' => 'Y',
  84. ),
  85. null,
  86. array('HIDE_ICONS' => 'Y')
  87. );?>
  88. </div>
  89. </div>
  90. </div>
  91. <?elseif ($arItem["TYPE"] == "SELECT"):?>
  92. <div class="f3 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  93. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?></div>
  94. <div class="catalog-filter-block-body">
  95. <select name="<?=$arItem["INPUT_NAME"].($arItem["MULTIPLE"] == "Y" ? "[]" : "")?>">
  96. <?foreach ($arItem["LIST"] as $key => $value):?>
  97. <option
  98. value="<?=htmlspecialcharsBx($key)?>"
  99. <?if ($key == $arItem["INPUT_VALUE"]) echo 'selected="selected"'?>
  100. ><?=htmlspecialcharsEx($value)?></option>
  101. <?endforeach?>
  102. </select>
  103. </div>
  104. </div>
  105. <?elseif ($arItem["TYPE"] == "CHECKBOX"):?>
  106. <div class="f4 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  107. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?></div>
  108. <div class="catalog-filter-block-body">
  109. <? $arListValue = (is_array($arItem["~INPUT_VALUE"]) ? $arItem["~INPUT_VALUE"] : array($arItem["~INPUT_VALUE"]));
  110. foreach ($arItem["LIST"] as $key => $value):?>
  111. <div class="form-check">
  112. <input
  113. type="checkbox"
  114. class="form-check-input"
  115. value="<?=htmlspecialcharsBx($key)?>"
  116. name="<?echo $arItem["INPUT_NAME"]?>[]"
  117. <?if (in_array($key, $arListValue)) echo 'checked="checked"'?>
  118. >
  119. <label class="form-check-label" for="<?echo $arItem["INPUT_NAME"]?>">?=htmlspecialcharsEx($value)?></label>
  120. </div>
  121. <?endforeach?>
  122. </div>
  123. </div>
  124. <?elseif ($arItem["TYPE"] == "RADIO"):?>
  125. <div class="f5 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  126. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?></div>
  127. <div class="catalog-filter-block-body">
  128. <? $arListValue = (is_array($arItem["~INPUT_VALUE"]) ? $arItem["~INPUT_VALUE"] : array($arItem["~INPUT_VALUE"]));
  129. foreach ($arItem["LIST"] as $key => $value):?>
  130. <div class="form-check">
  131. <input
  132. type="radio"
  133. class="form-check-input"
  134. value="<?=htmlspecialcharsBx($key)?>"
  135. name="<?echo $arItem["INPUT_NAME"]?>"
  136. <?if (in_array($key, $arListValue)) echo 'checked="checked"'?>
  137. >
  138. <label class="form-check-label" for="<?echo $arItem["INPUT_NAME"]?>"><?=htmlspecialcharsEx($value)?></label>
  139. </div>
  140. <?endforeach?>
  141. </div>
  142. </div>
  143. <?else:?>
  144. <div class="f6 mb-2 col-sm-6 col-md-4 catalog-filter-block">
  145. <div class="mb-1 catalog-filter-block-title"><?=$arItem["NAME"]?></div>
  146. <div class="catalog-filter-block-body"><?=$arItem["INPUT"]?></div>
  147. </div>
  148. <?endif?>
  149. <?endforeach;?>
  150. </div>
  151. <div class="row">
  152. <div class="col">
  153. <input type="submit" name="set_filter" value="<?=GetMessage("CT_BCF_SET_FILTER")?>" class="btn btn-primary" />
  154. <input type="hidden" name="set_filter" value="Y" />
  155. <input type="submit" name="del_filter" value="<?=GetMessage("CT_BCF_DEL_FILTER")?>" class="btn btn-link" />
  156. </div>
  157. </div>
  158. </div>
  159. </form>
  160. </div>