templates/layouts/layout.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="{{ app.request.locale }}">
  3.     <head>
  4.         <!-- Required meta tags -->
  5.         <meta charset="utf-8">
  6.         <meta
  7.         name="viewport" content="width=device-width"/>
  8.         <!-- GOOGLE FONTS -->
  9.         <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet">
  10.         <link rel="icon" type="image/x-icon" href="/static/img/icons/favicon.ico">
  11.         {% apply spaceless %}
  12.         {# add global stylesheets and scripts outside of any blocsk to add them to the helpers before any others assets are added #}
  13.         {# we use the view helper to have cache buster functionality #}
  14.         {% do pimcore_head_link().appendStylesheet(asset('global.css')) %}
  15.         <!-- Global site tag (gtag.js) - Google Analytics -->
  16.         <script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-163580205-1"></script>
  17.         <script>
  18.         window.dataLayer = window.dataLayer || [];
  19.         function gtag(){dataLayer.push(arguments);}
  20.         gtag('js', new Date());
  21.         gtag('config', 'UA-163580205-1');
  22.         </script>
  23.         {% if not document is defined or not document %}
  24.             {% set document = pimcore_document(1) %}
  25.         {% endif %}
  26.         {% if document is instanceof('\\Pimcore\\Model\\Document\\Link') %}
  27.             {# @var document \Pimcore\Model\Document\Link #}
  28.             {% set document = document.getObject() %}
  29.         {% endif %}
  30.         {% if document is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  31.             
  32.             {% if document.getTitle() is not empty %}
  33.                 {% do pimcore_head_title().set(document.getTitle()) %}
  34.             {% endif %}
  35.             {% if document.getDescription() is not empty %}
  36.                 {% do pimcore_head_meta().setDescription(document.getDescription()) %}
  37.             {% endif %}
  38.             {% do pimcore_head_title().append('Torq IT') %}
  39.             {% do pimcore_head_title().setSeparator(' | ') %}
  40.         {% endif %}
  41.         {% if (caseStudy is defined) and (caseStudy is instanceof('\\Pimcore\\Model\\DataObject\\CaseStudy')) %}
  42.             
  43.             {% if caseStudy.getTitle() is not empty %}
  44.                 {% do pimcore_head_title().set(caseStudy.getTitle()) %}
  45.             {% endif %}
  46.             {% if caseStudy.getDescription() is not empty %}
  47.                 {% do pimcore_head_meta().setDescription(caseStudy.getDescription()) %}
  48.             {% endif %}
  49.             {% do pimcore_head_title().append('Torq IT') %}
  50.             {% do pimcore_head_title().setSeparator(' | ') %}
  51.         {% endif %}
  52.         {% if (blogPost is defined) and (blogPost is instanceof('\\Pimcore\\Model\\DataObject\\BlogPost')) %}
  53.             
  54.             {% if blogPost.getTitle() is not empty %}
  55.                 {% do pimcore_head_title().set(blogPost.getTitle()) %}
  56.             {% endif %}
  57.             {% if blogPost.getDescription() is not empty %}
  58.                 {% do pimcore_head_meta().setDescription(blogPost.getDescription()) %}
  59.             {% endif %}
  60.             {% do pimcore_head_title().append('Torq IT') %}
  61.             {% do pimcore_head_title().setSeparator(' | ') %}
  62.         {% endif %}
  63.         {% if (torqService is defined) and (torqService is instanceof('\\Pimcore\\Model\\DataObject\\TorqService')) %}
  64.             
  65.             {% if torqService.getTitle() is not empty %}
  66.                 {% do pimcore_head_title().set(torqService.getTitle()) %}
  67.             {% endif %}
  68.             {% if torqService.getDescription() is not empty %}
  69.                 {% do pimcore_head_meta().setDescription(torqService.getDescription()) %}
  70.             {% endif %}
  71.             {% do pimcore_head_title().append('Torq IT') %}
  72.             {% do pimcore_head_title().setSeparator(' | ') %}
  73.         {% endif %}
  74.         {% if (solution is defined) and (solution is instanceof('\\Pimcore\\Model\\DataObject\\Solution')) %}
  75.             
  76.             {% if solution.getTitle() is not empty %}
  77.                 {% do pimcore_head_title().set(solution.getTitle()) %}
  78.             {% endif %}
  79.             {% if solution.getDescription() is not empty %}
  80.                 {% do pimcore_head_meta().setDescription(solution.getDescription()) %}
  81.             {% endif %}
  82.             {% do pimcore_head_title().append('Torq IT') %}
  83.             {% do pimcore_head_title().setSeparator(' | ') %}
  84.         {% endif %}
  85.         {% set isPortal = ((isPortal is defined) and isPortal) %}
  86.         {% endapply %}
  87.         {# we're using the deferred extension here to make sure this block is rendered after all helper calls #}
  88.         {% block layout_head_meta deferred %}
  89.             {{ pimcore_head_title() }}
  90.             {{ pimcore_head_meta() }}
  91.         {% endblock %}
  92.         {% block head_stylesheets deferred %}
  93.             {{ pimcore_head_link() }}
  94.         {% endblock %}
  95.     </head>
  96.     {% set pageClassId = ' page-id-' ~ document.getId() %}
  97.     {% set pageClassName = document.getTitle() ? ' ' ~ document.getTitle() | replace({' ' : '-'}) | lower %}
  98.     {% if caseStudy is defined %}
  99.     {% set caseStudyClassName = caseStudy.getTitle() ? ' case-study-' ~ caseStudy.getTitle() | replace({' ' : '-'}) | lower %}
  100.     {% endif %}
  101.     {% set altPageLayout = document.getProperty('alt_page_layout') ? ' alt-page-layout' : '' %}
  102.         <body class="{% if document.getId() == 1 %}home {% endif %}{{ pageClassName }}{% if caseStudy is defined %}{{ caseStudyClassName }}{% endif %}{{ pageClassId }}"> 
  103.             <a href="#main-content" class="skip-to-main-content">Skip to main content</a>
  104.             {{ include('layouts/includes/parts/mobile-menu.html.twig') }}
  105.             {{ include('layouts/includes/header.html.twig') }}
  106.             <div class="wrapper{{ altPageLayout }}">
  107.                 <div class="content"{% if document.getProperty('alt_page_layout') %} style=background-color:var(--med-dark-bg) {% endif %}>
  108.                     {% if caseStudy is defined %}
  109.                         {% include 'content/includes/breadcrumbs.html.twig' with { 'breadcrumbs': app_navigation_get_breadcrumbs(caseStudy) } %}
  110.                     {% elseif blogPost is defined %}
  111.                         {% include 'content/includes/breadcrumbs.html.twig' with { 'breadcrumbs': app_navigation_get_breadcrumbs(blogPost) } %}
  112.                     {% elseif torqService is defined %}
  113.                         {% include 'content/includes/breadcrumbs.html.twig' with { 'breadcrumbs': app_navigation_get_breadcrumbs(torqService) } %}
  114.                     {% elseif solution is defined %}
  115.                         {% include 'content/includes/breadcrumbs.html.twig' with { 'breadcrumbs': app_navigation_get_breadcrumbs(solution) } %}
  116.                     {% elseif document is defined and document.getId() != 1 and not document.getProperty('hide_breadcrumbs') %}
  117.                         {% include 'content/includes/breadcrumbs.html.twig' with { 'breadcrumbs': app_navigation_get_breadcrumbs(document) } %}
  118.                     {% endif %}
  119.                     
  120.                     {% if blogPost is defined and not editmode %}
  121.                     <div class="progress-container">
  122.                         <div class="progress-bar" id="progressBar"></div>
  123.                     </div>
  124.                     {% endif %}
  125.                     {% block body %}
  126.                     <div id="main-content">
  127.                         {{ pimcore_areablock("myAreablock", {
  128.                             "allowed": ["splash"],
  129.                             "limit": 1,
  130.                             "controlsAlign": 'right'
  131.                         }) }}
  132.                         {{ pimcore_areablock("sectionAreaBlocks", {
  133.                             "allowed": ["section"]
  134.                         }) }}
  135.                         {{ pimcore_areablock("footerFormBlock", {
  136.                             "allowed": ["footer-form"],
  137.                             "limit": 1
  138.                         }) }}
  139.                     </div>
  140.                     {% endblock %}
  141.                 </div>
  142.                 {{ include('layouts/includes/footer.html.twig') }}
  143.             </div>
  144.         <!-- JQUERY -->
  145.         <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
  146.         <!-- RECAPTCHA -->
  147.         <script src="https://www.google.com/recaptcha/api.js"></script>
  148.         <!-- GOOGLE MAPS -->
  149.         <script>
  150.             (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
  151.                 key: "AIzaSyAJ0nTL7Dl35XPWribB6nJqm3ItMfL5JoE",
  152.                 v: "weekly",
  153.                 // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
  154.                 // Add other bootstrap parameters as needed, using camel case.
  155.             });
  156.         </script>
  157.         <!-- JS SCRIPTS -->
  158.         <script type="text/javascript" src="{{ asset("global.js") }}"></script>
  159.         <!-- BLOG PROGRESS BAR -->
  160.         {% if blogPost is defined and not editmode %}
  161.         <script src="/static/js/frontend.js"></script>
  162.         {% endif %}
  163.         <!-- LIGHTBOX -->
  164.         {% if caseStudy is defined and caseStudy.getLightbox() %}
  165.         <script src="/static/js/fslightbox.js"></script>
  166.         {% endif %}
  167.         <!-- FONT AWESOME -->
  168.         <script src="https://use.fontawesome.com/6ccd600e51.js"></script>
  169.         <!-- ANIMATE ON SCROLL -->
  170.         <script>
  171.             torq.aos.init({
  172.                 once: true,
  173.             });
  174.         </script>
  175.         
  176.         <!-- MODAL -->
  177.         {{ include('layouts/includes/modal.html.twig') }}
  178.     </body>
  179. </html>