src/Elements/Bundle/DemiFrontendBundle/Resources/views/Infrastructure/includes/filter-sidebar.html.twig line 1

Open in your IDE?
  1. <div class="col-sm-3 demi-infrastructure-sidebar col">
  2.     <div class="demi-infrastructure-sidebar__hl">
  3.         {{ 'demi.infrastructure.filter-to' | trans }}
  4.     </div>
  5.     <section class="demi-infrastructure-sidebar__box">
  6.         <div class="text-muted sr-only">{{ 'sr.demi.infrastructure.your-choice' | trans }}</div>
  7.         <div class="js-quick-filter-bar"></div>
  8.     </section>
  9.     <div class="demi-infrastructure-sidebar__filters panel-group js-filter-form">
  10.         <form action="" data-action="{{ actionPath }}"
  11.               class="js-demi-ajax-form__form {{ isAjax ? '' :'js-action-changer' }}"
  12.               method="get" id="filter-form">
  13.             {% if not pimcore_relations('regions') is empty and showTownFilter %}
  14.                 <section class="demi-infrastructure-sidebar__box panel">
  15.                     <div class="demi-infrastructure-sidebar__head collapsed" data-toggle="collapse"
  16.                          data-parent="#filter-form" data-target="#filter-region" role="button">
  17.                         <div
  18.                             class="row row-gutter--2 justify-content-center arrange arrange--withGutter-8 arrange--middle">
  19.                             <div class="col arrange-sizeFill">
  20.                                 <div
  21.                                     class="demi-infrastructure-sidebar__title">{{ 'demi.infrastructure.filter.headline.region' | trans }}</div>
  22.                             </div>
  23.                             <div class="col-auto arrange-sizeFit">
  24.                                 <span
  25.                                     class="icon icon-open demi-infrastructure-sidebar__collapse-icon icon-arrow-down"></span>
  26.                             </div>
  27.                         </div>
  28.                     </div>
  29.                     <div id="filter-region" class="collapse">
  30.                         <div class="demi-infrastructure-sidebar__body">
  31.                             <fieldset class="form-group">
  32.                                 {% for region in pimcore_relations('regions') %}
  33.                                     <div class="custom-checkbox form-check">
  34.                                         <label class="d-block">
  35.                                             <input class="custom-checkbox__input form-check-input js-filter-form__input"
  36.                                                    type="checkbox"
  37.                                                    name="region[]"
  38.                                                    id="filter-{{ region.getId() }}"
  39.                                                    value=" {{ region.getId() }}"
  40.                                                 {{ region.getId() in app.getRequest().get('region', []) ? 'checked' : '' }}
  41.                                                    data-label=" {{ region.getName() }}"
  42.                                             >
  43.                                             <span class="custom-checkbox__box icon icon-check"></span>
  44.                                             <span class="custom-checkbox__text form-check-label">
  45.                                             {{ region.getName() }}
  46.                                         </span>
  47.                                             <div class="form-errors invalid-feedback"
  48.                                                  data-stylelab-tooltip="atoms-form-errors"></div>
  49.                                         </label>
  50.                                     </div>
  51.                                 {% endfor %}
  52.                             </fieldset>
  53.                         </div>
  54.                     </div>
  55.                 </section>
  56.             {% endif %}
  57.             {% for category in categoryFilterArray %}
  58.                 <section class="demi-infrastructure-sidebar__box panel">
  59.                     <div class="demi-infrastructure-sidebar__head collapsed" data-toggle="collapse"
  60.                          data-parent="#filter-form" data-target="#category-{{ category.id }}" role="button">
  61.                         <div
  62.                             class="row row-gutter--2 justify-content-center arrange arrange--withGutter-8 arrange--middle">
  63.                             {% if category.teaserIcon is defined %}
  64.                                 <div class="col-auto arrange-sizeFit">
  65.                                 <span
  66.                                     class="icon icon-{{ category.teaserIcon }} demi-infrastructure-sidebar__icon"></span>
  67.                                 </div>
  68.                             {% endif %}
  69.                             <div class="col arrange-sizeFill">
  70.                                 <div class="demi-infrastructure-sidebar__title">{{ category.name }}</div>
  71.                             </div>
  72.                             <div class="col-auto arrange-sizeFit">
  73.                                 <span
  74.                                     class="icon icon-open demi-infrastructure-sidebar__collapse-icon icon-arrow-down"></span>
  75.                             </div>
  76.                         </div>
  77.                     </div>
  78.                     {% if category.topics is defined %}
  79.                         <div id="category-{{ category.id }}" class="collapse">
  80.                             <div class="demi-infrastructure-sidebar__body">
  81.                                 <fieldset class="form-group">
  82.                                     {% for checkbox in category.topics | sort((a,b) => a.name <=> b.name) %}
  83.                                         <div class="custom-checkbox form-check">
  84.                                             <label class="d-block">
  85.                                                 <input
  86.                                                     class="custom-checkbox__input form-check-input js-filter-form__input"
  87.                                                     type="checkbox"
  88.                                                     name="filter[]"
  89.                                                     id="filter-{{ checkbox.id }}"
  90.                                                     value="{{ checkbox.id }}"
  91.                                                     {{ checkbox.id in app.getRequest().get('filter', []) ? 'checked' : '' }}
  92.                                                     data-label="{{ checkbox.name }}"
  93.                                                 >
  94.                                                 <span class="custom-checkbox__box icon icon-check"></span>
  95.                                                 <span class="custom-checkbox__text form-check-label">
  96.                                                 {{ checkbox.name }}
  97.                                             </span>
  98.                                                 <div class="form-errors invalid-feedback"
  99.                                                      data-stylelab-tooltip="atoms-form-errors"></div>
  100.                                             </label>
  101.                                         </div>
  102.                                     {% endfor %}
  103.                                 </fieldset>
  104.                             </div>
  105.                         </div>
  106.                     {% endif %}
  107.                 </section>
  108.             {% endfor %}
  109.             {% if showSchladmingAdditionalServiceFilter|default(false) %}
  110.                 <section class="demi-infrastructure-sidebar__box panel">
  111.                     <div class="demi-infrastructure-sidebar__head collapsed" data-toggle="collapse"
  112.                          data-parent="#filter-form" data-target="#sd-additional" role="button">
  113.                         <div
  114.                             class="row row-gutter--2 justify-content-center arrange arrange--withGutter-8 arrange--middle">
  115.                             <div class="col arrange-sizeFill">
  116.                                 <div class="demi-infrastructure-sidebar__title">{{ 'demi.infrasturcture.filter.headline.sd-additional-service' }}</div>
  117.                             </div>
  118.                             <div class="col-auto arrange-sizeFit">
  119.                                 <span
  120.                                     class="icon icon-open demi-infrastructure-sidebar__collapse-icon icon-arrow-down"></span>
  121.                             </div>
  122.                         </div>
  123.                     </div>
  124.                     {% set sdAdditionalFilter = [
  125.                         {
  126.                             id: 'bad-weather',
  127.                             name: 'demi.infrasturcture.filter.sd-additional-service.bad-weather'|trans
  128.                         },
  129.                         {
  130.                             id: 'accessible',
  131.                             name: 'demi.infrasturcture.filter.sd-additional-service.accessible'|trans
  132.                         },
  133.                         {
  134.                             id: 'allow-dogs',
  135.                             name: 'demi.infrasturcture.filter.sd-additional-service.dogs-allowed'|trans
  136.                         },
  137.                     ] %}
  138.                     <div id="sd-additional" class="collapse">
  139.                         <div class="demi-infrastructure-sidebar__body">
  140.                             <fieldset class="form-group">
  141.                                 {% for filter in sdAdditionalFilter %}
  142.                                     <div class="custom-checkbox form-check">
  143.                                         <label class="d-block">
  144.                                             <input
  145.                                                 class="custom-checkbox__input form-check-input js-filter-form__input"
  146.                                                 type="checkbox"
  147.                                                 name="filter-sd-additional[]"
  148.                                                 id="filter-sd-additional{{ filter.id }}"
  149.                                                 value="{{ filter.id }}"
  150.                                                 {{ filter.id in app.getRequest().get('filter-sd-additional', []) ? 'checked' : '' }}
  151.                                                 data-label="{{ filter.name }}"
  152.                                             >
  153.                                             <span class="custom-checkbox__box icon icon-check"></span>
  154.                                             <span class="custom-checkbox__text form-check-label">
  155.                                             {{ filter.name }}
  156.                                         </span>
  157.                                             <div class="form-errors invalid-feedback"
  158.                                                  data-stylelab-tooltip="atoms-form-errors"></div>
  159.                                         </label>
  160.                                     </div>
  161.                                 {% endfor %}
  162.                             </fieldset>
  163.                         </div>
  164.                     </div>
  165.                 </section>
  166.             {% endif %}
  167.             {% if showDateFilter|default(false) %}
  168.                 <section class="demi-infrastructure-sidebar__box panel">
  169.                     <div class="demi-infrastructure-sidebar__head collapsed" data-toggle="collapse"
  170.                          data-parent="#filter-form" data-target="#filter-dates" role="button">
  171.                         <div
  172.                             class="row row-gutter--2 justify-content-center arrange arrange--withGutter-8 arrange--middle">
  173.                             <div class="col arrange-sizeFill">
  174.                                 <div
  175.                                     class="demi-infrastructure-sidebar__title">{{ 'demi.infrastructure.filter.headline.dates' | trans }}</div>
  176.                             </div>
  177.                             <div class="col-auto arrange-sizeFit">
  178.                                 <span
  179.                                     class="icon icon-open demi-infrastructure-sidebar__collapse-icon icon-arrow-down"></span>
  180.                             </div>
  181.                         </div>
  182.                     </div>
  183.                     <div id="filter-dates" class="collapse">
  184.                         <div class="demi-infrastructure-sidebar__body">
  185.                             <fieldset class="form-group">
  186. {#                                {id: "no-restriction", name: "demi.infrastructure.filter.dates.no-restriction"|trans},#}
  187.                                 {% set dates = [
  188.                                     {id: "today", name: "demi.infrastructure.filter.dates.today"|trans},
  189.                                     {id: "monday", name: "demi.infrastructure.filter.dates.monday"|trans},
  190.                                     {id: "tuesday", name: "demi.infrastructure.filter.dates.tuesday"|trans},
  191.                                     {id: "wednesday", name: "demi.infrastructure.filter.dates.wednesday"|trans},
  192.                                     {id: "thursday", name: "demi.infrastructure.filter.dates.thursday"|trans},
  193.                                     {id: "friday", name: "demi.infrastructure.filter.dates.friday"|trans},
  194.                                     {id: "saturday", name: "demi.infrastructure.filter.dates.saturday"|trans},
  195.                                     {id: "sunday", name: "demi.infrastructure.filter.dates.sunday"|trans},
  196.                                     {id: "periode", name: "demi.infrastructure.filter.dates.periode"|trans, addDatePicker: true},
  197.                                 ] %}
  198.                                 {% for date in dates %}
  199.                                     <div class="custom-checkbox form-check">
  200.                                         <label class="d-block js-period-dates">
  201.                                             <span class="js-period-dates__btn">
  202.                                                  <input class="custom-checkbox__input form-check-input js-filter-form__input"
  203.                                                         type="checkbox"
  204.                                                         name="date[]"
  205.                                                         id="filter-{{ date.id }}"
  206.                                                         value="{{ date.id }}"
  207.                                                         {{ date.id in app.getRequest().get('date') ? 'checked' : '' }}
  208.                                                         data-label=" {{ date.name }}">
  209.                                             <span class="custom-checkbox__box icon icon-check"></span>
  210.                                             <span class="custom-checkbox__text form-check-label">
  211.                                                 {{ date.name }}
  212.                                             </span>
  213.                                             </span>
  214.                                            
  215.                                             {% if date.addDatePicker|default(false) %}
  216.                                                 <div class="{{ date.id in app.getRequest().get('date') ? 'show' : '' }} period-dates__collapse js-period-dates__collapse" >
  217.                                                     <span class="filter-sidebar__datepicker d-block mt-3 js-datepicker-range js-period-dates__datepicker">
  218.                                                     <span class="row row--gutter-width-10">
  219.                                                         <span class="col-6">
  220.                                                             {{ include('@ElementsDemiFrontend/Infrastructure/filter/filter-parts/datepicker.html.twig', {
  221.                                                                 inputname: "openfrom",
  222.                                                                 inputlabel: "demi.infrastructure.filter.dates.openfrom"|trans,
  223.                                                                 styleModifier:"js-datepicker-range__from mb-md-0",
  224.                                                                 value: app.request.get("openfrom")
  225.                                                             }) }}
  226.                                                         </span>
  227.                                                         <span class="col-6">
  228.                                                             {{ include('@ElementsDemiFrontend/Infrastructure/filter/filter-parts/datepicker.html.twig', {
  229.                                                                 inputname: "opento",
  230.                                                                 inputlabel: "demi.infrastructure.filter.dates.opento"|trans,
  231.                                                                 styleModifier:"js-datepicker-range__to mb-md-0",
  232.                                                                 value: app.request.get("opento")
  233.                                                             }) }}
  234.                                                         </span>
  235.                                                     </span>
  236.                                                 </span>
  237.                                                 </div>
  238.                                             {% endif %}
  239.                                             <span class="form-errors invalid-feedback d-block" data-stylelab-tooltip="atoms-form-errors"></span>
  240.                                         </label>
  241.                                     </div>
  242.                                 {% endfor %}
  243.                             </fieldset>
  244.                         </div>
  245.                     </div>
  246.                 </section>
  247.             {% endif %}
  248.             {% if showKeywordFilter %}
  249.                 <div class="form-group form-group--search">
  250.                     <input type="text" id="keyword"
  251.                            class="form-control form-control--input js-filter-form__input js-filter-form__input--no-filter"
  252.                            name="keyword" placeholder="{{ 'demi.infrastructure.filter.label.keyword' | trans }}"
  253.                            value="{{ app.request.get('keyword') | escape('url') }}"/>
  254.                     <label for="keyword" class="sr-only">
  255.                         {{ 'demi.infrastructure.filter.label.keyword' | trans }}
  256.                     </label>
  257.                 </div>
  258.             {% endif %}
  259.             <div class="text-center">
  260.                 <button type="submit"
  261.                         class="btn btn-primary mr-3">{{ 'demi.infrastructure.filter.button.filter-to' | trans }}
  262.                 </button>
  263.                 {{ include('@ElementsDemiFrontend/Infrastructure/filter/filter-parts/reset-filters.html.twig',{
  264.                     'buttonText' : 'demi.infrastructure.filter.button.reset-filters' | trans
  265.                 }) }}
  266.             </div>
  267.         </form>
  268.     </div>
  269. </div>