{#
page: home
#}
{% extends "layouts/base.html.twig" %}
{% block head %}
{% set schemeAndHttpHost = app.request.getSchemeAndHttpHost %}
{# {% if 'miramar-lacigale.com' in schemeAndHttpHost %}
{% set schemeAndHttpHost = app.request.getSchemeAndHttpHost %}
{% if 'miramar-lacigale.com' in schemeAndHttpHost %}
<!--
Event snippet for [MIRAMAR] - HP on : Please do not remove.
Place this snippet on pages with events you’re tracking.
Creation date: 07/15/2020
-->
<script>
gtag('event', 'conversion', {
'allow_custom_scripts': true,
'send_to': 'DC-10209412/invmedia/miram0+standard'
});
</script>
<noscript>
<img src="https://ad.doubleclick.net/ddm/activity/src=10209412;type=invmedia;cat=miram0;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;ord=1?" width="1" height="1" alt=""/>
</noscript>
<!-- End of event snippet: Please do not remove -->
{% endif %}
{% endif %} #}
{% endblock %}
{% set jsPageId = 'home' %}
{% set pageClass = 'Home' %}
{% block content %}
{# Header #}
{% include "component/header.html.twig" with {
props: {
langs: [{
value: 'fr',
to: '/',
active: (app.request.getLocale() == 'fr') ? true : false
},{
value: 'en',
to: '/en',
active: (app.request.getLocale() == 'en') ? true : false
}],
account:{
link: path("app_signin", { '_locale': app.request.getLocale() }),
text: "myaccount.title"|trans
}
}
} only %}
{# Modal #}
{% set first_visite_fr = app.session.get("first_visite_fr") %}
{% set first_visite_en = app.session.get("first_visite_en") %}
{% if (first_visite_fr or first_visite_en)%}
{% set cta = null %}
{% if frontservice.getPopinContent('label_url', lang) and frontservice.getPopinContent('lien_url', lang) %}
{% set cta = {
text: frontservice.getPopinContent('label_url', lang),
to: frontservice.getPopinContent('lien_url', lang),
} %}
{% endif %}
{% include "component/modal.html.twig" with {
props: {
title: frontservice.getPopinContent('titre', lang),
text: frontservice.getPopinContent('description', lang),
button: cta,
image: frontservice.getMediaPublicUrl(frontservice.getPopinContent('image', lang), 'reference', ''),
open: frontservice.getPopinContent('actif')
}
} only %}
{% endif %}
{# 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
},
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 %}
{% if composants %}
{# - access the hostname {{ dump(app.request.getHost()) }} #}
{% set items_calendar = [] %}
{% set index = 0 %}
{% for composant in composants %}
{% if frontservice.getContentField(composant, 'masquer', lang) != 1 %}
{% set layout_sens = 1 %}
{% if composant.sensAffichage == 'gauche' %}
{% set layout_sens = 1 %}
{% elseif composant.sensAffichage == 'droite' %}
{% set layout_sens = 2 %}
{% endif %}
{% set img_principale = frontservice.getMediaPublicUrl(composant.imagePrincipal, 'big', frontservice.getContentField(composant, 'alt_p', lang)) %}
{% set img_secondaire = frontservice.getMediaPublicUrl(composant.imageSecondaire, 'big', frontservice.getContentField(composant, 'alt_s', lang)) %}
{% set description = frontservice.getContentField(composant, 'description', lang) %}
{% set intro_description = frontservice.getContentField(composant, 'intro_description', lang) %}
{% set titre_principal = frontservice.getContentField(composant, 'titre_principal', lang)|nl2br %}
{% set titre_principal_riche = frontservice.getContentField(composant, 'titre_principal_rich', lang)|replace({'<p>': '', '</p>': ''}) %}
{% set surtitre = frontservice.getContentField(composant, 'surtitre', lang) %}
{% set label_lien_principal = frontservice.getContentField(composant, 'label_lien_principal', lang) %}
{% set url = '' %} {% set links = null %}
{% if composant.urlLienPrincipalPage %}
{% set url = frontservice.getUrlPage(composant.urlLienPrincipalPage, lang) %}
{% else %}
{% set url = frontservice.getContentField(composant, 'url_lien_principal', lang) %}
{% endif %}
{% if url and label_lien_principal %}
{% set links = [] %}
{% set links = links|merge([{
text: label_lien_principal,
title: label_lien_principal,
to: url
}]) %}
{% endif %}
{# Care cards #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/care_cards.html.twig" %}
{% set care_cards_items = composant.getCmsPageBlockComposantItems() %}
{% set items_elements = [] %}
{% if care_cards_items %}
{% for item in care_cards_items %}
{% set produit_thalasso_id = null %}
{% if item.produitThalasso %}
{% set produit_thalasso_id = item.produitThalasso.id %}
{% set min_days = (item.produitThalasso.dureeJours == 0) ? 1 : item.produitThalasso.dureeJours %}
{% set max_days = min_days %}
{% set items_calendar = items_calendar|merge([{prod_id: item.produitThalasso.id}]) %}
{% else %}
{% set min_days = 1 %}
{% set max_days = 1 %}
{% set items_calendar = items_calendar|merge([{prod_id: 0}]) %}
{% endif %}
{% set produit_url = (produit_thalasso_id) ? path("process_choice_signature", { 'idp': produit_thalasso_id }) : null %}
{% set produit_url_gift = (produit_thalasso_id) ? path("process_choice_signature_gift", { 'idp': produit_thalasso_id, 'g':1}) : null %}
{% set item_url = '#' %}
{% set externe = null %}
{% set item_sec_url = null %}
{% set all_links = [] %}
{% if item.urlLienPrincipalPage %}
{% set item_url = frontservice.getUrlPage(item.urlLienPrincipalPage, lang) %}
{% set externe = '_self' %}
{% elseif frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% set item_url = frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% set externe = '_blank'%}
{% else %}
{% set item_url = '#' %}
{% set externe = '' %}
{% endif %}
{% if item.urlLienSecondairePage %}
{% set item_sec_url = frontservice.getUrlPage(item.urlLienSecondairePage, lang) %}
{% else %}
{% set item_sec_url = frontservice.getContentItemField(item, 'url_lien_secondaire', lang) %}
{% endif %}
{% set all_links = all_links|merge([{
icon: '',
text: frontservice.getContentItemField(item, 'label_lien_principal', lang),
to: item_url,
externe: externe
}]) %}
{% if frontservice.getContentItemField(item, 'label_lien_secondaire', lang) and produit_url_gift %}
{% set all_links = all_links|merge([{
icon: 'gift',
text: frontservice.getContentItemField(item, 'label_lien_secondaire', lang),
to: null,
bookingLink: produit_url_gift
}]) %}
{% endif %}
{% set pricedisplay = { price : null, originalPrice: null} %}
{% set prix_apartir = frontservice.getContentItemField(item, 'prix_apartir', lang) %}
{% set priceValue = prix_apartir %}
{% if produit_thalasso_id %}
{% set mode_heb = ('sans' in item.ProduitThalasso.hebergement) ? false : true %}
{% set pricedisplay = getCalendarThalasso(produit_thalasso_id, mode_heb, true) %}
{% if pricedisplay is null %}{% set pricedisplay = { price : null, originalPrice: null} %}{% endif %}
{% set displayedPrice = (pricedisplay) ? pricedisplay.price : null %}
{% if displayedPrice %}
{% set priceValue = displayedPrice %}
{% else %}
{% set priceValue = (prix_apartir) ? prix_apartir : "Indisponible" %}
{% endif %}
{% endif %}
{% if priceValue and priceValue != "Indisponible" %}
{% set priceValue = priceValue|number_format(2,'.','')|replace({'.00': ''}) %}
{% if '€' not in priceValue %}
{% set priceValue = priceValue ~ '€' %}
{% endif %}
{% endif %}
{% set image = frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang)) %}
{% set items_elements = items_elements|merge([{
image : image,
title: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
duration: frontservice.getContentItemField(item, 'duration', lang),
categoryTitle: frontservice.getContentItemField(item, 'category_produit', lang),
text: frontservice.getContentItemField(item, 'description', lang),
price: priceValue,
links: all_links,
idCare:(item.produitThalasso) ? item.produitThalasso.id : 0,
indexCalendar:index,
minDays:min_days,
maxDays:max_days
}]) %}
{% set index = index + 1 %}
{% endfor %}
{% endif %}
{% include "component/care_cards.html.twig" with {
props: {
heading: {
title: titre_principal,
titleAnnex: surtitre,
text: description|replace({'<p>': '', '</p>': ''})|raw,
image:{
src: frontservice.generatePublicUrl(composant.imagePrincipal, 'reference'),
alt: frontservice.getContentField(composant, 'alt_p', lang),
}
},
items: items_elements
}
} only %}
{% endif %}
{# Home introduction #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/home_introduction.html.twig" %}
{% set link = null %}
{% if label_lien_principal and url %}
{% set link = {
text: label_lien_principal,
title: label_lien_principal,
to: url
}%}
{% endif %}
{% set content = {
props: {
heading: {
title: titre_principal_riche,
titleAnnex: surtitre
},
shape: {
src: asset('build/images/pattern.jpg')
},
text: description,
firstImage: img_principale,
secondImage: img_secondaire,
link: link
}
} %}
{% include "component/home_introduction.html.twig" with content %}
{% endif %}
{# Offer slider #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/offer_slider.html.twig" %}
{% set offer_slider_fields = frontservice.componantFields(page, composant, composant.position, lang) %}
{% set offer_slider_items = composant.getCmsPageBlockComposantItems() %}
{% set fields_elements = [] %}
{% if offer_slider_items %}
{% for item in offer_slider_items %}
{% set item_url = '#' %}
{% set link = null %}
{% if item.urlLienPrincipalPage %}
{% set item_url = frontservice.getUrlPage(item.urlLienPrincipalPage, lang) %}
{% elseif frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% set item_url = frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% else %}
{% set item_url = '#' %}
{% endif %}
{% if item_url and frontservice.getContentItemField(item, 'label_lien_principal', lang) %}
{% set link = {
title: frontservice.getContentItemField(item, 'label_lien_principal', lang),
text: frontservice.getContentItemField(item, 'label_lien_principal', lang),
to: item_url,
} %}
{% endif %}
{% set masquer = frontservice.getContentItemField(item, 'masquer', lang) %}
{% if masquer != 1 %}
{% set pricedisplay = { price : null, originalPrice: null} %}
{% set produit_thalasso_id = null %}
{% set prix_apartir = frontservice.getContentItemField(item, 'prix_apartir', lang) %}
{% set prix_au_lieu_de = frontservice.getContentItemField(item, 'prix_au_lieu_de', lang) %}
{% set priceValue = prix_apartir %}
{% set realPrice = prix_au_lieu_de %}
{% if item.produitThalasso %}
{% set produit_thalasso_id = item.produitThalasso.id %}
{% set mode_heb = ('sans' in item.ProduitThalasso.hebergement) ? false : true %}
{% set pricedisplay = getCalendarThalasso(produit_thalasso_id, mode_heb, true) %}
{% if pricedisplay is null %}{% set pricedisplay = { price : null, originalPrice: null} %}{% endif %}
{% set displayedPrice = (pricedisplay) ? pricedisplay.price : null %}
{% set realPrice = (pricedisplay) ? pricedisplay.originalPrice : null %}
{% if displayedPrice %}
{% set priceValue = displayedPrice %}
{% set realPrice = realPrice %}
{% else %}
{% set priceValue = (prix_apartir) ? prix_apartir : "Indisponible" %}
{% set realPrice = (prix_au_lieu_de) ? prix_au_lieu_de : null %}
{% endif %}
{% endif %}
{% if priceValue and priceValue != "Indisponible" %}
{% set priceValue = priceValue|number_format(2,'.','')|replace({'.00': ''}) %}
{% if '€' not in priceValue %}
{% set priceValue = priceValue ~ '€' %}
{% endif %}
{% endif %}
{% if realPrice and realPrice != "Indisponible" %}
{% set realPrice = realPrice|number_format(2,'.','')|replace({'.00': ''}) %}
{% if '€' not in realPrice %}
{% set realPrice = realPrice ~ '€' %}
{% endif %}
{% endif %}
{% set image = frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang)) %}
{% set fields_elements = fields_elements|merge([{
image: image,
price: priceValue,
realPrice: realPrice,
realPriceMention: (realPrice) ? frontservice.getContentItemField(item, 'label_prix_au_lieu_de', lang) : null,
priceFrom : (priceValue) ? frontservice.getContentItemField(item, 'label_prix_apartir', lang) : null,
name: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
text: frontservice.getContentItemField(item, 'description', lang) |raw|striptags,
link: link
}]) %}
{% endif %}
{% endfor %}
{% endif %}
{% set content = {
props: {
heading: {
title: titre_principal,
titleAnnex: surtitre
},
text: description |raw|striptags ,
items: fields_elements
}
} %}
{% include "component/offer_slider.html.twig" with content %}
{% endif %}
{# Accordion content #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/accordion_content.html.twig" %}
{% set accordion_content_items = composant.getCmsPageBlockComposantItems() %}
{% set content = [] %}
{% if accordion_content_items %}
{% for item in accordion_content_items %}
{% set masquer = frontservice.getContentItemField(item, 'masquer', lang) %}
{% if masquer != 1 %}
{% set all_links = null %}
{% set item_url = null %}
{% if item.urlLienPrincipalPage %}
{% set item_url = frontservice.getUrlPage(item.urlLienPrincipalPage, lang) %}
{% else %}
{% set item_url = frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% endif %}
{% if item_url and frontservice.getContentItemField(item, 'label_lien_principal', lang) %}
{% set all_links = [] %}
{% set all_links = all_links|merge([{
text: frontservice.getContentItemField(item, 'label_lien_principal', lang),
to: item_url
}]) %}
{% endif %}
{% set item_sec_url = null %}
{% if item.urlLienSecondairePage %}
{% set item_sec_url = frontservice.getUrlPage(item.urlLienSecondairePage, lang) %}
{% else %}
{% set item_sec_url = frontservice.getContentItemField(item, 'url_lien_secondaire', lang) %}
{% endif %}
{% if item_sec_url and frontservice.getContentItemField(item, 'label_lien_secondaire', lang) %}
{% set all_links = (all_links) ? all_links : [] %}
{% set all_links = all_links|merge([{
text: frontservice.getContentItemField(item, 'label_lien_secondaire', lang),
to: item_sec_url
}]) %}
{% endif %}
{% 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,
text: frontservice.getContentItemField(item, 'description', lang) ,
image: image,
links: all_links
}])
%}
{% endif %}
{% endfor %}
{% endif %}
{% include "component/accordion_content.html.twig" with {
props: {
layout: layout_sens,
contents: content
}
} %}
{% 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 %}
{# Discover suites #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/discover_suites.html.twig" %}
{% set content = {
props: {
heading: {
title: titre_principal,
titleAnnex: surtitre
},
text: description,
link: (links) ? links|first : null,
image: img_principale
}
} %}
{% include "component/discover_suites.html.twig" with content %}
{% endif %}
{# Stay informed #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/stay_informed.html.twig" %}
{% set stay_informed_items = composant.getCmsPageBlockComposantItems() %}
{% set content = [] %}
{% if stay_informed_items %}
{% for item in stay_informed_items %}
{% set item_url = '#' %}
{% if item.urlLienPrincipalPage %}
{% set item_url = frontservice.getUrlPage(item.urlLienPrincipalPage, lang) %}
{% else %}
{% set item_url = frontservice.getContentItemField(item, 'url_lien_principal', lang) %}
{% endif %}
{% set content = content|merge([{
title: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
subtitle: frontservice.getContentItemField(item, 'soustitre', lang),
to: item_url,
image: frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang))
}])
%}
{% endfor %}
{% endif %}
{% include "component/stay_informed.html.twig" with {
props: {
heading: {
title: titre_principal,
titleAnnex: surtitre
},
contents: content
}
} %}
{% endif %}
{# block text #}
{% if composant.cmsComposant.nomTechniqueComposant == "component/introduction.html.twig" %}
{% include "component/introduction.html.twig" with {
props: {
text: {
first: intro_description is not empty ?'<p class="intro">'~ intro_description ~'</p>': '',
second: description,
},
}
} %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{# Calendar tea time & sea #}
{% set datacal = [] %}
{% if items_calendar is not empty %}
{% for item in items_calendar %}
{% set datacal = datacal|merge(getCalendarThalasso(item.prod_id,false)) %}
{% endfor %}
{% endif %}
{% include "component/calendar.html.twig" with {
props: {
form: {
action: path("process_choice_signature", { 'idp': 0 }),
link: {
text: 'Continuer'
},
},
lang:'fr',
},
data : datacal
} only %}
{# Footer #}
{% include "component/footer.html.twig" %}
{% endblock %}