src/Elements/Bundle/DemiFrontendBundle/Resources/views/Snippet/filterSnippet.html.twig line 1

Open in your IDE?
  1. {#
  2. /**
  3.  * @var \Pimcore\Templating\PhpEngine this
  4.  * @var \Pimcore\Templating\PhpEngine view
  5.  * @var \Pimcore\Templating\GlobalVariables app
  6.  * #
  7.  * @var Elements\Demi\Accommodation\Search\Parameter searchParam
  8.  * @var bool isSearch
  9.  * #
  10.  * @var showFilter array | all = Label & filter, button = only button, filter = only filter (for Desktop)
  11.  *
  12.  */ #}
  13. {% extends('@ElementsDemiFrontend/Layout/editmode-layout.html.twig') %}
  14. {% block content %}
  15.     {% if editmode %}
  16.         <div class="container-fluid">
  17.             {% set availableBlocks = [
  18.                 ['stars', 'bundle_demi_editmode.filter.stars'|demi_core_editmode_trans({}, 'admin')],
  19.                 ['classifications', 'bundle_demi_editmode.filter.classifications'|demi_core_editmode_trans({}, 'admin')],
  20.                 ['towns', 'bundle_demi_editmode.filter.towns'|demi_core_editmode_trans({}, 'admin')],
  21.                 ['regions', 'bundle_demi_editmode.filter.regions'|demi_core_editmode_trans({}, 'admin')],
  22.                 ['districts', 'bundle_demi_editmode.filter.districts'|demi_core_editmode_trans({}, 'admin')],
  23.                 ['holidayThemes', 'bundle_demi_editmode.filter.holidayThemes'|demi_core_editmode_trans({}, 'admin')],
  24.                 ['facilities', 'bundle_demi_editmode.filter.facilities'|demi_core_editmode_trans({}, 'admin')],
  25.                 ['roomFacilities', 'bundle_demi_editmode.filter.roomFacilities'|demi_core_editmode_trans({}, 'admin')],
  26.                 ['categories', 'bundle_demi_editmode.filter.categories'|demi_core_editmode_trans({}, 'admin')],
  27.                 ['mealTypes', 'bundle_demi_editmode.filter.mealTypes'|demi_core_editmode_trans({}, 'admin')],
  28.                 ['marketingGroups', 'bundle_demi_editmode.filter.marketingGroups'|demi_core_editmode_trans({}, 'admin')],
  29.                 ['allowBookableOnly', 'bundle_demi_editmode.filter.allowBookableOnly'|demi_core_editmode_trans({}, 'admin')],
  30.                 ['allowFreeCancellationOnly', 'bundle_demi_editmode.filter.allowFreeCancellationOnly'|demi_core_editmode_trans({}, 'admin')],
  31.                 ['accoName', 'bundle_demi_editmode.filter.accoName'|demi_core_editmode_trans({}, 'admin')],
  32.                 ['specials', 'bundle_demi_editmode.filter.specials'|demi_core_editmode_trans({}, 'admin')],
  33.                 ['specialTypes', 'bundle_demi_editmode.filter.specialTypes'|demi_core_editmode_trans({}, 'admin')],
  34.                 ['filterObjects', 'bundle_demi_editmode.filter.filterObjects'|demi_core_editmode_trans({}, 'admin')],
  35.                 ['mappedFilterObjects', 'bundle_demi_editmode.filter.mappedFilterObjects'|demi_core_editmode_trans({}, 'admin')],
  36.                 ['accommodationTypes', 'bundle_demi_editmode.filter.accommodationTypes'|demi_core_editmode_trans({}, 'admin')],
  37.             ] %}
  38.             {% set availableBlocks = availableBlocks + [['minBedrooms', 'bundle_demi_editmode.filter.minBedrooms'|demi_core_editmode_trans({}, 'admin')]] %}
  39.             {% for i in pimcore_iterate_block(pimcore_block('filterblock')) %}
  40.                 <div class="alert alert-warning">
  41.                 {{ pimcore_select('blocktype', {
  42.                     'store' : availableBlocks,
  43.                     'reload' : true
  44.                 }) }}
  45.                 {% if (pimcore_select('blocktype').getData()) %}
  46.                         <div class="row">
  47.                             <div class="col">
  48.                                 <div class="alert alert-info">
  49.                                     {{ include('@ElementsDemiFrontend/Snippet/filterSidebarEditmode/' ~ pimcore_select('blocktype').getData() ~ '.html.twig', {
  50.                                         'searchParam' : app.request.get("searchParam")
  51.                                     }) }}
  52.                                 </div>
  53.                             </div>
  54.                         </div>
  55.                 {% endif %}
  56.                 </div>
  57.             {% endfor %}
  58.         </div>
  59.     {% else %}
  60.         {% set showFilterParam = app.request().get('showFilter') %}
  61.         {% set searchParam = app.request.get("searchParam") %}
  62.         {% if searchParam %}
  63.             {% if not app.request.get("isSearch") and not pimcore_device().isPhone() %}
  64.                 {% set include = demi_getDeviceDependentTemplate('@ElementsDemiFrontend/Snippet/filterSidebar/', 'price', container) %}
  65.                 {{ include(include, {
  66.                     'searchParam' : app.request.get("searchParam"),
  67.                     'showFilter' : showFilterParam ?? 'all',
  68.                     'noDate' : app.request.get("noDate"),
  69.                     'isSearch' : app.request.get("isSearch"),
  70.                     'isPackageSearch' : app.request.get("isPackageSearch"),
  71.                     'minPrice' : searchParam.getPriceFrom(),
  72.                     'maxPrice' : searchParam.getPriceTo(),
  73.                 }) }}
  74.             {% endif %}
  75.             {% for i in pimcore_iterate_block(pimcore_block('filterblock')) %}
  76.                 {% if (pimcore_select('blocktype').getData() and not app.request.get("isSearch")) or (app.request.get("isSearch") and pimcore_checkbox('showInSearchForm').isChecked()) or (app.request.get("isSearch") and pimcore_select('blocktype').getData() is same as 'mappedFilterObjects') %}
  77.                     {% set forceTemplate = "" %}
  78.                     {% if app.request.get("isSearch") %}
  79.                         {% set forceTemplate = "mobile" %}
  80.                     {% endif %}
  81.                     {% set templateName = pimcore_select('blocktype').getData() %}
  82.                     {% set include = demi_getDeviceDependentTemplate('@ElementsDemiFrontend/Snippet/filterSidebar/', templateName, container, forceTemplate) %}
  83.                     {{ include(include, {
  84.                         'searchParam' : app.request.get("searchParam"),
  85.                         'showFilter' : showFilterParam ?? 'all',
  86.                         'noDate' : app.request.get("noDate"),
  87.                         'isSearch' : app.request.get("isSearch"),
  88.                         'isPackageSearch' : app.request.get("isPackageSearch"),
  89.                         'posOfFilter' : pimcore_block('filterblock').getCurrentIndex()
  90.                     }) }}
  91.                 {% endif %}
  92.             {% endfor %}
  93.         {% endif %}
  94.     {% endif %}
  95. {% endblock %}