vendor/shopware/storefront/Resources/views/storefront/component/listing/filter/filter-range.html.twig line 1

Open in your IDE?
  1. {% set filterItemId = 'filter-' ~ name ~ '-' ~ random() %}
  2. {% if filterRangeActiveMinLabel is not defined %}
  3.     {% set filterRangeActiveMinLabel = 'listing.filterRangeActiveMinLabel'|trans({'%displayName%': displayName})|sw_sanitize %}
  4. {% endif %}
  5. {% if filterRangeActiveMaxLabel is not defined %}
  6.     {% set filterRangeActiveMaxLabel = 'listing.filterRangeActiveMaxLabel'|trans({'%displayName%': displayName})|sw_sanitize %}
  7. {% endif %}
  8. {% if filterRangeErrorMessage is not defined %}
  9.     {% set filterRangeErrorMessage = 'listing.filterRangeErrorMessage'|trans|sw_sanitize %}
  10. {% endif %}
  11. {% if filterRangeLowerBoundErrorMessage is not defined %}
  12.     {% set filterRangeLowerBoundErrorMessage = 'listing.filterRangeLowerBoundErrorMessage'|trans({'%lowerBound%': lowerBound})|sw_sanitize %}
  13. {% endif %}
  14. {% if minKey is not defined %}
  15.     {% set minKey = 'min-price' %}
  16. {% endif %}
  17. {% if maxKey is not defined %}
  18.     {% set minKey = 'max-price' %}
  19. {% endif %}
  20. {% if unit is not defined %}
  21.     {% set unit = page.header.activeCurrency.symbol %}
  22. {% endif %}
  23. {# @deprecated tag:v6.5.0 - `currencySymbol` will be removed use `unit` instead #}
  24. {% if currencySymbol is defined %}
  25.     {% set unit = currencySymbol %}
  26. {% endif %}
  27. {% if minInputValue is not defined %}
  28.     {% set minInputValue = 0 %}
  29. {% endif %}
  30. {% if maxInputValue is not defined %}
  31.     {# @deprecated tag:v6.5.0 - use maxInputValue instead of price #}
  32.     {% set maxInputValue = price.max %}
  33. {% endif %}
  34. {% set filterRangeOptions = {
  35.     name,
  36.     minKey,
  37.     maxKey,
  38.     lowerBound,
  39.     unit,
  40.     currencySymbol,
  41.     snippets: {
  42.         filterRangeActiveMinLabel,
  43.         filterRangeActiveMaxLabel,
  44.         filterRangeErrorMessage,
  45.         filterRangeLowerBoundErrorMessage
  46.     }
  47. } %}
  48. {% block component_filter_range %}
  49.     {# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
  50.     <div class="filter-range filter-panel-item{% if not sidebar %} dropdown{% endif %}{% if feature('v6.5.0.0') %} d-grid{% endif %}"
  51.          data-filter-range="true"
  52.          data-filter-range-options='{{ filterRangeOptions|json_encode }}'>
  53.         {% block component_filter_range_toggle %}
  54.             {# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
  55.             <button class="filter-panel-item-toggle btn{% if sidebar and not feature('v6.5.0.0') %} btn-block{% endif %}"
  56.                     aria-expanded="false"
  57.                     {% if sidebar %}
  58.                     {{ dataBsToggleAttr }}="collapse"
  59.                     {{ dataBsTargetAttr }}="#{{ filterItemId }}"
  60.                     {% else %}
  61.                     {{ dataBsToggleAttr }}="dropdown"
  62.                     data-boundary="viewport"
  63.                     {{ dataBsOffsetAttr }}="0,8"
  64.                     aria-haspopup="true"
  65.                     {% endif %}>
  66.                 {% block component_filter_range_display_name %}
  67.                     {{ displayName }}
  68.                 {% endblock %}
  69.                 {% block component_filter_range_toggle_icon %}
  70.                     {% sw_icon 'arrow-medium-down' style {'pack': 'solid', 'size': 'xs', 'class': 'filter-panel-item-toggle'} %}
  71.                 {% endblock %}
  72.             </button>
  73.         {% endblock %}
  74.         {% block component_filter_range_dropdown %}
  75.             <div class="filter-range-dropdown filter-panel-item-dropdown{% if sidebar %} collapse{% else %} dropdown-menu{% endif %}"
  76.                  id="{{ filterItemId }}">
  77.                 {% block component_filter_range_container %}
  78.                     <div class="filter-range-container">
  79.                         {% block component_filter_range_min %}
  80.                             <label class="filter-range-min">
  81.                                 {% block component_filter_range_min_label %}
  82.                                     {{ 'listing.filterRangeMinLabel'|trans|sw_sanitize }}
  83.                                 {% endblock %}
  84.                                 {% block component_filter_range_min_input %}
  85.                                     <input class="form-control min-input"
  86.                                            type="number"
  87.                                            name="{{ minKey }}"
  88.                                            min="{{ minInputValue }}"
  89.                                            max="{{ maxInputValue }}">
  90.                                 {% endblock %}
  91.                                 {% block component_filter_range_min_unit %}
  92.                                     {# @deprecated tag:v6.5.0 - The block `component_filter_range_min_currency_symbol` will be renamed, use block `component_filter_range_min_unit` instead #}
  93.                                     {% block component_filter_range_min_currency_symbol %}
  94.                                         {# @deprecated tag:v6.5.0 - `filter-range-currency-symbol` will be removed, use `filter-range-unit` instead #}
  95.                                         <span class="filter-range-unit filter-range-currency-symbol">
  96.                                             {{ unit }}
  97.                                         </span>
  98.                                     {% endblock %}
  99.                                 {% endblock %}
  100.                             </label>
  101.                         {% endblock %}
  102.                         {% block component_filter_range_divider %}
  103.                             <div class="filter-range-divider">
  104.                                 &ndash;
  105.                             </div>
  106.                         {% endblock %}
  107.                         {% block component_filter_range_max %}
  108.                             <label class="filter-range-max">
  109.                                 {% block component_filter_range_max_label %}
  110.                                     {{ 'listing.filterRangeMaxLabel'|trans|sw_sanitize }}
  111.                                 {% endblock %}
  112.                                 {% block component_filter_range_max_input %}
  113.                                     <input class="form-control max-input"
  114.                                            type="number"
  115.                                            name="{{ maxKey }}"
  116.                                            min="{{ minInputValue }}"
  117.                                            max="{{ maxInputValue }}">
  118.                                 {% endblock %}
  119.                                 {% block component_filter_range_max_unit %}
  120.                                     {# @deprecated tag:v6.5.0 - The block `component_filter_range_max_currency_symbol` will be renamed, use block `component_filter_range_min_unit` instead #}
  121.                                     {% block component_filter_range_max_currency_symbol %}
  122.                                         {# @deprecated tag:v6.5.0 - `filter-range-currency-symbol` will be removed, use `filter-range-unit` instead #}
  123.                                         <span class="filter-range-unit filter-range-currency-symbol">
  124.                                             {{ unit }}
  125.                                         </span>
  126.                                     {% endblock %}
  127.                                 {% endblock %}
  128.                             </label>
  129.                         {% endblock %}
  130.                     </div>
  131.                 {% endblock %}
  132.             </div>
  133.         {% endblock %}
  134.     </div>
  135. {% endblock %}