{#
page: home
#}
{% extends "layouts/base.html.twig" %}
{% set jsPageId = 'court-sejour' %}
{% set pageClass = 'CourtSejour' %}
{% block content %}
{# Header #}
{% include "component/header.html.twig" with {
props: {
account:{
link: path("app_signin", { '_locale': app.request.getLocale() }),
text: "myaccount.title"|trans
}
}
} %}
{# Hero content #}
{% include "component/hero_content.html.twig" with {
props: {
heading: {
title: frontservice.getHeaderFields(page, 'header_titre', lang)|nl2br,
titleAnnex: frontservice.getHeaderFields(page, 'header_sur_titre', lang)|nl2br
},
breadcrumb: frontservice.getBreadcrumb(page, lang),
background: frontservice.getMediaPublicUrl(page.headerImage, 'reference', frontservice.getHeaderFields(page, 'alt_header_img', lang)),
video:(frontservice.getHeaderVideo(page)) ? {
type:'video/mp4',
src: asset(frontservice.getHeaderVideo(page))
} : null
}
} only %}
{# Filter Bar #}
{# {% include "component/header/filter_bar.html.twig" with {
props:{
bookingtitle:"booking.title"|trans,
}
} only %} #}
{# Calendar #}
{% set datacal = [] %}
{% set currentCureId = 0 %}
{% set accomodation = true %}
{% set min_days = null %}
{% set max_days = null %}
{% if page.produitThalasso %}
{% set currentCureId = page.produitThalasso.id %}
{% set accomodation = (page.produitThalasso.hebergement == "sans") ? false : true %}
{% set datacal = datacal|merge(getCalendarThalasso(currentCureId, accomodation)) %}
{% set min_days = (page.produitThalasso.dureeJours == 0) ? 1 : page.produitThalasso.dureeJours %}
{% set max_days = min_days %}
{% else %}
{% set datacal = datacal|merge([{"months" : []}]) %}
{% endif %}
{% if page.produitThalasso.getDirectementTunnel is not defined or page.produitThalasso.getDirectementTunnel == 0 %}
{% include "component/calendar.html.twig" with {
props: {
form: {
action: path('process_choice_thalasso'),
link: {
text: 'Continuer'
},
},
lang:'fr',
},
data : datacal
} only %}
{% else %}
{% for composant in composants %}
{% include "component/calendar.html.twig" with {
props: {
form: {
action: path('process_choice_thalasso'),
link: {
text: 'Continuer'
},
},
lang:'fr',
id: page.produitThalasso.id,
directementtunnel: page.produitThalasso.getDirectementTunnel ,
departure: page.produitThalasso.getDeparture()|date('Y-m-d'),
arrival: page.produitThalasso.getArrival()|date('Y-m-d'),
accomodation : (page.produitThalasso.hebergement == "sans") ? "false" : "true",
min_days : (page.produitThalasso.dureeJours == 0) ? 1 : page.produitThalasso.dureeJours ,
surtitre: frontservice.getContentField(composant, 'surtitre', lang),
titre_principal: frontservice.getContentField(composant, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
prix_apartir : getCalendarThalasso(currentCureId,true,true).price,
},
data : datacal
} only %}
{% endfor %}
{% endif %}
{% if composants %}
{% for composant in composants %}
{% if frontservice.getContentField(composant, 'masquer', lang) != 1 %}
{% set price_cure_fiche = getCalendarThalasso(currentCureId,true,true) %}
{% set price_display_fiche = null %}
{% if price_cure_fiche %}
{% set price_display_fiche = price_cure_fiche.price ~ "€" %}
{% endif %}
{% set description = frontservice.getContentField(composant, 'description', lang) %}
{% set description_secondaire = frontservice.getContentField(composant, 'description_secondaire', lang) %}
{% set label_lien_principal = frontservice.getContentField(composant, 'label_lien_principal', lang) %}
{% set label_lien_secondaire = frontservice.getContentField(composant, 'label_lien_secondaire', lang) %}
{% set intro_description = frontservice.getContentField(composant, 'intro_description', lang)|nl2br %}
{% set img_principale = frontservice.getMediaPublicUrl(composant.imagePrincipal, 'big', frontservice.getContentField(composant, 'alt_p', lang)) %}
{% set titre_principal = frontservice.getContentField(composant, 'titre_principal', lang) %}
{% set surtitre = frontservice.getContentField(composant, 'surtitre', lang) %}
{% set prix_apartir = price_display_fiche %}
{% set label_prix_apartir = frontservice.getContentField(composant, 'label_prix_apartir', lang) %}
{% set layout_sens = 1 %}
{% if composant.sensAffichage == 'gauche' %}
{% set layout_sens = 1 %}
{% elseif composant.sensAffichage == 'droite' %}
{% set layout_sens = 2 %}
{% endif %}
{% set all_links = [] %}
{# Offer #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/offer.html.twig" %}
{% set prix_apartir = frontservice.getContentField(composant, 'prix_apartir', lang) %}
{% include "component/offer.html.twig" with {
props: {
layout: layout_sens,
image: img_principale,
imageText: titre_principal|replace({"\n": "<br />"})|raw,
text: '<p class="intro">'~ intro_description ~'</p>'~ description,
price: (prix_apartir and label_prix_apartir) ? '<p>'~ label_prix_apartir ~'</p><b>'~ prix_apartir ~'</b>' : '',
}
} %}
{% endif %}
{# Large image text #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/large_image_text.html.twig" %}
{% include "component/large_image_text.html.twig" with {
props: {
heading: {
title: titre_principal|nl2br,
titleAnnex: surtitre
},
text: description,
image: img_principale
}
} %}
{% endif %}
{# Cure description #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/cure_description.html.twig" %}
{% set infos_message = {} %}
{% if intro_description %}
{% set infos_message = infos_message|merge({
text: intro_description,
icon: 'information'
}) %}
{% endif %}
{% include "component/cure_description.html.twig" with {
props: {
heading: {
title: titre_principal|nl2br,
titleAnnex: surtitre
},
text: {
left: description,
right: description_secondaire
},
message: infos_message
}
} %}
{% endif %}
{# Offer Final #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/offer_final.html.twig" %}
{% if label_lien_principal %}
{% set all_links = all_links|merge([{
theme: '',
icon: '',
text: label_lien_principal
}]) %}
{% endif %}
{% if frontservice.getContentField(composant, 'label_lien_secondaire', lang) %}
{% set all_links = all_links|merge([{
theme: 'no-background',
icon: 'gift',
text: label_lien_secondaire
}]) %}
{% endif %}
{% include "component/offer_final.html.twig" with {
props: {
option:{
title: titre_principal|nl2br,
titleAnnex: surtitre,
id: currentCureId,
excerpt: null,
maxDays: max_days,
minDays: min_days,
price: prix_apartir,
priceFrom : (prix_apartir) ? label_prix_apartir : null,
priceDetails: frontservice.getContentField(composant, 'priceDetail', lang),
category: 'thalasso',
accomodation: accomodation,
indexCalendar:0,
aquao:null,
directementtunnel: page.produitThalasso.getDirectementTunnel ?? 0,
},
program:null,
description: description,
message: description_secondaire,
links: all_links
}
} %}
{% endif %}
{% endif %}
{# Image slider #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/image_slider.html.twig" %}
{% set image_slider_items = composant.getCmsPageBlockComposantItems() %}
{% set content = [] %}
{% if image_slider_items %}
{% for item in image_slider_items %}
{% set masquer = frontservice.getContentItemField(item, 'masquer', lang) %}
{% if masquer != 1 %}
{% set image = frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang)) %}
{% set content = content|merge([{
title: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
image: image
}])
%}
{% endif %}
{% endfor %}
{% endif %}
{% include "component/image_slider.html.twig" with {
props: {
heading: {
title: titre_principal,
titleAnnex: surtitre
},
items: content
}
} %}
{% endif %}
{% endfor %}
{% endif %}
{# Footer #}
{% include "component/footer.html.twig" %}
{% endblock %}