templates/base.html.twig line 1

Open in your IDE?
  1. {% if app.request.attributes.get('_route') in ['homepage', 'opere', 'dettaglioOpere', 'esposizioni', 'biografia', 'bibliografia', 'interviste', 'contatti', 'archivio', 'archivio-opere', 'archivio-opere-scheda', 'archivio-mostre', 'archivio-biografia', 'archivio-bibliografia', 'archivio-interviste'] %}
  2.     {% set routeName = path(app.request.attributes.get('_route')) %}
  3.     {% if app.request.attributes.get('_route') == 'dettaglioOpere' %}
  4.         {% set routeName = 'opere' %}
  5.     {% endif %}
  6. {% else %}
  7.     {% set routeName = '' %}
  8. {% endif %}
  9. {% set menuPrincipale = [
  10.     { 'route': 'biografia', 'label': 'Biografia' },
  11.     { 'route': 'bibliografia', 'label': 'Bibliografia' },
  12.     { 'route': 'esposizioni', 'label': 'Esposizioni' },
  13.     { 'route': 'opere', 'label': 'Opere' },
  14.     { 'route': 'interviste', 'label': 'Video' },
  15.     { 'route': 'archivio', 'label': 'Archivio' },
  16.     { 'route': 'contatti', 'label': 'Contatti' }
  17. ] %}
  18. {% set menuArchivio = [
  19.     { 'route': 'archivio-biografia', 'label': 'Biografia' },
  20.     { 'route': 'archivio-bibliografia', 'label': 'Bibliografia' },
  21.     { 'route': 'archivio-mostre', 'label': 'Esposizioni' },
  22.     { 'route': 'archivio-opere', 'label': 'Opere' },
  23.     { 'route': 'archivio-interviste', 'label': 'Multimedia' },
  24.     { 'route': 'contatti', 'label': 'Contatti' }
  25. ] %}
  26. <!DOCTYPE html>
  27. <html lang="it">
  28.     <head>
  29.         <meta charset="utf-8">
  30.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  31.         <title>{% block pageTitle %}Homepage{% endblock %} | Gino Cortelazzo</title>
  32.         {% block pageStyle %}
  33.             <link href="{{ asset('vendor/bootstrap-italia/css/bootstrap-italia.min.css') }}" rel="stylesheet">
  34.             <link href="{{ asset('css/style-custom.css') }}" rel="stylesheet">
  35.             <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  36.         {% endblock %}
  37.         
  38.         {% block pageScriptsHeader %}
  39.             <script src="{{ asset('vendor/jquery/jquery-3.7.1.min.js') }}"></script>
  40.             <script src="{{ asset('vendor/bootstrap-italia/js/bootstrap-italia.bundle.min.js') }}"></script>
  41.         {% endblock %}
  42.     </head>
  43.     {% if isArchivio is not defined %}
  44.         {% if 'archivio-' in routeName %}
  45.             {% set isArchivio = true %}
  46.         {% else %}
  47.             {% set isArchivio = false %}
  48.         {% endif %}
  49.     {% endif %}
  50.     <body>
  51.         <header class="container">
  52.             {% block navigation %}
  53.             <div class="d-grid">
  54.                 <span class="logo{% if routeName == '/' %} active{% endif %}"><a href="/">Gino Cortelazzo</a></span>
  55.                 <nav class="navbar navbar-expand-lg">
  56.                     <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navigationbar" aria-controls="navigationbar" aria-expanded="false" aria-label="Apri/chiudi navigazione">
  57.                         <span class="navbar-toggler-icon"></span>
  58.                     </button>
  59.                     <div class="collapse navbar-collapse" id="navigationbar" aria-label="Principale">
  60.                         <ul class="navbar-nav ml-auto">
  61.                             {% if is_granted('ROLE_ADMIN') %}
  62.                             <li><a class="nav-item nav-link link-admin bg-primary text-white" href="{{ path('admin') }}">Pannello</a></li>
  63.                             {% endif %}
  64.                             {% if isArchivio %}
  65.                                 {% for item in menuArchivio %}
  66.                                     {% set is_active = (item.route in routeName) %}
  67.                                     <li class="nav-item">
  68.                                         <a class="nav-link{% if is_active %} active{% endif %}" href="{{ path(item.route) }}" {% if is_active %} aria-current="page"{% endif %}>
  69.                                             {{ item.label }}
  70.                                         </a>
  71.                                     </li>
  72.                                 {% endfor %}
  73.                             {% else %}
  74.                                 {% for item in menuPrincipale %}
  75.                                     {% set is_active = (item.route in routeName) %}
  76.                                     <li class="nav-item">
  77.                                         <a class="nav-link{% if is_active %} active{% endif %}" href="{{ path(item.route) }}" {% if is_active %} aria-current="page"{% endif %}>
  78.                                             {{ item.label }}
  79.                                         </a>
  80.                                     </li>
  81.                                 {% endfor %}
  82.                             {% endif %}
  83.                         </ul>
  84.                     </div>
  85.                 </nav>
  86.             </div>
  87.             {% endblock %}
  88.             {% block upperMainContainer %}
  89.             {% endblock %}
  90.         </header>
  91.             
  92.         {% set mainContainerExceptions = ["homepage", "monografieCataloghi"] %}
  93.         
  94.         {% set monografieExceptions = ["monografieCataloghi"] %}
  95.         <!-- Page Content -->
  96.         {# <div id="main-page-container" class="container-fluid {% if app.request.attributes.get('_route') not in mainContainerExceptions %} mt-5 {% endif %} {% if app.request.attributes.get('_route') in monografieExceptions %} p-0 {% endif %} {% if app.request.attributes.get('_route') == "mostre" %} mostre-background {% endif %}"> #}
  97.         <main id="main">
  98.           {% block mainContainer %}
  99.           {% endblock %}
  100.         </main>
  101.         
  102.         <footer>
  103.             <div class="container">
  104.                 
  105.             </div>
  106.         </footer>
  107.                     
  108.         {% if not app.request.cookies.has('privacyAndCookies') %}
  109.         <div id="privacyAndCookie" class="modal" tabindex="-1" role="dialog">
  110.             <div class="modal-dialog modal-dialog-centered" role="document">
  111.                 <div class="modal-content">
  112.                     <div class="modal-header">
  113.                         <h3 class="modal-title">{{"Privacy"|upper}} e {{"Cookies Policy"|upper}}</h3>
  114.                         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Chiudi">
  115.                         </button>
  116.                     </div>
  117.                     <div class="modal-body">
  118.                         <p>Questo sito o gli strumenti terzi da questo utilizzati, si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.</p>
  119.                     </div>
  120.                     <div class="modal-footer">
  121.                         <button type="button" class="btn btn-success" data-bs-dismiss="modal">Accetto</button>
  122.                         <a href="{{ path("privacyAndCookiesPolicy") }}"><button type="button" class="btn btn-primary">Approfondisci</button></a>
  123.                     </div>
  124.                 </div>
  125.             </div>
  126.         </div>
  127.         {% endif %}
  128.         <script type="text/javascript">
  129.         $(document).ready(function() {          
  130.             {% if not app.request.cookies.has('privacyAndCookiesPolicy') %}
  131.                 jQuery('#privacyAndCookie').show();
  132.                 const date = new Date();
  133.                 date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
  134.                 document.cookie = 'privacyAndCookiesPolicy=1;expires=' + date + 'path=/';
  135.                 jQuery('#privacyAndCookie').find('.btn-close, .btn-success').click(function() {
  136.                     jQuery('#privacyAndCookie').hide();
  137.                 });
  138.             {% endif %}
  139.         });
  140.         </script>
  141.     </body>
  142. </html>