templates/pages/akaru/court_sejour.html.twig line 1

Open in your IDE?
  1. {#
  2.     page: home
  3. #}
  4. {% extends "layouts/base.html.twig" %}
  5. {% set jsPageId = 'court-sejour' %}
  6. {% set pageClass = 'CourtSejour' %}
  7. {% block content %}
  8.     {# Header #}
  9.     {% include "component/header.html.twig" with {
  10.       props: {
  11.         account:{
  12.           link: path("app_signin", { '_locale': app.request.getLocale() }),
  13.           text: "myaccount.title"|trans
  14.         }
  15.       }
  16.     } %}
  17.     {# Hero content #}
  18.     {% include "component/hero_content.html.twig" with {
  19.     props: {
  20.       heading: {
  21.         title: frontservice.getHeaderFields(page, 'header_titre', lang)|nl2br,
  22.         titleAnnex: frontservice.getHeaderFields(page, 'header_sur_titre', lang)|nl2br
  23.       },
  24.       breadcrumb: frontservice.getBreadcrumb(page, lang),
  25.       background: frontservice.getMediaPublicUrl(page.headerImage, 'reference', frontservice.getHeaderFields(page, 'alt_header_img', lang)),
  26.       video:(frontservice.getHeaderVideo(page)) ? {
  27.         type:'video/mp4',
  28.         src: asset(frontservice.getHeaderVideo(page))
  29.       } : null
  30.     }
  31.   } only %}
  32.     {# Filter Bar #}
  33.     {# {% include "component/header/filter_bar.html.twig" with {
  34.     props:{
  35.       bookingtitle:"booking.title"|trans,
  36.     }
  37.   } only %} #}
  38.     {# Calendar #}
  39.     {% set datacal = [] %}
  40.     {% set currentCureId = 0 %}
  41.     {% set accomodation = true %}
  42.     {% set min_days = null %}
  43.     {% set max_days = null %}
  44.     {% if page.produitThalasso %}
  45.         {% set currentCureId = page.produitThalasso.id %}
  46.         {% set accomodation = (page.produitThalasso.hebergement == "sans") ? false : true %}
  47.         {% set datacal = datacal|merge(getCalendarThalasso(currentCureId, accomodation)) %}
  48.         {% set min_days = (page.produitThalasso.dureeJours == 0) ? 1 : page.produitThalasso.dureeJours %}
  49.         {% set max_days = min_days %}
  50.     {% else %}
  51.         {% set datacal = datacal|merge([{"months" : []}]) %}
  52.     {% endif %}
  53.  {%  if page.produitThalasso.getDirectementTunnel is not defined  or page.produitThalasso.getDirectementTunnel == 0 %}
  54.      {% include "component/calendar.html.twig" with {
  55.       props: {
  56.         form: {
  57.           action: path('process_choice_thalasso'),
  58.           link: {
  59.             text: 'Continuer'
  60.           },
  61.         },
  62.         lang:'fr',
  63.       },
  64.       data : datacal
  65.   } only %}
  66.  {% else %} 
  67.    {% for composant in composants %}
  68.     {% include "component/calendar.html.twig" with {
  69.       props: {
  70.         form: {
  71.           action: path('process_choice_thalasso'),
  72.           link: {
  73.             text: 'Continuer'
  74.           },
  75.         },
  76.         lang:'fr',
  77.         id: page.produitThalasso.id,
  78.         directementtunnel: page.produitThalasso.getDirectementTunnel ,
  79.         departure: page.produitThalasso.getDeparture()|date('Y-m-d'),
  80.         arrival: page.produitThalasso.getArrival()|date('Y-m-d'),
  81.         accomodation : (page.produitThalasso.hebergement == "sans") ? "false" : "true",
  82.         min_days : (page.produitThalasso.dureeJours == 0) ? 1 : page.produitThalasso.dureeJours ,
  83.         surtitre: frontservice.getContentField(composant, 'surtitre', lang),
  84.         titre_principal:  frontservice.getContentField(composant, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
  85.         prix_apartir : getCalendarThalasso(currentCureId,true,true).price,
  86.       },
  87.       data : datacal
  88.   } only %}
  89.  {% endfor %} 
  90.   {% endif %}   
  91.     {% if composants %}
  92.         {% for composant in composants %}
  93.     {% if frontservice.getContentField(composant, 'masquer', lang) != 1 %}
  94.             {% set price_cure_fiche = getCalendarThalasso(currentCureId,true,true) %}
  95.             {% set price_display_fiche = null %}
  96.       {% if price_cure_fiche %}
  97.         {% set price_display_fiche = price_cure_fiche.price ~ "€" %}
  98.       {% endif %}
  99.       
  100.             {% set description = frontservice.getContentField(composant, 'description', lang) %}
  101.             {% set description_secondaire = frontservice.getContentField(composant, 'description_secondaire', lang) %}
  102.             {% set label_lien_principal = frontservice.getContentField(composant, 'label_lien_principal', lang) %}
  103.             {% set label_lien_secondaire = frontservice.getContentField(composant, 'label_lien_secondaire', lang) %}
  104.             {% set intro_description = frontservice.getContentField(composant, 'intro_description', lang)|nl2br %}
  105.             {% set img_principale = frontservice.getMediaPublicUrl(composant.imagePrincipal, 'big', frontservice.getContentField(composant, 'alt_p', lang))  %}
  106.             {% set titre_principal = frontservice.getContentField(composant, 'titre_principal', lang) %}
  107.             {% set surtitre = frontservice.getContentField(composant, 'surtitre', lang) %}
  108.             {% set prix_apartir = price_display_fiche %}
  109.             {% set label_prix_apartir = frontservice.getContentField(composant, 'label_prix_apartir', lang) %}
  110.             {% set layout_sens = 1 %}
  111.             {% if composant.sensAffichage == 'gauche' %}
  112.                 {% set layout_sens = 1 %}
  113.             {% elseif composant.sensAffichage == 'droite'  %}
  114.                 {% set layout_sens = 2 %}
  115.             {% endif %}
  116.             {% set all_links = [] %}
  117.             {# Offer #}
  118.             {% if composant.cmsComposant.nomTechniqueComposant == "component/offer.html.twig" %}
  119.         {% set prix_apartir = frontservice.getContentField(composant, 'prix_apartir', lang) %}
  120.                 {% include "component/offer.html.twig" with {
  121.           props: {
  122.             layout: layout_sens,
  123.             image: img_principale,
  124.             imageText: titre_principal|replace({"\n": "<br />"})|raw,
  125.             text: '<p class="intro">'~ intro_description ~'</p>'~ description,
  126.             price: (prix_apartir and label_prix_apartir) ? '<p>'~ label_prix_apartir ~'</p><b>'~ prix_apartir ~'</b>' : '',
  127.             
  128.           }
  129.       } %}
  130.             {% endif %}
  131.             {# Large image text #}
  132.             {% if composant.cmsComposant.nomTechniqueComposant == "component/large_image_text.html.twig" %}
  133.                 {% include "component/large_image_text.html.twig" with {
  134.         props: {
  135.           heading: {
  136.             title: titre_principal|nl2br,
  137.             titleAnnex: surtitre
  138.           },
  139.           text: description,
  140.           image: img_principale
  141.         }
  142.       } %}
  143.             {% endif %}
  144.             {# Cure description #}
  145.             {% if composant.cmsComposant.nomTechniqueComposant == "component/cure_description.html.twig" %}
  146.                 {% set infos_message = {} %}
  147.                 {% if intro_description %}
  148.                     {% set infos_message = infos_message|merge({
  149.             text: intro_description,
  150.             icon: 'information'
  151.         }) %}
  152.                 {% endif %}
  153.                 {% include "component/cure_description.html.twig" with {
  154.         props: {
  155.           heading: {
  156.             title: titre_principal|nl2br,
  157.             titleAnnex: surtitre
  158.           },
  159.           text: {
  160.             left: description,
  161.             right: description_secondaire
  162.           },
  163.           message: infos_message
  164.         }
  165.       } %}
  166.             {% endif %}
  167.             {# Offer Final #}
  168.             {% if composant.cmsComposant.nomTechniqueComposant == "component/offer_final.html.twig" %}
  169.                 {%  if label_lien_principal %}
  170.                     {% set all_links = all_links|merge([{
  171.               theme: '',
  172.               icon: '',
  173.               text: label_lien_principal
  174.           }]) %}
  175.                 {% endif %}
  176.                 {% if frontservice.getContentField(composant, 'label_lien_secondaire', lang) %}
  177.                     {% set all_links = all_links|merge([{
  178.               theme: 'no-background',
  179.               icon: 'gift',
  180.               text: label_lien_secondaire
  181.             }]) %}
  182.                 {% endif %}
  183.                 {% include "component/offer_final.html.twig" with {
  184.         props: {
  185.             option:{
  186.               title: titre_principal|nl2br,
  187.               titleAnnex: surtitre,
  188.               id: currentCureId,
  189.               excerpt: null,
  190.               maxDays: max_days,
  191.               minDays: min_days,
  192.               price: prix_apartir,
  193.               priceFrom : (prix_apartir) ? label_prix_apartir : null,
  194.               priceDetails: frontservice.getContentField(composant, 'priceDetail', lang),
  195.               category: 'thalasso',
  196.               accomodation: accomodation,
  197.               indexCalendar:0,
  198.               aquao:null,
  199.               directementtunnel: page.produitThalasso.getDirectementTunnel ?? 0,
  200.             },
  201.             program:null,
  202.             description: description,
  203.             message: description_secondaire,
  204.             links: all_links
  205.           }
  206.       } %}
  207.             {% endif %}
  208.     {% endif %}
  209.     {# Image slider #}
  210.       {% if composant.cmsComposant.nomTechniqueComposant == "component/image_slider.html.twig" %}
  211.         {% set image_slider_items = composant.getCmsPageBlockComposantItems() %}
  212.         {% set content = [] %}
  213.           {% if image_slider_items %}
  214.               {% for item in image_slider_items %} 
  215.                 {% set masquer = frontservice.getContentItemField(item, 'masquer', lang) %}
  216.                 {% if masquer != 1 %}
  217.                   {% set image =  frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang)) %}
  218.                   {% set content = content|merge([{
  219.                               title: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
  220.                               image: image
  221.                           }]) 
  222.                   %}
  223.                 {% endif %}
  224.               {% endfor %} 
  225.           {% endif %}
  226.         {% include "component/image_slider.html.twig" with {
  227.           props: {
  228.             heading: {
  229.                   title: titre_principal,
  230.                   titleAnnex: surtitre
  231.             },
  232.             items: content
  233.           }
  234.         } %}
  235.       {% endif %}
  236.         {% endfor %}
  237.     {% endif %}
  238.     {# Footer #}
  239.     {% include "component/footer.html.twig" %}
  240. {% endblock %}