src/Elements/Bundle/DemiFrontendBundle/Resources/views/Snippet/filterSidebar/sorting.desktop.html.twig line 1

Open in your IDE?
  1. {% set isMapAllowed = not pimcore_checkbox('noMapAllowed').isChecked() %}
  2. {% set showMapToggle = pimcore_checkbox('showMapToggle').isChecked() %}
  3. {% set showMapInitially = not pimcore_checkbox('hideMapInitially').isChecked() %}
  4. {% set useListTeaserStyle = not pimcore_checkbox('useListTiles').isChecked() %}
  5. {% set showMap = isMapAllowed and not pimcore_device().isPhone() and ((app.request.get('showMap') is null and showMapInitially) or app.request.get('showMap') == 1) %}
  6. {% if demi_core_configuration("getSortingStars", {}) or
  7.     demi_core_configuration("getSortingRatingAverage", {}) or
  8.     demi_core_configuration("getSortingBookable", {}) or
  9.     demi_core_configuration("getSortingPrice", {}) %}
  10.     {% set filterTexte = [] %}
  11.     {% set paramName = "sorting" %}
  12.     <script type="text/javascript" data-cookieconsent="ignore">
  13.         _config.sortingDesktop = true;
  14.         _config.popover = true;
  15.         _config.showMapToggle = true;
  16.     </script>
  17.     <div class="sorting-bar js-sorting-form js-filter-form d-flex">
  18.         {% if isMapAllowed %}
  19.         <div class="align-self-center mr-3 {{ showMapToggle ? '': 'd-lg-none' }}">
  20.             <label>
  21.                     <span class="switch mr-2">
  22.                         <input class="sr-only js-show-map-toggle" name="all"
  23.                                type="checkbox" {{ showMap ? 'checked' : '' }}>
  24.                         <span class="switch__toggle"></span>
  25.                     </span>
  26.                 {{ 'demi.map.show-map' | trans }}
  27.             </label>
  28.         </div>
  29.         {% endif %}
  30.         <div class="align-self-center">
  31.             <span class="js-acco-list__total-result-count acco-list__total-result-count d-none d-lg-block">{{ totalCount }} {{ totalCount == 1 ? 'demi.paging.result'|trans : 'demi.paging.results'|trans}}</span>
  32.         </div>
  33.         <div class="align-self-center mr-2 d-lg-none">
  34.             <button type="button" class="btn-no-styling js-sidebar__toggle"
  35.                     data-target="#filter-sidebar"
  36.                     aria-hidden="true">
  37.                 <span class="demi-icon demi-icon-filter mr-2 icon-in-text"></span>
  38.                 {{ "demi.list.show-filter" | trans }}
  39.             </button>
  40.         </div>
  41.         <button type="button"
  42.                 class="sorting-bar-btn sorting-bar-btn--has-icon mr-0 ml-auto js-popover__toggle js-filter-form__popover-toggle btn-no-styling"
  43.                 data-content-el="#popover-sorting" data-container="body" data-placement="bottom">
  44.             {{ "demi.sort.sorting" | trans}}:
  45.             <span class="js-sorting-form__sorting-label"
  46.                   data-default-text="{{ 'demi.sort.no-sorting' | trans }}">{{ 'demi.sort.no-sorting' | trans }}
  47.             </span><span
  48.                 class="demi-icon demi-icon-chevron-down sorting-bar-btn__icon"
  49.                 aria-label="{{ 'demi.open' | trans }}"></span>
  50.         </button>
  51.         <div hidden>
  52.             <section id="popover-sorting" class="filter-box js-filter-form__auto-commit">
  53.                 <div class="filter-box__content">
  54.                     <span class="h3 mb-3">{{ 'demi.sort.sorting' | trans }}</span>
  55.                     <ul class="list-unstyled">
  56.                         <li class="mb-2">
  57.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  58.                                 'label' : 'demi.sort.no-sorting' | trans,
  59.                                 'text' : 'demi.sort.no-sorting' | trans,
  60.                                 'type' : 'radio',
  61.                                 'name' : paramName,
  62.                                 'additionalContent' : false,
  63.                                 'isChecked' : false,
  64.                                 'icon' : '',
  65.                                 'value' : '',
  66.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  67.                                 'isBlock' : true,
  68.                                 'noBox' : true,
  69.                                 'isRequired' : false
  70.                             }) }}
  71.                             {% set filterTexte = filterTexte | merge([{
  72.                                 'name' : paramName ,
  73.                                 'value' : '',
  74.                                 'text' : "demi.sort.no-sorting" | trans,
  75.                             }]) %}
  76.                         </li>
  77.                         {% if demi_core_configuration("getSortingStars", {}) %}
  78.                         <li class="mb-2">
  79.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  80.                                 'label' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  81.                                 'text' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  82.                                 'type' : 'radio',
  83.                                 'additionalContent' : true,
  84.                                 'name' : paramName,
  85.                                 'additionalContent' : true,
  86.                                 'isChecked' : false,
  87.                                 'icon' : 'sort-asc',
  88.                                 'value' : 'starsAsc',
  89.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  90.                                 'isBlock' : true,
  91.                                 'noBox' : true,
  92.                                 'isRequired' : false
  93.                             }) }}
  94.                             {% set filterTexte = filterTexte | merge([{
  95.                                 'name' : paramName ,
  96.                                 'value' : 'starsAsc',
  97.                                 'text' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  98.                             }]) %}
  99.                         </li>
  100.                         <li class="mb-2">
  101.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  102.                                 'label' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  103.                                 'text' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  104.                                 'type' : 'radio',
  105.                                 'additionalContent' : true,
  106.                                 'name' : paramName,
  107.                                 'additionalContent' : true,
  108.                                 'isChecked' : false,
  109.                                 'icon' : 'sort-desc',
  110.                                 'value' : 'starsDesc',
  111.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  112.                                 'isBlock' : true,
  113.                                 'noBox' : true,
  114.                                 'isRequired' : false
  115.                             }) }}
  116.                             {% set filterTexte = filterTexte | merge([{
  117.                                 'name' : paramName ,
  118.                                 'value' : 'starsDesc',
  119.                                 'text' : 'demi.sort.stars' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  120.                             }]) %}
  121.                         </li>
  122.                         {% endif %}
  123.                         {% if demi_core_configuration("getSortingPrice", {}) %}
  124.                         <li class="mb-2">
  125.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  126.                                 'label' : 'demi.sort.price' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  127.                                 'text' : 'demi.sort.price' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  128.                                 'type' : 'radio',
  129.                                 'additionalContent' : true,
  130.                                 'name' : paramName,
  131.                                 'additionalContent' : true,
  132.                                 'isChecked' : false,
  133.                                 'icon' : 'sort-asc',
  134.                                 'value' : 'priceAsc',
  135.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  136.                                 'isBlock' : true,
  137.                                 'noBox' : true,
  138.                                 'isRequired' : false
  139.                             }) }}
  140.                             {% set filterTexte = filterTexte | merge([{
  141.                                 'name' : paramName ,
  142.                                 'value' : 'priceAsc',
  143.                                 'text' : 'demi.sort.price' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  144.                             }]) %}
  145.                         </li>
  146.                         <li class="mb-2">
  147.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  148.                                 'label' : 'demi.sort.price' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  149.                                 'text' : 'demi.sort.price' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  150.                                 'type' : 'radio',
  151.                                 'additionalContent' : true,
  152.                                 'name' : paramName,
  153.                                 'additionalContent' : true,
  154.                                 'isChecked' : false,
  155.                                 'icon' : 'sort-desc',
  156.                                 'value' : 'priceDesc',
  157.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  158.                                 'isBlock' : true,
  159.                                 'noBox' : true,
  160.                                 'isRequired' : false
  161.                             }) }}
  162.                             {% set filterTexte = filterTexte | merge([{
  163.                                 'name' : paramName ,
  164.                                 'value' : 'priceDesc',
  165.                                 'text' : 'demi.sort.price' | trans ~ 'demi.sort.desc' | trans,
  166.                             }]) %}
  167.                         </li>
  168.                         {% endif %}
  169.                         {% if demi_core_configuration("getSortingBookable", {}) %}
  170.                         <li class="mb-2">
  171.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  172.                                 'label' : 'demi.sort.bookable' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  173.                                 'text' : 'demi.sort.bookable' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  174.                                 'type' : 'radio',
  175.                                 'additionalContent' : true,
  176.                                 'name' : paramName,
  177.                                 'additionalContent' : true,
  178.                                 'isChecked' : false,
  179.                                 'icon' : 'sort-asc',
  180.                                 'value' : 'bookableAsc',
  181.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  182.                                 'isBlock' : true,
  183.                                 'noBox' : true,
  184.                                 'isRequired' : false
  185.                             }) }}
  186.                             {% set filterTexte = filterTexte | merge([{
  187.                                 'name' : paramName ,
  188.                                 'value' : 'bookableAsc',
  189.                                 'text' : 'demi.sort.bookable' | trans ~ ' ' ~  'demi.sort.asc' | trans,
  190.                             }]) %}
  191.                         </li>
  192.                         <li class="mb-2">
  193.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  194.                                 'label' : 'demi.sort.bookable' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  195.                                 'text' : 'demi.sort.bookable' | trans ~ ' ' ~ 'demi.sort.desc' | trans,
  196.                                 'type' : 'radio',
  197.                                 'additionalContent' : true,
  198.                                 'name' : paramName,
  199.                                 'additionalContent' : true,
  200.                                 'isChecked' : false,
  201.                                 'icon' : 'sort-desc',
  202.                                 'value' : 'bookableDesc',
  203.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  204.                                 'isBlock' : true,
  205.                                 'noBox' : true,
  206.                                 'isRequired' : false
  207.                             }) }}
  208.                             {% set filterTexte = filterTexte | merge([{
  209.                                 'name' : paramName ,
  210.                                 'value' : 'bookableDesc',
  211.                                 'text' : 'demi.sort.bookable' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  212.                             }]) %}
  213.                         </li>
  214.                         {% endif %}
  215.                         {% if demi_core_configuration("getSortingRatingAverage", {}) %}
  216.                         <li class="mb-2">
  217.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  218.                                 'label' : 'demi.sort.rating' | trans ~ ' ' ~ 'demi.sort.asc' | trans,
  219.                                 'text' : 'demi.sort.rating' | trans ~ ' ' ~ 'demi.sort.asc' | trans,
  220.                                 'type' : 'radio',
  221.                                 'additionalContent' : true,
  222.                                 'name' : paramName,
  223.                                 'additionalContent' : true,
  224.                                 'isChecked' : false,
  225.                                 'icon' : 'sort-asc',
  226.                                 'value' : 'ratingAverageAsc',
  227.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  228.                                 'isBlock' : true,
  229.                                 'noBox' : true,
  230.                                 'isRequired' : false
  231.                             }) }}
  232.                             {% set filterTexte = filterTexte | merge([{
  233.                                 'name' : paramName ,
  234.                                 'value' : 'ratingAverageAsc',
  235.                                 'text' : 'demi.sort.rating' | trans ~ 'demi.sort.asc' | trans,
  236.                             }]) %}
  237.                         </li>
  238.                         <li class="mb-2">
  239.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  240.                                 'label' : 'demi.sort.rating' | trans ~ ' ' ~ 'demi.sort.desc' | trans,
  241.                                 'text' : 'demi.sort.rating' | trans ~ ' ' ~ 'demi.sort.desc' | trans,
  242.                                 'type' : 'radio',
  243.                                 'additionalContent' : true,
  244.                                 'name' : paramName,
  245.                                 'additionalContent' : true,
  246.                                 'isChecked' : false,
  247.                                 'icon' : 'sort-asc',
  248.                                 'value' : 'ratingAverageDesc',
  249.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  250.                                 'isBlock' : true,
  251.                                 'noBox' : true,
  252.                                 'isRequired' : false
  253.                             }) }}
  254.                             {% set filterTexte = filterTexte | merge([{
  255.                                 'name' : paramName ,
  256.                                 'value' : 'ratingAverageDesc',
  257.                                 'text' : 'demi.sort.rating' | trans ~ ' ' ~  'demi.sort.desc' | trans,
  258.                             }]) %}
  259.                         </li>
  260.                         {% endif %}
  261.                         <li class="mb-2 js-nearby-search__sorting" hidden>
  262.                             {{ include('@ElementsDemiFrontend/Includes/elements/checkboxes/radio.html.twig', {
  263.                                 'label' : 'demi.sort.distance' | trans,
  264.                                 'text' : 'demi.sort.distance' | trans,
  265.                                 'type' : 'radio',
  266.                                 'additionalContent' : true,
  267.                                 'name' : paramName,
  268.                                 'additionalContent' : true,
  269.                                 'isChecked' : false,
  270.                                 'icon' : 'marker',
  271.                                 'value' : 'nearbySearchAsc',
  272.                                 'styleModifier' : 'js-additional-search-overlay__default-input js-filter-form__default-input',
  273.                                 'isBlock' : true,
  274.                                 'noBox' : true,
  275.                                 'isRequired' : false
  276.                             }) }}
  277.                             {% set filterTexte = filterTexte | merge([{
  278.                                 'name' : paramName ,
  279.                                 'value' : 'nearbySearchAsc',
  280.                                 'text' : 'demi.sort.distance' | trans,
  281.                             }]) %}
  282.                         </li>
  283.                     </ul>
  284.                 </div>
  285.             </section>
  286.         </div>
  287.     </div>
  288. {% endif %}
  289. <script type="text/javascript" data-cookieconsent="ignore">
  290.     _filterTexte = window['_filterTexte'] || [];
  291.     _filterTexte.push.apply(_filterTexte, {{ filterTexte | json_encode | raw }});
  292. </script>