templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr" prefix="og: https://ogp.me/ns#" >
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.         <meta name="viewport" content="width=device-width, initial-scale=1">
  7.         <meta name="description" content="LE BIO D'ÉLO">
  8.         <meta name="keywords" content="LE BIO D'ÉLO">
  9.         <meta name="mobile-web-app-capable" content="yes">
  10.         <meta name="apple-mobile-web-app-capable" content="yes">
  11.         <meta name="mobile-web-app-title" content="LE BIO D'ÉLO">
  12.         <meta name="apple-mobile-web-app-title" content="LE BIO D'ÉLO">
  13.         <meta property="og:title" content="LE BIO D'ÉLO "/>
  14.         <meta property="og:type" content="MIELS THÉS TISANES" />
  15.         <meta property="og:description" content="le Bio d'ÉLO" />
  16.         <meta property="og:image" content= "https://www.lebiodelo.com/img/photoLifeUpload/Jeanne-Paul.jpg" />
  17.         <meta property="og:url" content="https://www.lebiodelo.com" />
  18.         <meta property="og:site_name" content="LE BIO D'ÉLO" />
  19.         <script type="application/ld+json">
  20.             { "@context" : "https://schema.org",
  21.               "@type" : "Organization",
  22.               "url" : "https://www.lebiodelo.com",
  23.               "name" : "Le Bio d'Élo",
  24.               "address": {
  25.                 "@type": "PostalAddress",
  26.                 "streetAddress": ""
  27.                 "addressLocality": "",
  28.                 "postalCode": "",
  29.                 
  30.               },
  31.               "email": "contact@lebiodelo.com",
  32.     
  33.                 "telephone" : "",
  34.                 "description" : "lebiodelo.com",
  35.                 "logo" : "https://www.lebiodelo.com/img/icones/logo_full.png"
  36.                 }
  37.         </script>
  38.         
  39.         
  40.         <title>{% block title %}Le bio d'Élo{% endblock %}</title>
  41.         <script type="text/javascript" src="{{ asset("tarteaucitronmin.js") }}"></script>
  42.         <script type="text/javascript">
  43.             tarteaucitron.init({
  44.                 "privacyUrl": "http://www.lebiodelo.com/mentionLegales", /* Privacy policy url */
  45.                 "hashtag": "#tarteaucitron",
  46.                 /* Open the panel with this hashtag */
  47.                 "cookieName": "tarteaucitron",
  48.                 /* Cookie name */
  49.                 "orientation": "bottom",
  50.                 /* Banner position (top - bottom) */
  51.                 "groupServices": false,
  52.                 /* Group services by category */
  53.                 "showAlertSmall": false,
  54.                 /* Show the small banner on bottom right */
  55.                 "cookieslist": false,
  56.                 /* Show the cookie list */
  57.                 "closePopup": false,
  58.                 /* Show a close X on the banner */
  59.                 "showIcon": true,
  60.                 /* Show cookie icon to manage cookies */
  61.                 //"iconSrc": "", /* Optionnal: URL or base64 encoded image */
  62.                 "iconPosition": "BottomRight",
  63.                 /* BottomRight, BottomLeft, TopRight and TopLeft */
  64.                 "adblocker": false,
  65.                 /* Show a Warning if an adblocker is detected */
  66.                 "DenyAllCta": true,
  67.                 /* Show the deny all button */
  68.                 "AcceptAllCta": true,
  69.                 /* Show the accept all button when highPrivacy on */
  70.                 "highPrivacy": true,
  71.                 /* HIGHLY RECOMMANDED Disable auto consent */
  72.                 "handleBrowserDNTRequest": false,
  73.                 /* If Do Not Track == 1, disallow all */
  74.                 "removeCredit": true,
  75.                 /* Remove credit link */
  76.                 "moreInfoLink": false,
  77.                 /* Show more info link */
  78.                 "useExternalCss": false,
  79.                 /* If false, the tarteaucitron.css file will be loaded */
  80.                 "useExternalJs": false,
  81.                 /* If false, the tarteaucitron.js file will be loaded */
  82.                 //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for multisite */
  83.                 "showIcon": false,
  84.                 /* Change the default readmore link */
  85.                 "readmoreLink": "",
  86.                 /* Change the default readmore link */
  87.                 "mandatory": true,
  88.                 /* Show a message about mandatory cookies */
  89.             });
  90.         </script>
  91.         <script type="text/javascript">
  92.             tarteaucitron.user.gtagUa = 'G-MBV5Y5BSSE';
  93.             // tarteaucitron.user.gtagCrossdomain = ['example.com', 'example2.com'];
  94.             tarteaucitron.user.gtagMore = function() { /* add here your optionnal gtag() */ };
  95.             (tarteaucitron.job = tarteaucitron.job || []).push('gtag');
  96.             (tarteaucitron.job = tarteaucitron.job || []).push('analytics');
  97.             (tarteaucitron.job = tarteaucitron.job || []).push('instagram');
  98.             (tarteaucitron.job = tarteaucitron.job || []).push('facebook');
  99.             (tarteaucitron.job = tarteaucitron.job || []).push('twitter');
  100.             (tarteaucitron.job = tarteaucitron.job || []).push('pinterest');
  101.         </script>
  102.         <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  103.         <link rel="preconnect" href="https://fonts.googleapis.com">
  104.         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  105.         <link rel="preconnect" href="https://fonts.googleapis.com">
  106.         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  107.         <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap" rel="stylesheet">
  108.         <link rel="stylesheet" href="{{ asset('css/tarteaucitron.css') }}">
  109.         <link rel="stylesheet" href="{{ asset('css/style.css') }}">
  110.         
  111.         <link rel="icon" href="{{ asset('img/icones/favicon.png') }}"/>
  112.         <link rel="apple-touch-icon" href="{{ asset('img/icones/favicon_appletouch.png') }}"/> {% block stylesheets %}{% endblock %}
  113.     </head>
  114.     <body>
  115.         {% set categories = app.session.get('categories') %}
  116.         <nav class="navbarLg navbar navbar-expand-lg sticky-top navbar-light d-none d-lg-block">
  117.             <div class="container-fluid">
  118.                         <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
  119.                         <span class="navbar-toggler-icon"></span>
  120.                         </button>
  121.                 <div class="collapse navbar-collapse" id="navbarNavDropdown">
  122.                         <ul class="navbar-nav col-12">
  123.                             <div class="col-4 d-flex">
  124.                                 <li class=" col-6 nav-item dropdown mx-3">
  125.                                     <a class="nav-link" href="{{ path('catalogue') }}" id="navbarDropdownMenuLink" data-bs-toggle="" aria-expanded="false">PRODUITS</a>
  126.                                         <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  127.                                      
  128.                                      {% for categorie in categories %}
  129.                                          <li class="nav-item">
  130.                                                 <a  class="dropdown-item" href="{{ path("categorie" , {'id' : categorie.id}) }}">{{ categorie.nom }}</a>
  131.                                             </li>
  132.                                         
  133.                                      {% endfor %}
  134.                                             
  135.                                         </ul>
  136.                                 </li>
  137.                                 <li class=" col-6 nav-item dropdown ">
  138.                                     <a class="nav-link "  href="{{ path('nous') }}" id="navbarDropdownMenuLink" role="button" data-bs-toggle="" aria-expanded="false">A PROPOS</a>
  139.                                     
  140.                                 </li>
  141.                             </div>
  142.                             <div class="col-4 ">
  143.                                 <li class="navbar-brand  d-none d-lg-flex  justify-content-center">
  144.                                     <a href="{{ path('accueil') }}">
  145.                                         <img  id="logo-full" class=""  src="{{ asset('img/icones/logo_full.png') }}" alt="logo" style='width:200px'>
  146.                                     </a>
  147.                                         <a href="{{ path('accueil') }}">
  148.                                             <img  id="logo-text" class="d-none" src="{{ asset('img/icones/logo.png') }}" alt="logo" style='width:150px'>
  149.                                         </a>
  150.                                 </li>
  151.                             </div>
  152.                             <div class="col-4 d-flex justify-content-end">
  153.                                 <li class="nav-item dropdown">
  154.                                     <a class="nav-link  px-3" href="#" id="navbarDropdownMenuLink" role="button" data-bs-toggle=""   aria-expanded="false">
  155.                                     {% if app.user %}
  156.                                         MON COMPTE</a>
  157.                                     {% else %}
  158.                                         <i class="far fa-user"></i>
  159.                                     </a>
  160.                                     {% endif %}
  161.                                     <ul class="dropdown-menu " aria-labelledby="navbarDropdown">
  162.                                     
  163.                                         {% if is_granted('ROLE_USER') %}
  164.                                         
  165.                                             <li><a class="dropdown-item" href="{{ path("profil") }}">PROFIL</a></li>
  166.                                             <li><a class="dropdown-item" href="{{ path("deconnexion") }}">DECONNEXION</a></li>
  167.                     
  168.                                         
  169.                                         {% else %}
  170.                                         <li><a class="dropdown-item" href="{{ path("connexion") }}">CONNEXION</a></li>
  171.                                         <li ><a class="dropdown-item" href = "{{ path('inscription') }}">INSCRIPTION</a></li>
  172.                                         {% endif %}
  173.             
  174.                                         {% if is_granted('ROLE_ADMIN') %}
  175.                                         <li><hr class="dropdown-divider"></li>
  176.                                         <li ><a class="dropdown-item" href="{{ path('admin_commande') }}">Gérer les commandes </a></li>
  177.                                         <li ><a class="dropdown-item" href="{{ path('presentation_afficher') }}">Gérer à propos</a></li>
  178.                                         <li ><a class="dropdown-item" href="{{ path('accueil_afficher') }}">Gérer l'accueil</a></li>
  179.                                         <li ><a class="dropdown-item" href="{{ path('produit_afficher') }}">Gérer les produits</a></li>
  180.                                         <li ><a class="dropdown-item" href="{{ path('categorie_afficher') }}">Gérer les catégories</a></li>
  181.                                         <li ><a class="dropdown-item" href="{{ path('produit_ajouter') }}">Ajouter un produit</a></li>
  182.                                         <li ><a class="dropdown-item" href="{{ path('user_afficher') }}">Gérer les utilisateurs</a></li>
  183.                                         
  184.                                         {% endif %}
  185.                                         
  186.                                     </ul>
  187.                                 </li>
  188.             
  189.                                 <a class="panier nav-link mx-3"  href="{{ path('panier')}}"> 
  190.                                     <img src="{{ asset('img/icones/shopping-bag.png') }}" alt="logo" style='width:16px'>
  191.                                  <span class="badge cart-items-lg"></span>
  192.                                 </a>
  193.                             
  194.                             </div>
  195.     
  196.                         </ul>
  197.                         
  198.                         
  199.         
  200.                 </div>
  201.             </div>
  202.         </nav>
  203.         <nav class="navbarMd navbar sticky-top  d-lg-none navbar-light ">
  204.             <div class="container-fluid">
  205.                 <a class="panier nav-link"  style='margin-top:-20px'  href="{{ path('panier')}}"> 
  206.                     <img src="{{ asset('img/icones/shopping-bag.png') }}" alt="logo" style='width:24px'>
  207.                                      <span class="badge cart-items-md"></span>
  208.                 </a>
  209.             
  210.                 <a class="navbar-brand" href="{{ path('accueil') }}">
  211.                 <img src="{{ asset('img/icones/logo.png') }}" alt="logo" style='width:150px'>
  212.                 </a>
  213.                     
  214.                 <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar">
  215.                 <span class="navbar-toggler-icon"></span>
  216.                 </button>
  217.                 <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
  218.                 <div class="offcanvas-header">
  219.                     <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  220.                 </div>
  221.                 <div class="offcanvas-body">
  222.                     <ul class="navbar-nav justify-content-end flex-grow-1 pe-3">
  223.                          {% for categorie in categories %}
  224.                                          <li class="nav-item">
  225.                                                 <a  class="dropdown-item" href="{{ path("categorie" , {'id' : categorie.id}) }}">{{ categorie.nom }}</a>
  226.                                             </li>
  227.                                         
  228.                                      {% endfor %}
  229.                         <li><hr class="dropdown-divider"></li>
  230.                         <li class="nav-item">
  231.                             <a class="dropdown-item" href="{{ path('nous') }}">NOUS</a>
  232.                         </li>       
  233.                         
  234.                         <li><hr class="dropdown-divider"></li>
  235.                         {% if is_granted('ROLE_USER') %}                
  236.                             <li><a class="dropdown-item" href="{{ path("profil") }}">PROFIL</a></li>
  237.                             <li><a class="dropdown-item" href="{{ path("deconnexion") }}">DECONNEXION</a></li>
  238.                         {% else %}
  239.                             <li><a class="dropdown-item" href="{{ path("connexion") }}">CONNEXION</a></li>
  240.                             <li ><a class="dropdown-item" href = "{{ path('inscription') }}">INSCRIPTION</a></li>
  241.                         {% endif %}
  242.                         {% if is_granted('ROLE_ADMIN') %}
  243.                             <li><hr class="dropdown-divider"></li>
  244.                             <li ><a class="dropdown-item" href="{{ path('presentation_afficher') }}">Gérer 'A propos'</a></li>
  245.     
  246.                             <li ><a class="dropdown-item" href="{{ path('accueil_afficher') }}">Gérer l'accueil</a></li>
  247.                             <li ><a class="dropdown-item" href="{{ path('produit_afficher') }}">Gérer les produits</a></li>
  248.                             <li ><a class="dropdown-item" href="{{ path('produit_ajouter') }}">Ajouter produit</a></li>
  249.                             <li ><a class="dropdown-item" href="{{ path('user_afficher') }}">Gérer les utilisateurs</a></li>
  250.                         {% endif %}
  251.                     </ul>
  252.                 </div>
  253.                 </div>
  254.             </div>
  255.         </nav>
  256.         
  257.     
  258.     {% block content %}{% endblock %}
  259.         <footer class="footer_container col-12 d-flex flex-column">
  260.             <div class="contact ccol-12 d-flex  flex-column ">
  261.                 <div class="mail  col-12  d-flex  flex-column justify-content-center mb-2">
  262.                     
  263.                         <a href="mailto:contact@lebiodelo.com" class= "fw-bold">CONTACT@LEBIODELO.COM</a>
  264.                         <br>
  265.                         <p>06 70 01 42 26</p>
  266.                 </div>
  267.                     <div class="reseaux col-lg-4 mx-auto col-12 d-flex d-none flex-lg-column flex-row justify-content-center align-items-start mb-2"> 
  268.                     <p class="d-none fw-bold mb-2 mx-2">NOUS SUIVRE</p>
  269.                     
  270.                         <a class="mx-2 " href="https://www.facebook.com/"  target="_blank">Facebook</i>
  271.                         </a>
  272.                         <a class="mx-2 "  href="https://www.instagram.com" target="_blank">Instagram</i>
  273.                         </a>
  274.                         <a  class="mx-2 " href="https://www.pinterest.fr"  target="_blank">Pinterest</i>
  275.                         </a>
  276.         
  277.                 </div>
  278.             </div>
  279.             <div class="rigp  col-12 mx-auto my-auto  " >
  280.                 <a  href="{{ path('accueil') }}">
  281.                 <img class="logo-footer d-block mx-auto" src="{{ asset('img/icones/logo.png') }}" alt="logo"></a>
  282.                 <div class="w-100 d-flex justify-content-center">
  283.                 <a href="{{ path('mentionsLegales') }}">Mentions légales </a>
  284.                 <a class='mx-1' href="{{ path('cgv') }}">CGV</a>
  285.                 </div>
  286.                 <p>&#169 Le bio d'Élo</p> 
  287.             </div>
  288.             <div class="liens col-12  flex-lg-row flex-md-row flex-column">
  289.                                     <div class="produits   d-none col-4 mx-auto">
  290.                                         <p class="mb-2  fw-bold" >PRODUITS</p>
  291.                                          {% for categorie in categories %}
  292.                                                 <a  class="dropdown-item" href="{{ path("categorie" , {'id' : categorie.id}) }}">{{ categorie.nom }}</a>
  293.                                         
  294.                                      {% endfor %}
  295.                                     
  296.                                         
  297.                                     </div>
  298.                                         
  299.         </footer>
  300.                 {% if app.session.get('panier_item') %}
  301.                 {% set nb_item = app.session.get('panier_item') %}
  302.                 {% else %}
  303.                 {% set nb_item = 0 %}
  304.                 {% endif %}
  305.             </div>
  306.     </body>
  307.     <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
  308.     <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.js"></script>
  309.     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
  310.     <script src="https://kit.fontawesome.com/c6d0a84024.js" crossorigin="anonymous"></script>
  311.     <script>// display  CartItems ??? not needed anymore 
  312.         if (document.querySelector('.cart-items-lg').innerHTML == "") {
  313.         document.querySelector('.cart-items-md').setAttribute('visibility', "hidden")
  314.         }
  315.         if (document.querySelector('.cart-items-md').innerHTML == "") {
  316.         document.querySelector('.cart-items-md').setAttribute('visibility', "hidden")
  317.         }
  318.     </script>
  319.     <script>//check how many item in the cart and display the badge or not
  320.         let nbCartItems = {{ nb_item }}
  321.         if (nbCartItems > 0) {
  322.         document.querySelector('.cart-items-lg').innerHTML = nbCartItems
  323.         document.querySelector('.cart-items-md').innerHTML = nbCartItems
  324.         } else {
  325.         document.querySelector('.cart-items-lg').innerHTML = ""
  326.         document.querySelector('.cart-items-md').innerHTML = ""
  327.         document.querySelector('.cart-items-lg').setAttribute('visibility', "hidden")
  328.         document.querySelector('.cart-items-md').setAttribute('visibility', "hidden")
  329.         }
  330.     </script>
  331.     <script>// light  navigation backrground  if scroll
  332.         window.onscroll = function()
  333.         {
  334.                 elementLg = document.querySelector('.navbarLg')
  335.                 elementMd = document.querySelector('.navbarMd')
  336.                 elementLogoFull =document.querySelector('#logo-full')
  337.                 elementLogoText =document.querySelector('#logo-text')
  338.                 let position =window.scrollY
  339.                 if (position > 120) {
  340.                 elementLg.style.height = '127px'     
  341.                 elementLg.style.backgroundColor = '#FFFA'
  342.                 elementLogoFull.classList.add('d-none')
  343.                 elementLogoText.classList.remove('d-none')
  344.             }
  345.             else {
  346.                     elementLg.style.height = 'auto'
  347.                     elementLg.style.backgroundColor = 'transparent'    
  348.                     elementLogoText.classList.add('d-none')    
  349.                     elementLogoFull.classList.remove('d-none')
  350.                     
  351.                     
  352.             }
  353.                 if (position > 71) {
  354.                 elementMd.style.backgroundColor = '#FFFA'     
  355.             }
  356.             else {
  357.                     elementMd.style.backgroundColor = 'transparent'        
  358.             }
  359.         }
  360.     </script>
  361.     {% block javascripts %}{% endblock %}
  362. </html>