templates/layout.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="{{ app.request.locale }}" data-language="{{ app.request.locale }}" data-device="{{ app.request.locale }}">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     {% if document is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  7.         {% if document.getTitle() is not empty %}
  8.             {% do pimcore_head_title().set(document.getTitle()) %}
  9.         {% endif %}
  10.         {% if document.getDescription() is not empty %}
  11.             {% do pimcore_head_meta().setDescription(document.getDescription()) %}
  12.         {% endif %}
  13.     {% endif %}
  14.     {% block layout_head_meta deferred %}
  15.     {{ pimcore_head_title() }}
  16.     {{ pimcore_head_meta() }}
  17.     {% if pimcore_placeholder('canonical').count() %}
  18.         <link rel="canonical" href="{{ pimcore_placeholder('canonical') }}"/>
  19.     {% endif %}
  20.     {% endblock %}
  21.     {% block head_stylesheets deferred %}
  22.     {{ pimcore_head_link() }}
  23.     {% endblock %}
  24.     
  25.     {% set alternateLanguagePath = document.getProperty('alternateLanguagePath') %}
  26.     {% if alternateLanguagePath %}
  27.         {% set lang = document.getProperty('language') %}
  28.         {% if lang == 'en' %}
  29.             <link rel="alternate" hreflang="en" href="{{ app.request.getSchemeAndHttpHost() ~ app.request.requestUri() }}" />
  30.             <link rel="alternate" hreflang="de" href="{{ app.request.getSchemeAndHttpHost() ~ alternateLanguagePath.getFullPath() }}" />
  31.         {% else %}
  32.             <link rel="alternate" hreflang="en" href="{{ app.request.getSchemeAndHttpHost() ~ alternateLanguagePath.getFullPath() }}" />
  33.             <link rel="alternate" hreflang="de" href="{{ app.request.getSchemeAndHttpHost() ~ app.request.requestUri() }}" />
  34.         {% endif %}
  35.     {% endif %}
  36.     {% if editmode %}
  37.         <link href="/bundles/app/static/backend/css/basic/normalize.css" rel="stylesheet" type="text/css" media="screen" />
  38.         <link href="/bundles/app/static/backend/css/basic/editmode.css" rel="stylesheet" type="text/css" media="screen" />
  39.         <link href="/bundles/app/static/backend/css/tabnavigation/tabs.css" rel="stylesheet" type="text/css" media="screen" />
  40.         <link href="/bundles/app/static/backend/css/multiselect/simple-multiselect.css" rel="stylesheet" type="text/css" media="screen" /><!-- selectBox Peter -->
  41.         <link href="/bundles/app/static/backend/css/schemaorg/jquery.timepicker.css" rel="stylesheet" type="text/css" />
  42.         <link href="/bundles/app/static/backend/css/schemaorg/schemaorgmap.css" rel="stylesheet" type="text/css" />
  43.         <script type="text/javascript">
  44.             window.parent.$(window.parent.document).find('.pimcore_icon_cleanup').parent().parent().parent().parent().hide();
  45.         </script>
  46.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><?php echo "\r\n";?>
  47.         <style>
  48.             .pimcore_editable{
  49.                 min-height:16px!IMPORTANT;
  50.             }
  51.             .pimcore_editable input.x-form-text{
  52.                 height:31px!IMPORTANT;
  53.             }
  54.         </style>
  55.         {# Frontend Part #}
  56.     {% else %}
  57.     <link rel="stylesheet" media="screen" href="/bundles/app/static/frontend/css/compress.css" />
  58.         <!-- Kopf include -->
  59.     <link rel="apple-touch-icon" sizes="180x180" href="/bundles/app/static/frontend/images/favicon/apple-touch-icon.png">
  60.     <link rel="icon" type="image/png" sizes="32x32" href="/bundles/app/static/frontend/images/favicon/favicon-32x32.png">
  61.     <link rel="icon" type="image/png" sizes="16x16" href="/bundles/app/static/frontend/images/favicon/favicon-16x16.png">
  62.     <link rel="manifest" href="/bundles/app/static/frontend/images/favicon/site.webmanifest">
  63.     <link rel="mask-icon" href="/bundles/app/static/frontend/images/favicon/safari-pinned-tab.svg" color="#e50000">
  64.     <link rel="shortcut icon" href="/bundles/app/static/frontend/images/favicon/favicon.ico">
  65.     <meta name="msapplication-TileColor" content="#e50000">
  66.     <meta name="msapplication-config" content="/bundles/app/static/frontend/images/favicon/browserconfig.xml">
  67.     <meta name="theme-color" content="#ffffff">
  68.         {#
  69.         {% if pimcore_link('strukturierteDaten').isEmpty() is not empty %}
  70.             {% set strukturierteDatenId = pimcore_link('strukturierteDaten').getId()  %}
  71.             {{ show_snippet(strukturierteDatenId, []) }}
  72.         {% endif %} #}
  73.      <link rel="stylesheet" media="screen" href="/bundles/app/static/frontend/css/front-page.css" />
  74.     {% if document.getProperty('page_startseite') %}
  75.     <link rel="stylesheet" media="screen" href="/bundles/app/static/frontend/css/front-page.css" />
  76.     {% endif %}
  77.         {# gibt aus den Objekten  Meta-Tags / etc. vor Ende Head aus #}
  78.         {{ codevorendehead_allgemein() | raw }}
  79.     {% endif %}
  80. </head>
  81. {% if editmode %}
  82. <body style="background-image:url(/bundles/app/static/backend/image/edm-style/tab-nav-bg.png) repeat-x bottom;">
  83. {{ block('content') }}
  84. {% if editmode %}
  85.     <script src="/bundles/app/static/backend/js/jquery/jquery-3.2.1.min.js"></script>
  86.     <script type="text/javascript" src="/bundles/app/static/backend/js/schemaorg/jquery.timepicker.js"></script>
  87.     <script type ="text/javascript" src="/bundles/app/static/backend/js/jquery/multiselect/simple-multiselect.js"></script>
  88.     <script type="text/javascript">
  89.         window.parent.$(window.parent.document).find('.pimcore_icon_cleanup').parent().parent().parent().parent().hide();
  90.     </script>
  91.     <script>
  92.         function ReadCookie(cookieName) {
  93.             var theCookie=" "+document.cookie;
  94.             var ind=theCookie.indexOf(" "+cookieName+"=");
  95.             if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"=");
  96.             if (ind==-1 || cookieName=="") return "";
  97.             var ind1=theCookie.indexOf(";",ind+1);
  98.             if (ind1==-1) ind1=theCookie.length;
  99.             return unescape(theCookie.substring(ind+cookieName.length+2,ind1));
  100.         }
  101.         $( document ).ready(function() {
  102.             var cookieName = "edmtab" + '<?=$this->document->getId()?>';
  103.             var CookieVal = ReadCookie(cookieName);
  104.             if(CookieVal.length > 0){
  105.                 $('#' + CookieVal).attr('checked','checked');
  106.             }
  107.             $('input.tabContent').on('change', function(e) {
  108.                 var tabnr = $(this).attr('id');
  109.                 console.log(e);
  110.                 document.cookie = cookieName + "=" + tabnr;
  111.             });
  112.         });
  113.     </script>
  114. {% endif %}
  115. {% else %}
  116. <body class="standard"  data-status="" itemscope="" itemtype="http://schema.org/WebPage">
  117. {{ codenachanfangbody_allgemein() | raw }}
  118. {% set bgImageSrc = pimcore_image("BackgroundImagePage").getSrc() %}
  119. {% if theme is not defined or theme is empty %}
  120.     {% set theme = document.getProperty('theme_doc') ? document.getProperty('theme_doc') : "neutral" %}
  121. {% endif %}
  122. <div data-theme="{{ theme }}" data-page="{{ page }}">
  123.     <div class="layout-page gradient-page {{ document.getProperty('page_startseite') ? 'frontpage' : '' }}">
  124.         <aside class="side-bar gradient-page">
  125.             <figure class="logo {{ theme }} {{ document.getProperty('page_startseite') ? 'side-bar-logo--frontpage' : '' }}">
  126.                 <a href="{{ logo_link }}">
  127.                     <img width="123" height="101" src="{{ glanzerLogo }}" alt="{{ glanzerLogoAlt }}"/>
  128.                 </a>
  129.             </figure>
  130.             <nav class="navigation">
  131.                 <ul class="no-bullet font-light theme-indicator-wrp" data-menu="sidebar">
  132.                     <li class="theme-indicator theme-indicator--mobile shops">
  133.                         <a class="theme-title theme-title--mobile" href="{{ url_shops }}">
  134.                             <div class="label centered-flex">
  135.                                 <span class="uppercase font-bold">{{ text_shops }}</span>
  136.                                 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 300" width="50" height="300"
  137.                                      preserveAspectRatio="xMaxYMax meet">
  138.                                     <text class="tab-text"
  139.                                           transform="matrix(6.123234e-17 -1 1 6.123234e-17 42.7734 258)">{{ text_shops }}</text>
  140.                                 </svg>
  141.                             </div>
  142.                         </a>
  143.                     </li>
  144.                     <li class="theme-indicator theme-indicator--mobile rent">
  145.                         <a class="theme-title theme-title--mobile" href="{{ url_rent }}">
  146.                             <div class="label centered-flex">
  147.                                 <span class="uppercase font-bold">{{ text_rent }}</span>
  148.                                 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 300" width="50" height="300"
  149.                                      preserveAspectRatio="xMaxYMax meet">
  150.                                     <text class="tab-text" transform="matrix(6.123234e-17 -1 1 6.123234e-17 42.7734 280)">{{ text_rent }}</text>
  151.                                 </svg>
  152.                             </div>
  153.                         </a>
  154.                     </li>
  155.                     <li class="theme-indicator theme-indicator--mobile homes">
  156.                         <a class="theme-title theme-title--mobile" href="{{ url_homes }}">
  157.                             <div class="label centered-flex">
  158.                                 <span class="uppercase font-bold">{{ text_homes }}</span>
  159.                                 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 300" width="50" height="300"
  160.                                      preserveAspectRatio="xMaxYMax meet">
  161.                                     <text class="tab-text"
  162.                                           transform="matrix(6.123234e-17 -1 1 6.123234e-17 42.7734 300)">{{ text_homes }}</text>
  163.                                 </svg>
  164.                             </div>
  165.                         </a>
  166.                     </li>
  167.                 </ul>
  168.                 <header class="header constrainer-maxsize edgepadding {{ document.getProperty('page_startseite') ? 'header-front-page' : '' }}">
  169.                     {#  <?php echo $this->render('AppBundle:Includes:menue.html.php', ['contacts' => $contacts]); ?>
  170.                     #}
  171.                     {{ include('includes/side-navigation/menue.html.twig') }}
  172.                 </header>
  173.                 {{ include('includes/side-navigation/navigation.html.twig') }}
  174.             </nav>
  175.             <script type="text/javascript">
  176.                 var _skd = window._skd || {};
  177.                 _skd.callbacks = _skd.callbacks || {};
  178.                 _skd.callbacks.dsr = _skd.callbacks.dsr || {};
  179.                 _skd.callbacks.dsr.viewConfirmation = function(data){
  180.                     window.location.href = window.location.href.split("#")[0]+'/booking-success?total='+data.total;
  181.                 }
  182.             </script>
  183.             <script>
  184.                 (function () {        
  185.                 
  186.                     if (typeof window.selt === 'undefined') {
  187.                         window.selt = {
  188.                             modules: {}
  189.                         };
  190.                     } else if (!window.selt.modules) {
  191.                         window.selt.modules = {};
  192.                     }
  193.                     var moduleName = 'sidebar_module'; // naming convention XXX_module
  194.                     selt.modules[moduleName] = {
  195.                         name: moduleName,
  196.                         init: function () {
  197.                             if (selt.debug) console.log('initialize', this.name);
  198.                             var navigation = document.querySelectorAll('[data-menu="sidebar"] li'),
  199.                                 navigationLinks = document.querySelectorAll('[data-menu="sidebar"] li a'),
  200.                                 hoverClass = 'peek',
  201.                                 timeOutID;
  202.                             // uses touchend event to add special class for touch devices
  203.                             function setHoverState(e) {
  204.                                 if (Modernizr.mq('(min-width: 480px)')) {
  205.                                     var hasHoverState = this.classList.contains(hoverClass),
  206.                                         me = this;
  207.                                     [].forEach.call(navigation, function (el) {
  208.                                         el.classList.remove(hoverClass);
  209.                                     });
  210.                                     switch (e.type) {
  211.                                         case 'touchend':
  212.                                             if (!hasHoverState) {
  213.                                                 clearTimeout(timeOutID);
  214.                                                 setTimeout(function () {
  215.                                                     me.classList.remove(hoverClass);
  216.                                                 }, 2000)
  217.                                                 // e.preventDefault();
  218.                                             }
  219.                                             break;
  220.                                         case 'mouseleave':
  221.                                             return false;
  222.                                             break;
  223.                                     }
  224.                                     me.classList.add(hoverClass);
  225.                                 }
  226.                             }
  227.                             [].forEach.call(navigation, function (el) {
  228.                                 // touch device handling to open dropdown
  229.                                 el.addEventListener('touchend', function (e) {
  230.                                     setHoverState.call(this, e);
  231.                                 }, false);
  232.                                 // mouse handling of off canvas menu items to mimic touch handling
  233.                                 el.addEventListener('mouseenter', function (e) {
  234.                                     setHoverState.call(this, e);
  235.                                 }, false);
  236.                                 el.addEventListener('mouseleave', function (e) {
  237.                                     setHoverState.call(this, e);
  238.                                 }, false);
  239.                             });
  240.                         }
  241.                     }
  242.                 }());
  243.             </script>
  244.         </aside>
  245.         <main class="sidebar-offset gradient-page {{ document.getProperty('home') ? 'home' : '' }}">
  246.             {{ include('includes/side-navigation/menue.html.twig') }}
  247.             {{ include('includes/side-navigation/navigation.html.twig') }}
  248.             <div class="main-wrapper-js">
  249.                 {% if not editmode %}
  250.                     {{ block('content') }}
  251.                 {% endif %}
  252.             </div>
  253.             <div class="footer-wrapper-js">
  254.                 {# <?php
  255.                 /* Footer-Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  256.                 echo $this->action("footer""Footer""AppBundle", []);
  257.                 echo PHP_EOL;
  258.                 ?> #}
  259.                 {#{ include('footer/footer.html.twig') } #}
  260.                 {{ render(controller(
  261.                     'App\\Controller\\FooterController::footerAction', {max: 3}
  262.                 )) }}
  263.             </div>
  264.         </main>
  265.     </div>
  266.     <!-- Page Tab element  -->
  267.     {% if pimcore_checkbox('buttonSeitenrandRechts').isChecked() and pimcore_link('buttonSeitenrandRechts_link').isEmpty() == false %}
  268.         {% set button_target = pimcore_link('buttonSeitenrandRechts_link').getTarget() %}
  269.         {%  set target = (button_target != '') ? button_target : '_self' %}
  270.         {%  set buttonclass = (pimcore_device("phone") == 'phone') ? 'onlinebuchen-p' : 'onlinebuchen-d' %}
  271.         <div class="sidetab centered-flex font-light theme-color-bg {{ buttonclass }}">
  272.             <a class="no-underline" href="{{pimcore_link('buttonSeitenrandRechts_link').getHref() }}" target="{{ target }}">
  273.                 {{ pimcore_textarea("buttonSeitenrandRechts_text",{"nl2br": true,}) }}
  274.             </a>
  275.         </div>
  276.         {% if document.getProperty('sidetab_shop') %}
  277.             <div class="sidetab shops centered-flex font-light {{ buttonclass }}" data-theme="shops">
  278.                 <a class="no-underline" href="{{ pimcore_input("href_shop") }}" target="_blank" >
  279.                     {{ 'label_shop'|trans }}
  280.                 </a>
  281.             </div>
  282.         {% endif %}
  283.     {% endif %}
  284. </div> <!-- ende data-theme -->
  285. {{ include('includes/frontend-fuss.html.twig') }}
  286. {% set incTemplates = show_includes() %}
  287. {% endif %}
  288. </body>
  289. </html>