templates/layouts/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. {% set bodyClass = null %}
  3. {% set pageClasses = ['page'] %}
  4. {% if pageClass is defined %}
  5.     {% set bodyClass = pageClass ~ '-page' %}
  6.     {% set pageClasses = pageClasses|merge([pageClass ~ '-page']) %}
  7. {% endif %}
  8. {% set pageClasses = pageClasses|join(' ') %}
  9. {% set lang = app.request.getLocale() %}
  10. {% set residence_mode = getResidenceMode() %}
  11. {% set social_media = [] %}
  12. <html lang="fr">
  13.     <head>
  14.         {% set schemeAndHttpHost = app.request.getSchemeAndHttpHost %}
  15.         {% if 'miramar-lacigale.com' in schemeAndHttpHost %}
  16.             <meta name="facebook-domain-verification" content="4t45bul4etl9qga4a810ima4xten22"/>
  17.         {% endif %}
  18.         {% if (page_versions is defined and page_versions) %}
  19.             {% for version in page_versions %}
  20.                 <link rel="alternate" hreflang="{{version['value']}}" href="{{app.request.getSchemeAndHttpHost() ~ version['to']}}"/>
  21.                 {% if version['value'] == app.request.getLocale() %}
  22.                     <link rel="canonical" href="{{app.request.getSchemeAndHttpHost() ~ version['to']}}"/>
  23.                 {% endif %}
  24.             {% endfor %}
  25.         {% endif %}
  26.         <meta charset="utf-8">
  27.         <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=10">
  28.         {% if page is defined %}
  29.             <meta name="title" content="{{ frontservice.getHeaderFields(page, 'seo_meta_title', lang) }}"/>
  30.             <meta name="description" content="{{ frontservice.getHeaderFields(page, 'seo_meta_description', lang) }}"/>
  31.             <title>{{ frontservice.getHeaderFields(page, 'seo_meta_title', lang) }}</title>
  32.         {% else %}
  33.             <title>Miramar</title>
  34.         {% endif %}
  35.         <link href='https://api.mapbox.com/mapbox-gl-js/v2.0.0/mapbox-gl.css' rel='stylesheet'/>
  36.         {% block stylesheets %}
  37.             {{ encore_entry_link_tags('app') }}
  38.             <link rel="stylesheet" type="text/css" href="{{ asset('cms/css/style.css') }}"/>
  39.         {% endblock %}
  40.                     {# <!-- 
  41.                             Start of global snippet: Please do not remove
  42.                             Place this snippet between the <head> and </head> tags on every page of your site.
  43.                             -->
  44.                             <!-- Global site tag (gtag.js) - Google Marketing Platform -->
  45.                             <script async src="https://www.googletagmanager.com/gtag/js?id=DC-10209412"></script>
  46.                             <script>
  47.                             window.dataLayer = window.dataLayer || [];
  48.                             function gtag(){dataLayer.push(arguments);}
  49.                             gtag('js', new Date());
  50.             
  51.                             gtag('config', 'DC-10209412');
  52.                             </script>
  53.                             <!-- End of global snippet: Please do not remove --> #}
  54. {% set schemeAndHttpHost = app.request.getSchemeAndHttpHost %}
  55.             {% if 'miramar-lacigale.com' in schemeAndHttpHost %}
  56.             <!-- Google Tag Manager -->
  57.             
  58.             
  59.                 <script>
  60. (function (w, d, s, l, i) {
  61. w[l] = w[l] || [];
  62. w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
  63. var f = d.getElementsByTagName(s)[0],
  64. j = d.createElement(s),
  65. dl = l != 'dataLayer' ? '&l=' + l : '';
  66. j.async = true;
  67. j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  68. f.parentNode.insertBefore(j, f);
  69. })(window, document, 'script', 'dataLayer', 'GTM-NZDDJPS');
  70.         </script>
  71.             <!-- End Google Tag Manager -->
  72.                 {% endif %}
  73.             
  74.         <script src='https://www.google.com/recaptcha/api.js?render=6LeggfEcAAAAAClhhByqb-q6e7AI-TrnFqhvirqb'></script>
  75.         {% set schemeAndHttpHost = app.request.getSchemeAndHttpHost %}
  76.         {% if 'miramar-lacigale.com' in schemeAndHttpHost %}
  77.             <!-- Meta Pixel Code -->
  78.             <script>
  79.                 !function (f, b, e, v, n, t, s) {
  80. if (f.fbq) 
  81. return;
  82. n = f.fbq = function () {
  83. n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
  84. };
  85. if (! f._fbq) 
  86. f._fbq = n;
  87. n.push = n;
  88. n.loaded = !0;
  89. n.version = '2.0';
  90. n.queue = [];
  91. t = b.createElement(e);
  92. t.async = !0;
  93. t.src = v;
  94. s = b.getElementsByTagName(e)[0];
  95. s.parentNode.insertBefore(t, s)
  96. }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
  97. fbq('init', '905233410257695');
  98. fbq('track', 'PageView');
  99.             </script>
  100.             <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=905233410257695&ev=PageView&noscript=1"/></noscript>
  101.             <!-- End Meta Pixel Code -->
  102.             {# <!--
  103.                             Event snippet for  [MIRAMAR] - ALL VISITORS on : Please do not remove.
  104.                             Place this snippet on pages with events you’re tracking. 
  105.                             Creation date: 11/17/2021
  106.                             -->
  107.                             <script>
  108.                             gtag('event', 'conversion', {
  109.                             var pageUrl = window.location.href;
  110.                                 'allow_custom_scripts': true,
  111.                                 'u1': pageUrl,
  112.                                 'send_to': 'DC-10209412/invmedia/miram003+standard'
  113.                             });
  114.                             </script>
  115.                             <noscript>
  116.                             <img src="https://ad.doubleclick.net/ddm/activity/src=10209412;type=invmedia;cat=miram003;u1=na;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ord=1?" width="1" height="1" alt=""/>
  117.                             </noscript>
  118.                             <!-- End of event snippet: Please do not remove --> #}
  119.         {% endif %}
  120.         {% block head %}{% endblock %}
  121.         {% if page is defined %}
  122.             {% set array = frontservice.getSchemaBreadcrumb(page, lang, schemeAndHttpHost) %}
  123.             <script type="application/ld+json">
  124.                 {
  125.                                     "@context": "http://schema.org/",
  126.                                     "@type": "BreadcrumbList",
  127.                                     "name": "Miramar La Cigale : Hôtel Thalasso & Spa",
  128.                                     "itemListElement":
  129.                 {{ array | json_encode | raw }}
  130.                 }
  131.             </script>
  132.         {% endif %}
  133.         <!-- favicon -->
  134.         <link rel="icon" type="image/x-icon" href="{{asset('build/images/favicon.png') }}" />
  135.     </head>
  136.     <body {% if bodyClass %} class="{{ bodyClass }}" {% endif %}>
  137.         {% if 'miramar-lacigale.com' in schemeAndHttpHost %}
  138.             <!-- Google Tag Manager (noscript) -->
  139.             <noscript>
  140.                 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NZDDJPS" height="0" width="0" style="display:none;visibility:hidden"></iframe>
  141.             </noscript>
  142.             <!-- End Google Tag Manager (noscript) -->
  143.         {% endif %}
  144.         {% block body %}{% endblock %}
  145.         {% include 'component/page_transition.html.twig' %}
  146.         <div style="display:none">
  147.             {% include "layouts/sprite.svg" %}
  148.         </div>
  149.         {# Main #}
  150.         <main
  151.             data-page="{{ jsPageId|default('') }}" class="{{ pageClasses }}">
  152.             {# Modal reservations #}
  153.             {% include "component/modal-reservations.html.twig" only %}
  154.             {# Menu #}
  155.             {% set first_menu_items = [] %}
  156.             {% set second_menu_items = [] %}
  157.             {% if residence_mode %}
  158.                 {% set resi_type = "residence" %}
  159.             {% else %}
  160.                 {% set resi_type = "hotel" %}
  161.             {% endif %}
  162.             {% if isCacheMenu(lang, resi_type) == null %}
  163.                 {% if residence_mode %}
  164.                     {% set menu_principale_residence = getMenu("principale-residence") %}
  165.                     {% if menu_principale_residence %}
  166.                         {% for menu_item in menu_principale_residence %}
  167.                             {% set to = frontservice.getMenuItemContent(menu_item, 'link', lang) %}
  168.                             {% if to %}
  169.                                 {% set first_menu_items = first_menu_items|merge([{
  170.                                 title: frontservice.getMenuItemContent(menu_item, 'label', lang),
  171.                                 image: frontservice.getMediaPublicUrl(menu_item.sonataImg, 'big', frontservice.getMenuItemContent(menu_item, 'alt_img', lang)),
  172.                                 to: (menu_item.isExternalLink) ? to : path("render_residence_pages",{_locale:lang, slug:to, hostname:app.request.getHttpHost()}),
  173.                                 target: (menu_item.isExternalLink) ? "_blank" : ""
  174.                             }]) %}
  175.                             {% endif %}
  176.                         {% endfor %}
  177.                     {% endif %}
  178.                     {% set menu_secondaire_residence = getMenu("secondaire-residence") %}
  179.                     {% if menu_secondaire_residence %}
  180.                         {% for menu_item in menu_secondaire_residence %}
  181.                             {% set to = frontservice.getMenuItemContent(menu_item, 'link', lang) %}
  182.                             {% if to %}
  183.                                 {% set second_menu_items = second_menu_items|merge([{
  184.                                 title: frontservice.getMenuItemContent(menu_item, 'label', lang),
  185.                                 image: frontservice.getMediaPublicUrl(menu_item.sonataImg, 'big', frontservice.getMenuItemContent(menu_item, 'alt_img', lang)),
  186.                                 to: (menu_item.isExternalLink) ? to : path("render_residence_pages",{_locale:lang, slug:to, hostname:app.request.getHttpHost()}),
  187.                                 target: (menu_item.isExternalLink) ? "_blank" : ""
  188.                             }]) %}
  189.                             {% endif %}
  190.                         {% endfor %}
  191.                     {% endif %}
  192.                 {% else %}
  193.                     {% set menu_principal_hotel = getMenu("principale") %}
  194.                     {% if menu_principal_hotel %}
  195.                         {% for menu_item in menu_principal_hotel %}
  196.                             {% set to = frontservice.getMenuItemContent(menu_item, 'link', lang) %}
  197.                             {% if to %}
  198.                                 {% set first_menu_items = first_menu_items|merge([{
  199.                             title: frontservice.getMenuItemContent(menu_item, 'label', lang),
  200.                             image: frontservice.getMediaPublicUrl(menu_item.sonataImg, 'big', frontservice.getMenuItemContent(menu_item, 'alt_img', lang)),
  201.                             to: (menu_item.isExternalLink) ? to : path("render_mlc_pages",{_locale:lang, slug:to, hostname:app.request.getHttpHost()}),
  202.                             target: (menu_item.isExternalLink) ? "_blank" : ""
  203.                         }]) %}
  204.                             {% endif %}
  205.                         {% endfor %}
  206.                     {% endif %}
  207.                     {% set menu_secondaire_hotel = getMenu("secondaire") %}
  208.                     {% if menu_secondaire_hotel %}
  209.                         {% for menu_item in menu_secondaire_hotel %}
  210.                             {% set to = frontservice.getMenuItemContent(menu_item, 'link', lang) %}
  211.                             {% if to %}
  212.                                 {% set second_menu_items = second_menu_items|merge([{
  213.                                 title: frontservice.getMenuItemContent(menu_item, 'label', lang),
  214.                                 image: frontservice.getMediaPublicUrl(menu_item.sonataImg, 'big', frontservice.getMenuItemContent(menu_item, 'alt_img', lang)),
  215.                                 to: (menu_item.isExternalLink) ? to : path("render_mlc_pages",{_locale:lang, slug:to, hostname:app.request.getHttpHost()}),
  216.                                 target: (menu_item.isExternalLink) ? "_blank" : ""
  217.                             }]) %}
  218.                             {% endif %}
  219.                         {% endfor %}
  220.                     {% endif %}
  221.                 {% endif %}
  222.                 {% set saveCachedMenu = saveCachedMenu(first_menu_items, second_menu_items, lang, resi_type) %}
  223.             {% else %}
  224.                 {% set the_cached_menu = getCachedMenu(lang, resi_type) %}
  225.                 {% if the_cached_menu %}
  226.                     {% set first_menu_items = the_cached_menu['first_menu'] %}
  227.                     {% set second_menu_items = the_cached_menu['second_menu'] %}
  228.                 {% endif %}
  229.             {% endif %}
  230.             {% if residence_mode %}
  231.                 {% set resi_social_media = getSocialMedia("residence", app.request.getLocale()) %}
  232.                 {% if resi_social_media %}
  233.                     {% set social_media = resi_social_media %}
  234.                 {% endif %}
  235.             {% else %}
  236.                 {% set hotel_social_media = getSocialMedia("hotel", app.request.getLocale()) %}
  237.                 {% if hotel_social_media %}
  238.                     {% set social_media = hotel_social_media %}
  239.                 {% endif %}
  240.             {% endif %}
  241.             {% include "component/header/menu.html.twig" with {
  242.                 props: {
  243.                     heading: {
  244.                         title: 'Journées & rituels thalasso',
  245.                         titleAnnex: 'se ressourcer'
  246.                     },
  247.                     firstMenuItems: first_menu_items,
  248.                     secondMenuItems: second_menu_items,  
  249.                     socialItems: social_media
  250.                 }
  251.             } only %}
  252.             {% block content %}{% endblock %}
  253.         </main>
  254.         {% block javascripts %}
  255.             {{ encore_entry_script_tags('app') }}
  256.             <script src="{{ asset('admin/js/custom_front.js') }}"></script>
  257.             <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  258.             <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  259.             <script src="{{ asset('cms/js/scripts.js') }}"></script>
  260.             <script>
  261.                 grecaptcha.ready(function () {
  262. grecaptcha.execute('6LeggfEcAAAAAClhhByqb-q6e7AI-TrnFqhvirqb', {action: 'homepage'}).then(function (token) {
  263. $('.g-recaptcha-response').each(function (i, obj) {
  264. obj.value = token;
  265. });
  266. });
  267. });
  268.             </script>
  269.             {# <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="021ef8a8-2589-44e8-8ea7-b84380a00cdb" data-blockingmode="auto" type="text/javascript"></script> #}
  270.         {% endblock %}
  271.     </body>
  272. </html></body></html>