src/CmsBundle/Resources/views/page/page.html.twig line 1

Open in your IDE?
  1. {% extends (app.request.xmlHttpRequest ? '@Cms/ajax.html.twig' : ['layouts/' ~ Page.layout ~ '.html.twig', 'layouts/' ~ Settings.defaultTemplate ~ '.html.twig', 'layouts/default.html.twig']) %}
  2. {% if Page.CricitalCss is defined and Page.CricitalCss is not empty %}
  3.     {% set deferStylesheets = true %}
  4. {% else %}
  5.     {% set deferStylesheets = false %}
  6. {% endif %}
  7. {% trans_default_domain 'cms' %}
  8. {% block metadata %}{% include "@Cms/page/metadata.html.twig" with {'metatags': metatags, 'bundle_metatags': bundle_metatags} %}{% endblock %}
  9. {% block sitetitle %}{{Settings.getLabel|raw}}{% endblock %}
  10. {% block title %}
  11.     {{customTitle is defined and customTitle is not empty ? customTitle : ''}}
  12.     {{Page.getTitle|raw}}
  13. {% endblock %}
  14. {% block pagetitle %}
  15.     {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit and app.session.get('live_edit') == true %}
  16.         <h1 id="title-{{Page.getId}}" class="front-editor" contenteditable="true">{{Page.getTitle|raw}}</h1>
  17.     {% else %}
  18.         <h1>{{Page.getTitle|raw}}</h1>
  19.     {% endif %}
  20. {% endblock %}
  21. {% block plain_body %}
  22.     {% if exception is defined and Page.mode == "dev" %}
  23.         {# {{dump(exception)}} #}
  24.     {% endif %}
  25.     {% if loginform is defined %}
  26.         {% include ['layouts/login.html.twig', '@Cms/page/login.html.twig'] %}
  27.     {% elseif pwdform is defined %}
  28.         {% include ['layouts/password.html.twig', '@Cms/page/password.html.twig'] %}
  29.     {% endif %}
  30. {% endblock %}
  31. {% block body %}
  32.     {% if loginform is defined %}
  33.         {% include ['layouts/login.html.twig', '@Cms/page/login.html.twig'] %}
  34.     {% elseif pwdform is defined %}
  35.         {% include ['layouts/password.html.twig', '@Cms/page/password.html.twig'] %}
  36.     {% else %}
  37.         {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit and app.session.get('live_edit') == true %}
  38.             <div id="{{content is not empty ? 'contentid-' ~ content['default'].id : 'pageid-' ~ Page.id}}" id="main-front-editor" class="front-editor" contenteditable="true">{{content is not empty ? content['default'].content|raw : ''}}</div>
  39.         {% else %}
  40.             {{content is not empty ? content['default'].content|raw : ''}}
  41.         {% endif %}
  42.     {% endif %}
  43. {% endblock %}
  44. {% block pageimage %}{% if Page.hasImage %}{{asset(Page.getImage.getWebPath)}}{% endif %}{% endblock %}
  45. {# {% block head_lang %}{{(Settings is defined and Settings.language is not empty ? 'lang="' ~ Settings.language.localeFull ~ '"' : '')|raw}}{% endblock %} #}
  46. {% block head_lang %}{{(Settings is defined and Settings.language is not empty ? 'lang="' ~ (Settings.language.locale == 'gb' ? 'en' : Settings.language.locale) ~ '"' : '')|raw}}{% endblock %}
  47. {% block admin_header %}
  48.     {% if exception is defined %}
  49.         <meta name="robots" content="noindex,nofollow" />
  50.     {% else %}
  51.         <meta name="robots" content="{{(Page is defined and Page.robots is not empty ? Page.robots : (Settings is defined and Settings.robots is not empty ? Settings.robots : 'noindex,nofollow'))}}" />
  52.     {% endif %}
  53.     {% set customMetadata = pageblocks_meta(Page) %}
  54.     {% include "@Cms/page/metadata.html.twig" %}
  55.     {% for Language in languages %}
  56.         {% if Language.settings %}
  57.             {% for LanguageSettings in Language.settings %}
  58.                 {% if LanguageSettings.host and LanguageSettings.host == Settings.host %}
  59.                     {# <link rel="alternate" href="{{ (LanguageSettings.forceHttps ? 'https' : 'http') ~ '://' ~ LanguageSettings.host ~ LanguageSettings.baseUri }}" hreflang="{{Language.localeFull|replace({'_' : '-'})}}" /> #}
  60.                     <link rel="alternate" href="{{ (LanguageSettings.forceHttps ? 'https' : 'http') ~ '://' ~ LanguageSettings.host ~ LanguageSettings.baseUri }}" hreflang="{{Language.locale == 'gb' ? 'en' : Language.locale}}" />
  61.                 {% endif %}
  62.             {% endfor %}
  63.         {% endif %}
  64.     {% endfor %}
  65.     {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit %}
  66.         {% if deferStylesheets %}
  67.             <link rel="preload" href="/bundles/cms/css/frontinject.css" as="style" onload="this.onload=null;this.rel='stylesheet';">
  68.         {% else %}
  69.             <link rel="stylesheet" href="/bundles/cms/css/frontinject.css">
  70.         {% endif %}
  71.     {% endif %}
  72.     {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit and app.session.get('live_edit') == true %}
  73.         {% if deferStylesheets %}
  74.             <link rel="preload" href="{{asset('bundles/cms/css/font-awesome.min.css')}}" as="style" onload="this.onload=null;this.rel='stylesheet';" />
  75.             <link rel="preload" href="/bundles/cms/css/jquery.cpop.css" as="style" onload="this.onload=null;this.rel='stylesheet';" />
  76.         {% else %}
  77.             <link rel="stylesheet" href="{{asset('bundles/cms/css/font-awesome.min.css')}}">
  78.             <link rel="stylesheet" href="/bundles/cms/css/jquery.cpop.css">
  79.         {% endif %}
  80.         <style type="text/css">
  81.         .front-editor{
  82.             outline: none !important;
  83.             border: dashed 1px #ccc;
  84.             margin: -1px;
  85.         }
  86.         .cke_chrome {
  87.             box-shadow: none !important;
  88.         }
  89.         .cke_wordcount {
  90.             display: none !important;
  91.         }
  92.         .cke_float .cke_top {
  93.             background: #f3f3f3 !important;
  94.             border: solid 1px #ccc !important;
  95.             box-shadow: none !important;
  96.             border-radius: 2px !important;
  97.         }
  98.         .save-overlay{
  99.             position: fixed;
  100.             top: 0;
  101.             left: 0;
  102.             right: 0;
  103.             bottom: 0;
  104.             z-index: 10000;
  105.             background: #ffffffab;
  106.         }
  107.         .inline-save-btn{
  108.             position: fixed;
  109.             bottom: 40px;
  110.             right: 50px;
  111.         }
  112.         .lds-ring {
  113.             display: inline-block;
  114.             position: relative;
  115.             width: 120px;
  116.             height: 120px;
  117.             position: absolute;
  118.             top: 50%;
  119.             left: 50%;
  120.             margin-left: -60px;
  121.             margin-top: -60px;
  122.         }
  123.         .lds-ring span {
  124.             position: absolute;
  125.             top: 45px;
  126.             left: 30px;
  127.             right: 30px;
  128.             text-align: center;
  129.             font-size: 12px;
  130.             line-height: 16px;
  131.             color: #3594e8;
  132.             font-weight: bold;
  133.         }
  134.         .lds-ring div {
  135.             box-sizing: border-box;
  136.             display: block;
  137.             position: absolute;
  138.             width: 104px;
  139.             height: 104px;
  140.             margin: 8px;
  141.             border: 8px solid #3594e8;
  142.             border-radius: 50%;
  143.             animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  144.             border-color: #3594e8 transparent transparent transparent;
  145.         }
  146.         .lds-ring div:nth-child(1) {
  147.             animation-delay: -0.45s;
  148.         }
  149.         .lds-ring div:nth-child(2) {
  150.             animation-delay: -0.3s;
  151.         }
  152.         .lds-ring div:nth-child(3) {
  153.             animation-delay: -0.15s;
  154.         }
  155.         @keyframes lds-ring {
  156.             0% {
  157.                 transform: rotate(0deg);
  158.             }
  159.             100% {
  160.                 transform: rotate(360deg);
  161.             }
  162.         }
  163.         </style>
  164.     {% endif %}
  165.     {% for incl in Settings.getLayoutIncludeCss(true) %}
  166.         {% if deferStylesheets %}
  167.             <link rel="preload" href="{{incl}}?v=12" as="style" onload="this.onload=null;this.rel='stylesheet';">
  168.         {% else %}
  169.             <link rel="stylesheet" href="{{incl}}?v=12">
  170.         {% endif %}
  171.     {% endfor %}
  172.     {% if extraPageCss is defined %}
  173.     {% for incl in extraPageCss %}
  174.         {% if deferStylesheets %}
  175.             <link rel="preload" href="{{incl}}?v=12" as="style" onload="this.onload=null; this.rel='stylesheet'">
  176.         {% else %}
  177.             <link rel="stylesheet" href="{{incl}}?v=12">
  178.         {% endif %}
  179.     {% endfor %}
  180.     {% endif %}
  181.     {% for incl in Settings.getLayoutIncludeFont(true) %}
  182.         {% if deferStylesheets %}
  183.             <link rel="preload" href="{{incl}}?v=12" as="style" onload="this.onload=null;this.rel='stylesheet';">
  184.         {% else %}
  185.             <link rel="stylesheet" href="{{incl}}?v=12">
  186.         {% endif %}
  187.     {% endfor %}
  188.     {% for incl in Settings.getLayoutIncludeJs(true) %}
  189.         {% if incl matches '/jquery-\\d.*\.min\.js/' %}
  190.         <script defer type="text/javascript" src="{{incl}}?v=12"></script>
  191.         {% endif %}
  192.     {% endfor %}
  193.     {% for incl in Settings.getLayoutIncludeJs(true) %}
  194.         {% if incl matches '{popper}' %}
  195.             <script defer type="text/javascript" src="{{incl}}?v=12"></script>
  196.         {% endif %}
  197.     {% endfor %}
  198.     {% for incl in Settings.getLayoutIncludeJs(true) %}
  199.         {% if not (incl matches '/jquery-\\d.*\.min\.js/') and not (incl matches '{popper}') %}
  200.             <script defer type="text/javascript" src="{{incl}}?v=12"></script>
  201.         {% endif %}
  202.     {% endfor %}
  203.     {% if Settings.cookiebar %}
  204.         <script defer src="/bundles/cms/js/avg.min.js"></script>
  205.     {% endif %}
  206.     {% if Settings.hasGoogleRecaptcha %}
  207.         <script>
  208.             var googleRecaptchaMode = '{{ Settings.googleRecaptchaMode }}';
  209.             var googleRecaptchaSitekey = '{{ Settings.googleRecaptchaSitekey }}';
  210.         </script>
  211.     {% endif %}
  212.     <script defer src="/bundles/cms/js/frontend_common.js"></script>
  213.     {% if extraPageJs is defined %}
  214.     {% for incl in extraPageJs %}
  215.         <script defer type="text/javascript" src="{{incl}}"></script>
  216.     {% endfor %}
  217.     {% endif %}
  218.     {% if Settings.googleCc is not empty %}
  219.         <meta name="google-site-verification" content="{{Settings.googleCc}}">
  220.     {% endif %}
  221.         {% if Settings.faceDomainKey is not empty %}
  222.             <meta name="facebook-domain-verification" content="{{ Settings.faceDomainKey }}" />
  223.         {% endif %}
  224.     {% if Settings.iosAppId is not empty %}
  225.         <meta name="apple-itunes-app" content="app-id={{Settings.iosAppId}}">
  226.     {% endif %}
  227.     {% if Settings.androidAppId is not empty %}
  228.         <meta name="google-play-app" content="app-id={{Settings.androidAppId}}">
  229.         {% if deferStylesheets %}
  230.             <link rel="preload" href="{{asset('bundles/cms/android-app-banner/banner.css')}}" as="style" onload="this.onload=null;this.rel='stylesheet';" />
  231.         {% else %}
  232.             <link rel="stylesheet" href="{{asset('bundles/cms/android-app-banner/banner.css')}}" />
  233.         {% endif %}
  234.     {% endif %}
  235.     {% if Settings.cookiebar %}
  236.     {% else %}
  237.         {% if Settings.googleGtm is not empty %}
  238.             <!-- Google Tag Manager -->
  239.             <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  240.             new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  241.             j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  242.             'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  243.             })(window,document,'script','dataLayer','{{Settings.googleGtm}}');</script>
  244.             <!-- End Google Tag Manager -->
  245.         {% endif %}
  246.     {% endif %}
  247.     {% if Settings.facebookpixel is not empty %}
  248.         <script>
  249.         !function(f,b,e,v,n,t,s)
  250.         {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  251.         n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  252.         if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  253.         n.queue=[];t=b.createElement(e);t.async=!0;
  254.         t.src=v;s=b.getElementsByTagName(e)[0];
  255.         s.parentNode.insertBefore(t,s)}(window, document,'script',
  256.         'https://connect.facebook.net/en_US/fbevents.js');
  257.         fbq('init', '{{Settings.facebookpixel}}');
  258.         fbq('track', 'PageView');
  259.         </script>
  260.     {% endif %}
  261.         <script type="application/ld+json">
  262.         {
  263.             "@context": "http://schema.org/",
  264.             "@type": "Organization",
  265.             "name": "{{Settings.company}}",
  266.             "address": {
  267.                 "@type": "PostalAddress",
  268.                 "streetAddress": "{{Settings.address}}",
  269.                 "addressLocality": "{{Settings.place}}",
  270.                 {% if Settings.state is not empty %}
  271.                 "addressRegion": "{{Settings.state}}",
  272.                 {% endif %}
  273.                 "postalCode": "{{Settings.postalcode}}"
  274.             },
  275.             "telephone": "{{Settings.phone}}",
  276.             "email": "mailto:{{Settings.systemEmail|trim}}"
  277.         }
  278.         </script>
  279.         {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit and app.session.get('live_edit') == true %}
  280.             <script type="text/javascript">
  281.                 var frontendEdit = true;
  282.                 var ckAdminJsonUrl = '{{path('_adminjson')}}';
  283.                 var ckAdminPageUrl = '{{path('admin_page_selector')}}';
  284.                 var ckAdminMediaUrl = '{{path('admin_media', {type: 'image'})}}';
  285.                 var ckDropUploadUrl = '';
  286.             </script>
  287.             <script defer src="{{asset('bundles/cms/ckeditor/ckeditor.js')}}"></script>
  288.             <script defer src="{{asset('bundles/cms/jquery-match-height/dist/jquery.matchHeight-min.js')}}"></script>
  289.             <script defer src="{{asset('bundles/cms/jquery-ui-1.11.4.custom/jquery-ui.js')}}"></script>
  290.             <script defer src="{{ asset('bundles/cms/js/jquery.cpop.js') }}"></script>
  291.             <script defer src=" {{ asset('bundles/cms/js/frontend.js') }}"></script>
  292.         {% endif %}
  293.         {% if Settings.androidAppId is not empty %}
  294.         <script>
  295.             var smartBannerMsgTitle = '{{Settings.appLabel}}';
  296.             var smartBannerMsgAuthor = '{{Settings.company}}';
  297.             var smartBannerMsgButton = '{{ 'BEKIJKEN' | trans({}, '', app.request.locale) }}';
  298.             var smartBannerMsgIos = '{{ 'In de App Store' | trans }}';
  299.             var smartBannerMsgAndroid = '{{ 'In Google Play' | trans }}';
  300.             var smartBannerMsgWindows = '{{ 'In Windows store' | trans }}';
  301.             var smartBannerMsgPrice = '{{ 'GRATIS' | trans }}';
  302.             var smartBannerMsgIcon = '{{Settings.getAppIcon}}';
  303.         </script>
  304.         <script defer src="{{asset('bundles/cms/android-app-banner/banner.js')}}"></script>
  305.     {% endif %}
  306. {% endblock %}
  307. {% block admin_footer %}
  308.     {% if is_granted('ROLE_PREVIOUS_ADMIN') %}
  309.         {% if 'admin' in app.request.attributes.get('_route') %}
  310.             <a style="position:fixed;bottom:30px;right: 30px;z-index: 1000;" class="btn" href="{{path('admin_users')}}?_switch_user=_exit"><i class="fa fa-lock"></i> {{ 'Exit impersonation' | trans }}</a>
  311.         {% else %}
  312.             <a style="position:fixed;bottom:30px;right: 30px;z-index: 1000;" class="btn" href="{{path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params'))}}?_switch_user=_exit"><i class="fa fa-lock"></i> {{ 'Exit impersonation' | trans }}</a>
  313.         {% endif %}
  314.     {% endif %}
  315.     {% if is_granted('ROLE_ADMIN') and Settings.getInlineEdit %}
  316.         <div id="admin-sidebar">
  317.             <div class="admin-logo" style="background-image:url('{{Settings.getLogo}}');"></div>
  318.             <ul>
  319.                 <li>
  320.                     <a href="{{path('admin')}}">Admin</a>
  321.                 </li>
  322.                 {% if app.session.get('live_edit') == true %}
  323.                     <li><a style="background: #4F805D;" href="?live_edit=0">{{ 'Live bewerken:' | trans }} <span class="value">{{ 'AAN' | trans }}</span></a></li>
  324.                 {% else %}
  325.                     <li><a href="?live_edit=1">{{ 'Live bewerken:' | trans }} <span class="value">{{ 'UIT' | trans }}</span></a></li>
  326.                 {% endif %}
  327.                 <li><a>{{ 'Gebruiker wisselen' | trans }}</a>
  328.                     <ul>
  329.                         {% for User in users %}
  330.                             {% if User.id > 1 %}
  331.                                 <li><a href="?_switch_user={{User.username}}">{{User.getName}}<span>{{User.username}} | <span class="orange-text">{{User.roles|join(', ')}}</span></span></a></li>
  332.                             {% endif %}
  333.                         {% endfor %}
  334.                     </ul>
  335.                 </li>
  336.                 {% if Settings.getMaintenance %}
  337.                     <li>
  338.                         <a style="background:#A46A1F;">{{ 'Maintainance mode is actief' | trans }}</a>
  339.                     </li>
  340.                 {% endif %}
  341.                 <li><a>{{(app.request.query.get("rev") and app.request.query.get("rev") matches '/^\\d+$/' ? ('Versie' | trans) ~ ' ' ~ app.request.query.get("rev") : ('Pagina versies' | trans))}}</a>
  342.                     <ul>
  343.                         {% set initial = false %}
  344.                         {% for Content in Page.content[0:10] %}
  345.                             {% if Content.name == 'default' %}
  346.                             {% set url = '?rev=' ~ Content.revision %}
  347.                             {% set label = (Content.revision == 0 ? ('InitiĆ«le versie' | trans) : ('Versie' | trans) ~ ' ' ~ Content.revision ) %}
  348.                             {% set style = '' %}
  349.                             {% if Content.published and initial == false %}
  350.                                 {% set initial = true %}
  351.                                 {% set label = ('Actuele versie' | trans) %}
  352.                                 {% set style = 'green darken-1' %}
  353.                             {% elseif Content.published == false %}
  354.                                 {% set label = ('Versie' | trans) ~ ' ' ~ Content.revision ~ ' ' ~ ('(Niet gepubliceerd)' | trans ) %}
  355.                                 {% set style = 'orange darken-2' %}
  356.                             {% endif %}
  357.                             {% if app.request.query.get("rev") and app.request.query.get("rev") == Content.revision %}
  358.                                 {% set style = 'grey darken-2' %}
  359.                             {% endif %}
  360.                             <li class="{{style}}"><a href="{{url}}">{{label}}<span>{{Content.created|date('d-m-Y H:i')}}</span></a></li>
  361.                             {% endif %}
  362.                         {% endfor %}
  363.                     </ul>
  364.                 </li>
  365.                 <li style="float:right;display: none;" id="fe-buttons">
  366.                     <button id="fe-restore" type="button">{{ 'Restore' | trans }}</button>
  367.                     <button id="fe-save" type="button">{{ 'Save' | trans }}</button>
  368.                 </li>
  369.             </ul>
  370.             {# <a class="pull">&raquo;</a> #}
  371.         </div>
  372.     {% endif %}
  373.     {% if Settings.test %}
  374.         <div class="test-mode-badge-wrapper">
  375.             <div class="test-mode-badge" title="{{ 'Test mode staat aan, configureer in website instellingen.' | trans }}"><i class="fa fa-exclamation-triangle"></i> {{ 'TEST MODE' | trans }}</div>
  376.         </div>
  377.     {% endif %}
  378.     {% if Settings.cookiebar %}
  379.         <script>
  380.             var avg_settings = {
  381.                 'gtmCode': '{{Settings.googleGtm is not empty ? Settings.googleGtm|raw : ''}}',
  382.                 'gaCode': '{{Settings.googleUa is not empty ? Settings.googleUa : ''}}',
  383.                 'gCode': '{{Settings.googleG is not empty ? Settings.googleG : ''}}',
  384.                 'lbl_info' : '{{'Wij gebruiken cookies om uw gebruikservaring te optimaliseren.'|trans({},'cookiebar', app.request.locale)}}',
  385.                 'lbl_settings_info' : '{{'Wij gebruiken cookies om uw gebruikservaring te optimaliseren, het webverkeer te analyseren en gerichte advertenties te kunnen tonen via derde partijen.'|trans({},'cookiebar', app.request.locale)}}</p><p class="lbl-info-more">{{'Als u akkoord gaat met ons gebruik van cookies, klikt u op "Alle cookies toestaan". Geef hieronder aan welke opties u wilt toestaan tijdens het gebruik van deze website.'|trans({},'cookiebar', app.request.locale)}}',
  386.                 'lbl_essential' : '{{'Essentieel'|trans({},'cookiebar', app.request.locale)}}',
  387.                 'lbl_preferences' : '{{'Voorkeuren'|trans({},'cookiebar', app.request.locale)}}',
  388.                 'lbl_statistics' : '{{'Statistieken'|trans({},'cookiebar', app.request.locale)}}',
  389.                 'lbl_marketing' : '{{'Marketing'|trans({},'cookiebar', app.request.locale)}}',
  390.                 'lbl_tooltip_essential' : '{{'Noodzakelijke cookies helpen een website bruikbaarder te maken, door basisfuncties als paginanavigatie en toegang tot beveiligde gedeelten van de website mogelijk te maken. Zonder deze cookies kan de website niet naar behoren werken.'|trans({},'cookiebar', app.request.locale)}}',
  391.                 'lbl_tooltip_preferences' : '{{'Voorkeurscookies zorgen ervoor dat een website informatie kan onthouden die van invloed is op het gedrag en de vormgeving van de website, zoals de taal van uw voorkeur of de regio waar u woont.'|trans({},'cookiebar', app.request.locale)}}',
  392.                 'lbl_tooltip_statistics' : '{{'Statistische cookies helpen eigenaren van websites begrijpen hoe bezoekers hun website gebruiken, door anoniem gegevens te verzamelen en te rapporteren.'|trans({},'cookiebar', app.request.locale)}}',
  393.                 'lbl_tooltip_marketing' : '{{'Marketingcookies worden gebruikt om bezoekers te volgen wanneer ze verschillende websites bezoeken. Hun doel is advertenties weergeven die zijn toegesneden op en relevant zijn voor de individuele gebruiker.'|trans({},'cookiebar', app.request.locale)}}',
  394.                 'lbl_back' : '{{'Terug'|trans({},'cookiebar', app.request.locale)}}',
  395.                 'lbl_settings' : '{{'Instellingen'|trans({},'cookiebar', app.request.locale)}}',
  396.                 'lbl_accept' : '{{'Alle cookies toestaan'|trans({},'cookiebar', app.request.locale)}}',
  397.                 'lbl_save' : '{{'Accepteren en sluiten'|trans({},'cookiebar', app.request.locale)}}',
  398.                 'lbl_btn_reset' : '{{'Cookie instellingen'|trans({},'cookiebar', app.request.locale)}}',
  399.                 'link_cookie' : {{(Settings.avgCookie is not empty ? '\'' ~ Settings.avgCookie ~ '\'' : 'null')|raw}},
  400.                 'link_privacy' : {{(Settings.avgPrivacy is not empty ? '\'' ~ Settings.avgPrivacy ~ '\'' : 'null')|raw}},
  401.                 'link_disclaimer' : {{(Settings.avgDisclaimer is not empty ? '\'' ~ Settings.avgDisclaimer ~ '\'' : 'null')|raw}},
  402.                 'lbl_cookie_btn' : '{{'Cookie informatie'|trans({}, 'cookiebar', app.request.locale)}}',
  403.                 'lbl_privacy_btn' : '{{'Privacy statement'|trans({}, 'cookiebar', app.request.locale)}}',
  404.                 'lbl_disclaimer_btn' : '{{'Disclaimer'|trans({}, 'cookiebar', app.request.locale)}}',
  405.                 'reset_btn' : {{Settings.cookiebarButton ? 'true' : 'false'}},
  406.                 'reset_btn_position' : '{{Settings.cookiebarButtonPosition}}',
  407.                 'reset_btn_offset_right' : '{{Settings.cookiebarButtonOffset}}',
  408.             };
  409.         </script>
  410.     {% else %}
  411.         {% if Settings.googleUa is not empty %}
  412.             <!-- Google Analytics -->
  413.             <script>
  414.             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  415.                 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  416.                 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  417.                 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  418.                 ga('create', '{{Settings.googleUa}}', 'auto');
  419.                 ga('send', 'pageview');
  420.             </script>
  421.             <!-- End Google Analytics -->
  422.         {% endif %}
  423.         {% if Settings.googleGtm is not empty %}
  424.             <!-- Google Tag Manager (noscript) -->
  425.             <noscript><iframe data-src="https://www.googletagmanager.com/ns.html?id={{Settings.googleGtm}}"
  426.             height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  427.             <!-- End Google Tag Manager (noscript) -->
  428.         {% endif %}
  429.     {% endif %}
  430.     {% if Page.tplInject %}
  431.         {{Page.tplInject|raw}}
  432.     {% endif %}
  433.     {% if app.request.get('timer') and app.request.get('timer') == 2 and timer_result is defined %}
  434.         <div class="easify_timer" style="padding: 50px;">
  435.             <strong>TIMER:</strong>
  436.             {{timer_result|raw}}
  437.         </div>
  438.     {% endif %}
  439. {% endblock %}
  440. {% block footer1 %}{{Settings.footerBlock1|raw}}{% endblock %}
  441. {% block footer2 %}{{Settings.footerBlock2|raw}}{% endblock %}
  442. {% block footer3 %}{{Settings.footerBlock3|raw}}{% endblock %}
  443. {% block footer4 %}{{Settings.footerBlock4|raw}}{% endblock %}
  444. {% block footer5 %}{{Settings.footerBlock5|raw}}{% endblock %}