src/Elements/Bundle/DemiFrontendBundle/Resources/views/Layout/project-layout.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="{{ app.request.locale }}">
  3. <head>
  4.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  5.     <meta charset="UTF-8">
  6.     {% if hasGetParams(['community', 'page', 'category', 'keyword', 'q', 'nav-search']) %}
  7.         {% do elements_robots().setNoIndex(true) %}
  8.     {% endif %}
  9.     {% if not editmode %}
  10.         {{ elements_head_title() }}
  11.         {{ elements_head_meta() }}
  12.         {{ elements_canonical() }}
  13.         {% set img = demi_core_configuration('getOgImage',[]) %}
  14.         {% if img is not null %}
  15.             {% do elements_opengraph().addImage(app.request.getHost() ~ img.getThumbnail('ogimages')) %}
  16.         {% endif %}
  17.         {{ elements_hreflang([], false, false, 'de') }}
  18.         {{ elements_opengraph() }}
  19.     {% endif %}
  20.     {% if pimcore_placeholder('unavailable_after') is not empty %}
  21.         <meta name="googlebot" content="unavailable_after: {{ pimcore_placeholder('unavailable_after') }}">
  22. {#        <meta name=”robots” content=”unavailable_after: ' . 25-Aug-2007 15:00:00 EST'”>#}
  23.     {% endif %}
  24.     {{ include('Layout/includes/head.html.twig') }}
  25.     {{ include('Layout/includes/js.html.twig') }}
  26.     {{ include('Layout/includes/codeHead.html.twig') }}
  27. </head>
  28. <body>
  29. <div class="skip-links">
  30.     <a href="#main-content" accesskey="1" class="skip-links__link sr-only sr-only-focusable"><div class="bg-primary p-2">{{ "sr.skip-to.main-content"|trans }}</div></a>
  31.     <a href="#table-of-content" accesskey="2" class="skip-links__link sr-only sr-only-focusable"><div class="bg-primary p-2">{{ "sr.skip-to.table-of-contents"|trans }}</div></a>
  32.     <a href="#main-nav" accesskey="3" class="skip-links__link sr-only sr-only-focusable"><div class="bg-primary p-2">{{ "sr.skip-to.main-navigation"|trans }}</div></a>
  33. </div>
  34. {% if not demi_core_configuration("getIsWhitelabel", {})  %}
  35.     {{ include('Layout/includes/table_of_content.html.twig') }}
  36.     {{ include('Navigation/navbar.html.twig') }}
  37. {% endif %}
  38. <main id="main-content" class="{{ demi_core_configuration("getIsWhitelabel", {}) ? '': 'main-content--spacing main-content--no-hero-small' }} content-block" role="main">
  39.     {{ block('content') }}
  40.     {% if document and not demi_core_configuration("getIsWhitelabel", {}) and document.property('recommendations') is instanceof('\\Pimcore\\Model\\Document\\Snippet')  %}
  41.         {{ pimcore_inc(document.property('recommendations')) }}
  42.     {% endif %}
  43. </main>
  44. {% if not demi_core_configuration("getIsWhitelabel", {}) and not document.property('hideRegionSlide')  %}
  45.     <aside class="content-block">
  46.         {{ include('Includes/regionSlide.html.twig') }}
  47.     </aside>
  48. {% endif %}
  49. {% if not demi_core_configuration("getIsWhitelabel", {}) %}
  50.     {{ pimcore_inc(document.property('footer')) }}
  51. {% endif %}
  52. {{ jsConfig() }}
  53. {% if not app.request.get('onlyInlineCss') %}
  54.     {% for file in encore_entry_js_files('js/content', elements_debug_mode() ? 'debug' : 'build') %}
  55.         <script data-cookieconsent="ignore" src="{{ file }}" async></script>
  56.     {% endfor %}
  57. {% endif %}
  58. {% if elements_debug_mode() and app.request.get('liveCss') is empty %}
  59.     {% set message = elements_debug_message('/entrypoints.json') %}
  60.     {# todo
  61.     if (!file_exists(PIMCORE_WEB_ROOT . '/static/build' . $file )) {
  62.         $message = 'You need to run "gulp build" there is no file in your Build folder';
  63.     } else {
  64.         $debugTime = new \DateTime();
  65.         $debugTime->setTimestamp(filemtime(PIMCORE_WEB_ROOT . '/static/debug' . $file));
  66.         $buildTime = new \DateTime();
  67.         $buildTime->setTimestamp(filemtime(PIMCORE_WEB_ROOT . '/static/build' . $file));
  68.         if ($debugTime->getTimestamp() > $buildTime->getTimestamp()) {
  69.             $message = 'Build Ordner out of date <a href="?liveCss=1"><img alt="warning" width="20" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgdmVyc2lvbj0iMS4xIiAgIHg9IjBweCIgICB5PSIwcHgiICAgd2lkdGg9IjUxMnB4IiAgIGhlaWdodD0iNTEycHgiICAgdmlld0JveD0iMCAwIDUxMiA1MTIiICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTEyIDUxMiIgICB4bWw6c3BhY2U9InByZXNlcnZlIiAgIGlkPSJzdmcyIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgcjEzNzI1IiAgIHNvZGlwb2RpOmRvY25hbWU9Imxpbmsuc3ZnIj48bWV0YWRhdGEgICAgIGlkPSJtZXRhZGF0YTkiPjxyZGY6UkRGPjxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcyAgICAgaWQ9ImRlZnM3IiAvPjxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIgICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IiAgICAgYm9yZGVyb3BhY2l0eT0iMSIgICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiICAgICBncmlkdG9sZXJhbmNlPSIxMCIgICAgIGd1aWRldG9sZXJhbmNlPSIxMCIgICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTUwNiIgICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijg4OCIgICAgIGlkPSJuYW1lZHZpZXc1IiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIiAgICAgaW5rc2NhcGU6em9vbT0iMC40NjA5Mzc1IiAgICAgaW5rc2NhcGU6Y3g9Ii05Ny42MjcxMTkiICAgICBpbmtzY2FwZTpjeT0iMjU2IiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIgICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjAiICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyIiAvPjxwYXRoICAgICBpZD0ibGluay1pY29uIiAgICAgZD0iTTE1Ni4yMjYsMTk5LjY3OWM3LjU0MS03LjU0LDE1LjkwMi0xMy43NTcsMjQuNzk0LTE4LjY1OWM0OS41NTYtMjcuMzE4LDExMy4xMTctMTIuNzg4LDE0NC45NywzNS41MTggICBsLTM4LjU0NywzOC41NDdjLTExLjA1OS0yNS4yMjctMzguNS0zOS41NjUtNjUuODEzLTMzLjQ1NmMtMTAuMjgyLDIuMy0yMC4wNTQsNy40MjctMjguMDM5LDE1LjQxM2wtNzMuODk4LDczLjg5NiAgIGMtMjIuNDMzLDIyLjQzMy0yMi40MzIsNTguOTM2LDAuMDAyLDgxLjM2OWMyMi40MzMsMjIuNDMzLDU4LjkzNSwyMi40MzMsODEuMzY4LDBsMjIuNzgtMjIuNzc5ICAgYzIwLjcxLDguMjE3LDQyLjkzOCwxMS41MDgsNjQuODYyLDkuODYzbC01MC4yNzgsNTAuMjc4Yy00My4xMDUsNDMuMTA1LTExMi45OTEsNDMuMTA1LTE1Ni4wOTYsMCAgIGMtNDMuMTA1LTQzLjEwNC00My4xMDYtMTEyLjk5MS0wLjAwMS0xNTYuMDk2TDE1Ni4yMjYsMTk5LjY3OXogTTI3My41NzQsODIuMzNsLTUwLjI3OCw1MC4yNzggICBjMjEuOTI4LTEuNjQzLDQ0LjE1MiwxLjY0OCw2NC44NjMsOS44NjVsMjIuNzc5LTIyLjc4YzIyLjQzNC0yMi40MzQsNTguOTM2LTIyLjQzNCw4MS4zNywwYzIyLjQzNCwyMi40MzQsMjIuNDM0LDU4LjkzNiwwLDgxLjM3ICAgbC03My44OTcsNzMuODk1Yy0yMi41MDEsMjIuNTAxLTU5LjA2MSwyMi4zMTEtODEuMzY4LDBjLTUuMjAyLTUuMjAxLTkuNjk0LTExLjY3OC0xMi40ODQtMTguMDRsLTM4LjU0NiwzOC41NDYgICBjNC4wNDksNi4xNDIsOC4yNjEsMTEuNDUzLDEzLjY2NiwxNi44NThjMTMuOTQ5LDEzLjk1LDMxLjY5OCwyNC4zMzksNTIuMTE3LDI5LjI1MWMyNi40NjYsNi4zNyw1NC44MjMsMi44MzksNzkuMTg1LTEwLjU5MiAgIGM4Ljg5Mi00LjkwMywxNy4yNTQtMTEuMTE5LDI0Ljc5NC0xOC42NTlsNzMuODk2LTczLjg5NWM0My4xMDUtNDMuMTA1LDQzLjEwNS0xMTIuOTkxLDAuMDAxLTE1Ni4wOTcgICBDMzg2LjU2NiwzOS4yMjUsMzE2LjY4LDM5LjIyNSwyNzMuNTc0LDgyLjMzeiIgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPjwvc3ZnPg==" /></a><br><div>Debug: ' . $debugTime->format('d.m.Y H:i') . '</div><div>Build: ' . $buildTime->format('d.m.Y H:i') . '</div>';
  70.         }
  71.     }
  72.     #}
  73.     {% if message is not empty %}
  74.         <script type="text/javascript" data-cookieconsent="ignore">
  75.             (function () {
  76.                 var debugError = window.setInterval(function () {
  77.                     if (document.body) {
  78.                         clearInterval(debugError);
  79.                         var div = '<div id="warning-static-release">{{ message | raw }}</div>';
  80.                         document.body.insertAdjacentHTML('beforeend', div);
  81.                     }
  82.                 }, 100);
  83.             })();
  84.         </script>
  85.         <style type="text/css">
  86.             #warning-static-release{
  87.                 display: none;
  88.                 position: fixed;
  89.                 bottom: calc(10rem/16);
  90.                 right: calc(10rem/16);
  91.                 padding: calc(5rem/16) calc(20rem/16);
  92.                 background: #cd231c;
  93.                 color: #ffffff;
  94.                 z-index: 1000;
  95.                 border-radius: calc(4rem/16);
  96.                 opacity: .5;
  97.                 pointer-events: none;
  98.             }
  99.             #warning-static-release:hover{
  100.                 opacity: .1;
  101.             }
  102.             #warning-static-release div{
  103.                 text-align: right;
  104.                 font-size: calc(12rem/16);
  105.             }
  106.         </style>
  107.     {% endif %}
  108. {% endif %}
  109. <div class="custom-cursor js-custom-cursor"></div>
  110. {{ jsonLd() }}
  111. {{ jld_document(document) }}
  112. </body>
  113. </html>