templates/bundles/SyliusShopBundle/layout.html.twig line 102

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="{{ app.request.locale|slice(0, 2) }}">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     {% block seo_title %}
  7.         {{ sylius_template_event('dedi_sylius_seo_plugin.title', { resource: product ?? taxon ?? vendor ?? page ?? sylius.channel }) }}
  8.     {% endblock %}
  9.     <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  10.     <link rel="preconnect" href="https://fonts.googleapis.com">
  11.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  12.     <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png?v=1.0.0">
  13.     <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png?v=1.0.0">
  14.     <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png?v=1.0.0">
  15.     <link rel="icon" type="image/png" sizes="96x96" href="/favicon/favicon-96x96.png?v=1.0.0">
  16.     <link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg?v=1.0.0">
  17.     <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg?v=1.0.0" color="#5bbad5">
  18.     <link rel="manifest" href="/favicon/site.webmanifest?v=1.0.0">
  19.     <link rel="shortcut icon" href="/favicon/favicon.ico?v=1.0.0">
  20.     <meta name="theme-color" content="#ffffff">
  21.     <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">
  22.     <script>
  23.         window.addEventListener('load', function () {
  24.             setTimeout(function () {
  25.                 const expectedFavicon = '/favicon/favicon-32x32.png?v=1.0.0';
  26.                 const existingIcons = document.querySelectorAll('link[rel~="icon"]');
  27.                 let faviconIsOk = false;
  28.                 existingIcons.forEach(link => {
  29.                     if (link.href.includes(expectedFavicon)) {
  30.                         faviconIsOk = true;
  31.                     }
  32.                 });
  33.                 if (!faviconIsOk) {
  34.                     const link = document.createElement('link');
  35.                     link.rel = 'icon';
  36.                     link.type = 'image/png';
  37.                     link.href = expectedFavicon;
  38.                     existingIcons.forEach(l => l.remove());
  39.                     document.head.appendChild(link);
  40.                 }
  41.             }, 800);
  42.         });
  43.     </script>
  44.     {% include '@SyliusShop/_links.html.twig' %}
  45.     {% include '@SyliusShop/_clarity.html.twig' %}
  46.     {% block seo_metatags %}
  47.         {{ sylius_template_event('dedi_sylius_seo_plugin.metatags', { resource: product ?? taxon ?? vendor ?? page ?? sylius.channel }) }}
  48.         {{ sylius_template_event('dedi_sylius_seo_plugin.rich_snippets') }}
  49.         {% set resourceToUse = taxon is defined ? taxon : (vendor is defined ? vendor : (page is defined ? page : null)) %}
  50.         {% if resourceToUse is not null %}
  51.             <script type="application/ld+json">
  52.               {{ generate_schema_markup(resourceToUse) | json_encode(constant('JSON_PRETTY_PRINT')) | replace({'\\/':'/'}) | raw }}
  53.             </script>
  54.         {% endif %}
  55.     {% endblock %}
  56.     {% block stylesheets %}
  57.         {{ sylius_template_event('sylius.shop.layout.stylesheets') }}
  58.         <style>
  59.             .tw.flag {
  60.                 visibility: hidden !important;
  61.             }
  62.         </style>
  63.     {% endblock %}
  64.     {{ sylius_template_event('sylius.shop.layout.head') }}
  65. </head>
  66. <body class="pushable">
  67. {{ render_esi(path('ch_cookie_consent.show_if_cookie_consent_not_set', { 'locale' : app.request.locale })) }}
  68. {{ sylius_template_event('sylius.shop.layout.before_body') }}
  69. {% block messages %}
  70.     <div class="hyf-messages"></div>
  71. {% endblock %}
  72. {% block sidebar %}
  73.     <div class="ui right wide sidebar vertical menu overlay mobile-sidebar">
  74.         {{ sylius_template_event('sylius.shop.layout.sidebar') }}
  75.     </div>
  76. {% endblock %}
  77. {% block accountSidebar %}
  78.     {% if app.user != null %}
  79.         <div class="ui left wide sidebar vertical menu overlay mobile-account-sidebar">
  80.             {% include 'Context/Vendor/Menu/_mobileMenu.html.twig' %}
  81.         </div>
  82.     {% endif %}
  83. {% endblock %}
  84. <div class="pusher" data-route="{{ app.request.get('_route') }}">
  85.     {% block top %}
  86.         <div id="menu" class="top-menu bg-white">
  87.             <div class="ui container">
  88.                 <div class="top-bar">
  89.                     {% include "@SyliusShop/Layout/Header/_logo.html.twig" %}
  90.                     {{ sylius_template_event('sylius.shop.layout.topbar') }}
  91.                 </div>
  92.             </div>
  93.         </div>
  94.     {% endblock %}
  95.     {% block header %}
  96.         <div id="menu-categories" class="bg-topaz-100">
  97.             <div class="ui container">
  98.                 {% include '@SyliusShop/Layout/Header/_menu.html.twig' %}
  99.             </div>
  100.         </div>
  101.         <div class="ui hidden divider"></div>
  102.     {% endblock %}
  103.     <div class="ui container">
  104.         {% include '@SyliusShop/_flashes.html.twig' %}
  105.         {{ sylius_template_event('sylius.shop.layout.before_content') }}
  106.         {% block content %}
  107.         {% endblock %}
  108.         {{ sylius_template_event('sylius.shop.layout.after_content') }}
  109.     </div>
  110.     {% block footer %}
  111.         {% include '@SyliusShop/_footer.html.twig' %}
  112.     {% endblock %}
  113. </div>
  114. {% block javascripts %}
  115.     {{ sylius_template_event('sylius.shop.layout.javascripts') }}
  116.     <script>
  117.         const addToCompareSuccessTitle = '{{ 'sylius.ui.success'|trans }}';
  118.         const addToCompareSuccess = '{{ 'app.product_compare.added'|trans }}';
  119.         const addToCompareErrorTitle = '{{ 'sylius.ui.error'|trans }}';
  120.         const addToCompareError = '{{ 'app.product_compare.fail'|trans }}';
  121.         const visitComparisonPage = '{{ 'app.ui.visit_comparison_page'|trans }}';
  122.         const browseCompare = '{{ 'app.ui.product.card.in_comparison'|trans }}';
  123.         const comparisonPageUrl = '{{ path('app_shop_product_compare_show') }}';
  124.         const addToCompareUrl = '{{ url('app_shop_product_compare_add_to_compare', {'productId': '{id}'}) }}'
  125.     </script>
  126. {% endblock %}
  127. {% block confirmationModal %}
  128.     {% include '@SyliusUi/Modal/_confirmation.html.twig' %}
  129. {% endblock %}
  130. {{ sylius_template_event('sylius.shop.layout.after_body') }}
  131. </body>
  132. </html>