templates/pages/akaru/search.html.twig line 276

Open in your IDE?
  1. {#
  2.   page: search test
  3. #}
  4. {% extends "layouts/base.html.twig" %}
  5. {% if getResidenceMode() %}
  6.     {% set jsPageId = 'residence-search' %}
  7.     {% set pageClass = 'ResidencePage ResidenceSearch' %}
  8. {% else %}
  9.     {% set jsPageId = 'search' %}
  10.     {% set pageClass = 'Search' %}
  11. {% endif %}
  12. {% block content %}
  13.     {#  Exemple sans résultats
  14.                                                             {% set results = {
  15.                                                               cures:[],
  16.                                                               rooms:[]
  17.                                                             } %}
  18.                                                             #}
  19.     {# Search Results Cure #}
  20.     {% set product_results = [] %}
  21.     {% set room_results = [] %}
  22.         {% if search_result['type_result'] is defined and search_result['type_result'] == 'produit' %}
  23.             {% for result in search_result['results'] %}
  24.             {# get min price cure #}
  25.             {% set price_display = result.price %}
  26.                 {% if search_result['type_bar'] is defined and (search_result['type_bar'] == 'Thalasso avec hébergement' or search_result['type_bar'] =='Treatments with accomodation' ) %}
  27.                 {% set price_cure = getCalendarThalasso(result.id_produit,true,true) %}
  28.             {% set price_display = price_cure.price ~ "€" %}
  29.             {% endif %}
  30.             {% set button_display = "search.reserve.libelle"|trans %}
  31.             {% set button_link = result.link.to %}
  32.                 {% if search_result['type_bar'] == "Idées cadeaux"   %}
  33.                 {% set button_display = "Offrir" %}
  34.             {% set button_link = result.link.togift %}
  35.             {% endif %}
  36.         {% set product_results = product_results|merge([
  37.         {
  38.             image:result.image,
  39.             title:result.title,
  40.             titleAnnex:'',
  41.             duration:result.duration,
  42.             list:result.accroche,
  43.             description:result.description,
  44.             details:(result.id_cat != 2 and result.id_cat != 1 ) ? null : {
  45.                 title:'result.avecHeb.detailDesSoins'|trans,
  46.                 list:result.description_2,
  47.                 description:result.description,
  48.                 button:{
  49.                   text: 'result.avecHeb.lesSoins'|trans,
  50.                   to: '#',
  51.                 }
  52.             },
  53.             priceFrom:"product.apartirde"|trans,
  54.             price:price_display,
  55.             priceDetails:'TTC/Pers.',            
  56.             link: {
  57.               text: button_display,
  58.               bookingLink: button_link,
  59.               aquao: null ,
  60.                 category:search_result['type_bar'] == "Idées cadeaux" ?'offer':'reservation'
  61.             },
  62.         }
  63.       ]) %}
  64.         {% endfor %}
  65.         {# Search Results Room #}
  66.     {% elseif search_result['type_result'] is defined and search_result['type_result'] == 'chambre' %}
  67.         {% set search_params = app.session.get("search_params") %}
  68.         {% set roomsdb = getRooms(search_params.adults, search_params.children, search_params.date_start, search_params.date_end) %}
  69.         {% set valboardHidden = false %}
  70.         {% if getResidenceMode() %}
  71.             {% set valboardHidden = true %}
  72.         {% endif %}
  73.         {% for result in search_result['results'] %}
  74.             {# set room persons #}
  75.             {% set room_persons =[] %}
  76.             {% set selected_room_persons =[] %}
  77.             {%  set room_combinaisons =  getCapaciteRoom(result.id) %}
  78.             {% for combinaison in room_combinaisons %}
  79.                 {% set labelpers = '' %}
  80.                 {% set valpers = combinaison.nbr_adultes ~ ',' ~ combinaison.nbr_enfants %}
  81.                 {% if combinaison.nbr_adultes > 1  %}
  82.                     {% set labelpers = labelpers ~ combinaison.nbr_adultes ~ " " ~ "result.hotelSeul.adultes"|trans %}
  83.                 {% endif %}
  84.                 {% if combinaison.nbr_adultes == 1 %}
  85.                     {% set labelpers = labelpers ~ combinaison.nbr_adultes ~ " " ~ "result.hotelSeul.adulte"|trans %}
  86.                 {% endif %}
  87.                 {% if combinaison.nbr_enfants > 1 %}
  88.                     {% set labelpers = labelpers ~ ", " ~ combinaison.nbr_enfants ~ " " ~ "result.hotelSeul.enfants"|trans %}
  89.                 {% endif %}
  90.                 {% if combinaison.nbr_enfants == 1 %}
  91.                     {% set labelpers = labelpers ~ ", " ~ combinaison.nbr_enfants ~ " " ~ "result.hotelSeul.enfant"|trans %}
  92.                 {% endif %}
  93.                 {# set selected persons first #}
  94.                 {% if combinaison.nbr_enfants == result.nbr_enfants  and combinaison.nbr_adultes == result.nbr_adultes  %}
  95.                     {% set selected_room_persons = selected_room_persons|merge([ 
  96.             {label:labelpers, value:valpers}
  97.              ])%}
  98.                 {% else %}
  99.                     {% set room_persons = room_persons|merge([ 
  100.             {label:labelpers, value:valpers}
  101.              ])%}
  102.                 {% endif %}
  103.             {% endfor %}
  104.             {% set room_persons = selected_room_persons|merge(room_persons)%}
  105.             {% set room_prices =[] %}
  106.             {% for room in roomsdb %}
  107.                 {% if  result.id == room.id %}
  108.                     {# set room pensions #}
  109.                     {% if room.regime_data != null %}
  110.                         {% set regimedet = room.regime_data|split(',') %}
  111.                         {% for regime in regimedet %}
  112.                             {% set room_pensions =[] %}
  113.                             {% set regimeval = regime|split('|') %}
  114.                             {% for room_person in room_persons %}
  115.                                 {% set pers_ads = room_person.value|split(',') %}
  116.                                 {% if getResidenceMode() %}
  117.                                     {% set room_pensions = room_pensions|merge([ 
  118.                     {
  119.                                 value: room_person.value ,
  120.                                 price: (room.price|replace({'€': ''}) * 1) ~ "€" ,
  121.                                 priceday: "result.hotelSeul.soit"|trans ~ (room.price|replace({'€': ''}) * 1 / (search_params.duration * 1)) ~ "result.hotelSeul.parJour"|trans  ,
  122.                     }
  123.                     ])%}
  124.                                 {% else %}
  125.                                     {% set room_pensions = room_pensions|merge([ 
  126.                     {
  127.                                 value: room_person.value ,
  128.                                 price: (room.price|replace({'€': ''}) * 1 + ( regimeval[2] * pers_ads[0] * search_params.duration * 1 )) ~ "€" ,
  129.                                 priceDay: "result.hotelSeul.soit"|trans ~  (( room.price|replace({'€': ''}) * 1 + ( regimeval[2] * pers_ads[0] * search_params.duration * 1 ) ) / (search_params.duration * 1)) ~ "result.hotelSeul.parJour"|trans , 
  130.                     }
  131.                     ])%}
  132.                                 {% endif %}
  133.                             {% endfor %}
  134.                             {% set room_prices = room_prices|merge([ 
  135.                     {
  136.                         pensionId:(regimeval[0] * 1),
  137.                         persons: room_pensions
  138.                     }
  139.                     ])%}
  140.                         {% endfor %}
  141.                     {% endif %}
  142.                 {% endif %}
  143.             {% endfor %}
  144.             {% set max_room = 3 %}
  145.             {% if result.form.numoptions.chambres.max < max_room %}
  146.                 {% set max_room = result.form.numoptions.chambres.max %}
  147.             {% endif %}
  148.             {% set room_results = room_results|merge([{
  149.         image:result.image,
  150.         title:result.title,
  151.         titleAnnex:'',
  152.         person: "nbr.person"|trans({'%nbr_person%': result.person}, "messages"),
  153.         description: result.description,
  154.         price:result.price,
  155.         prices:room_prices,
  156.         realPrice:"room.realprice"|trans({'%realprice%': result.realPrice|number_format(2, '.', '')}, "messages"),
  157.         maxRoomsBooking:max_room,
  158.         priceFrom:"product.tarif.libelle"|trans,
  159.         id: result.id,
  160.         room_id: result.id,
  161.         form:{
  162.             action:result.form.action,
  163.             numoptions:[
  164.             {
  165.               label: "result.hotelSeul.chambres"|trans,
  166.               id:"rooms",
  167.               name: "chambres[]",
  168.               min:result.form.numoptions.chambres.min,
  169.               max:max_room,
  170.               result:result.form.numoptions.chambres.result,
  171.               hidden:false
  172.             }],
  173.             persons:room_persons,
  174.             boardHidden:valboardHidden,
  175.             board:result.form.board
  176.         },
  177.         link: {
  178.           text: "search.reserve.libelle"|trans,
  179.           to: result.link.to,
  180.         },
  181.         aquao: null,
  182.       }]) %}
  183.         {% endfor %}
  184.     {% endif %}
  185.     {#  Exemple avec des résultats #}
  186.     {% set results = {
  187.   cures: product_results,
  188.   rooms: room_results
  189. } %}
  190.     {% set total = results.cures|length + results.rooms|length %}
  191.     {% set hasResults = total > 0 %}
  192.     {% set searchResultsLabel = null %}
  193.     {% if hasResults %}
  194.         {% set searchResultsLabel = "result.hotelSeul.nbrResults1"|trans ~ total ~ " " ~ "result.hotelSeul.nbrResults2"|trans %}
  195.     {% endif %}
  196.     {# Header #}
  197.     {% include "component/header.html.twig" with {
  198.       props: {
  199.         account:{
  200.           link: path("app_signin", { '_locale': app.request.getLocale() }),
  201.           text: "myaccount.title"|trans
  202.         }
  203.       }
  204.     } %}
  205.     {# Hero tunnel #}
  206.     {% include "component/hero_tunnel.html.twig" with {
  207.     props: {
  208.         heading: {
  209.             title: 'pages.search.resultatDe'|trans,
  210.             titleAnnex: 'pages.search.recherche'|trans
  211.         },
  212.         breadcrumb: [frontservice.getHome(app.request.getLocale()),
  213.         {
  214.           text: 'pages.search.resultatRecherches'|trans
  215.         }],
  216.       background : {
  217.         src: asset('img/14 002.jpg')
  218.       }
  219.     }
  220.   } only %}
  221.     {% set searchItemLabel = "Hotel seul" %}
  222.     {% if search_result['type_bar'] is defined %}
  223.         {% if getResidenceMode() %}
  224.             {% set searchItemLabel = "filtre_bar.titre"|trans %}
  225.         {% else %}
  226.             {% set searchItemLabel = search_result['type_bar'] %}
  227.         {% endif %}
  228.     {% endif %}
  229.     {# Renseigner le bon id de la type_bar #}
  230.     {% if search_result['id_type_bar'] matches '/^\\d+$/' %}
  231.         {% set searchItemId = search_result['id_type_bar'] * 1  %}
  232.     {% else %}
  233.         {% set searchItemId = search_result['id_type_bar']  %}
  234.     {% endif %}
  235.     
  236.     {% if getResidenceMode() %}
  237.         {# Filter Bar #}
  238.         {% include "component/header/filter_bar.html.twig" with {
  239.     props:{
  240.       bookingtitle:"booking.title"|trans,
  241.       research: {
  242.         searchItem: searchItemLabel,
  243.         searchItemId: searchItemId,
  244.         searchResults:  searchResultsLabel
  245.       }
  246.     }
  247.   } only %}
  248.     {% else %}
  249.         {# Filter Bar #}
  250.         {% include "component/header/filter_bar.html.twig" with {
  251.     props:{
  252.       bookingtitle:"booking.title"|trans,
  253.       research: {
  254.         searchItem: searchItemLabel,
  255.         searchItemId: searchItemId,
  256.         searchResults:  searchResultsLabel
  257.       }
  258.     }
  259.   } only %}
  260.     {% endif %} 
  261.     {% if hasResults %}
  262.         {# Search Results Cure #}
  263.         {% include "component/search_results_cure.html.twig" with {
  264.       props: {
  265.           results:results.cures
  266.       }
  267.     } %}
  268.         {# Search Results Room #}
  269.         {% include "component/search_results_room.html.twig" with {
  270.       props: {
  271.           results:results.rooms
  272.       }
  273.     } %}
  274.     {% else %}
  275.         <div class="Search-noresults">{{"reser.no.result"|trans({}, "messages") }}</div>
  276.     {% endif %}
  277.     {# Footer #}
  278.     {% include "component/footer.html.twig" %}
  279. {% endblock %}