templates/base.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <meta name="description" content="Site de vente en ligne en Symfony 5">
  7. <meta name="author" content="Cassano Gabriele">
  8. <title>GC Belgian Shop</title>
  9. <link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet">
  10. <link href="{{ asset('assets/css/boutiquebelge.css') }}" rel="stylesheet">
  11. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
  12. <link href="{{ asset('assets/css/carousel.css') }}" rel="stylesheet">
  13. <style>
  14. .sf-toolbar {
  15. display: none !important;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <header>
  21. <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-info">
  22. <a class="navbar-brand" href="{{ path('home') }}">GC Belgian Shop</a>
  23. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
  24. <span class="navbar-toggler-icon"></span>
  25. </button>
  26. <div class="collapse navbar-collapse" id="navbarCollapse">
  27. <ul class="navbar-nav mr-auto">
  28. <li class="nav-item active">
  29. <a class="nav-link" href="{{path('about')}}">Qui sommes-nous ?</a>
  30. </li>
  31. <li class="nav-item active">
  32. <a class="nav-link" href="{{path('products')}}">Nos produits</a>
  33. </li>
  34. </ul>
  35. <div class="navbar-item-custom">
  36. {% if app.user %}
  37. <a href="{{ path('account')}}">Mon compte <small>({{ app.user.firstname }})</small></a> | <a href="{{ path('app_logout')}}"> Déconnecter</a>
  38. {% else %}
  39. <a href="{{ path('app_login')}}">Connexion </a> | <a href="{{ path('register')}}"> Inscription</a>
  40. {% endif %}
  41. </div>
  42. <a href="{{ path('cart')}}"><i class="fas fa-shopping-cart text-light ml-2"></i></a>
  43. <span class="text-white ml-2">({{ cartItemCount() }})</span>
  44. {% if app.user %}
  45. <a href="{{ path('wishlists')}}"><i class="fas fa-heart text-light ml-2"></i></a>
  46. <span class="text-white ml-2" id="wishlist-count">({{ wishlistItemCount() }})</span>
  47. {% endif %}
  48. </div>
  49. </div>
  50. </nav>
  51. </header>
  52. <main role="main">
  53. {% if block('carousel') is defined %}
  54. <div id="myCarousel" class="carousel slide custom-carousel" data-ride="carousel">
  55. <ol class="carousel-indicators">
  56. <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
  57. <li data-target="#myCarousel" data-slide-to="1"></li>
  58. <li data-target="#myCarousel" data-slide-to="2"></li>
  59. </ol>
  60. <div class="carousel-inner">
  61. <div class="carousel-item active">
  62. <img src="{{ asset('assets/img/slider/slider1.jpg') }}" alt="Image 1 du slider" />
  63. <div class="container">
  64. <div class="carousel-caption text-left">
  65. <h1>Achetez des produits belges</h1>
  66. <p>Un large choix de bières belges.</p>
  67. <p><a class="btn btn-lg btn-primary" href="{{ path('register')}}" role="button">S'inscrire aujourd'hui</a></p>
  68. </div>
  69. </div>
  70. </div>
  71. <div class="carousel-item">
  72. <img src="{{ asset('assets/img/slider/slider2.jpg') }}" alt="Image 2 du slider" />
  73. <div class="container">
  74. <div class="carousel-caption">
  75. <h1>Dégustez le café belge</h1>
  76. <p>Découvrez les cafés fabriqués dans notre pays.</p>
  77. <p><a class="btn btn-lg btn-primary" href="#" role="button">Lire plus</a></p>
  78. </div>
  79. </div>
  80. </div>
  81. <div class="carousel-item">
  82. <img src="{{ asset('assets/img/slider/slider3.jpg') }}" alt="Image 3 du slider" />
  83. <div class="container">
  84. <div class="carousel-caption text-right">
  85. <h1>Le chocolat belge</h1>
  86. <p>Comme vous le savez, les belges sont spécialistes de la bière, le chocolat et les frites.</p>
  87. <p><a class="btn btn-lg btn-primary" href="#" role="button">Voir la gallerie</a></p>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. <a class="carousel-control-prev" href="#myCarousel" role="button" data-slide="prev">
  93. <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  94. <span class="sr-only">Previous</span>
  95. </a>
  96. <a class="carousel-control-next" href="#myCarousel" role="button" data-slide="next">
  97. <span class="carousel-control-next-icon" aria-hidden="true"></span>
  98. <span class="sr-only">Next</span>
  99. </a>
  100. </div>
  101. {% endif %}
  102. <div class="container marketing {% if block('carousel') is not defined %} mt-5 {% endif %}">
  103. {% block content %}
  104. {% endblock %}
  105. </div>
  106. <footer class="footer-custom bg-info">
  107. <p class="h5 mb-5 mt-3">
  108. &copy; 2023 - <a href="https://gabriel-cassano.be" style="color:white;">Gabriele Cassano</a> - Tous droits réservés
  109. <br><br>
  110. <small class="h5">
  111. <a href="{{ path('cg')}}" class="text-white">Conditions générales</a>
  112. &middot; <a href="{{ path('cgv')}}" class="text-white">Conditions générales de ventes</a>
  113. &middot; <a href="{{ path('ml')}}" class="text-white">Mentions légales</a>
  114. &middot; <a href="{{ path('confidentialite')}}" class="text-white">Politique de confidentialité</a>
  115. </small>
  116. </p>
  117. </footer>
  118. </main>
  119. <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  120. <script src="{{ asset('assets/js/bootstrap.bundle.js') }}"></script>
  121. <script src="https://js.stripe.com/v3/"></script>
  122. <script>
  123. var stripe = Stripe('pk_test_51MmMexI1PfFa9viOYqTeiLsEwHggcXbngjC2pMdIQeGIoEpFKXLrQJdfJQKOOUloRbbj1dJZyJ9jKXymdpCKvWwW00kx87PAdl');
  124. var checkoutButton = document.getElementById('checkout-button');
  125. checkoutButton.addEventListener('click', function() {
  126. {% if reference is defined %}
  127. // Créer une session de paiement avec Stripe
  128. fetch('create-checkout-session/{{ reference }}') // remplacez cette URL par l'URL de votre route Symfony qui crée une session de paiement avec Stripe
  129. .then(function(response) {
  130. return response.json();
  131. })
  132. .then(function(session) {
  133. if(session.error == "order"){
  134. // redirection (la commande n'a pas été créée correctement)
  135. window.location.replace('{{ path('order') }}')
  136. } else{
  137. // Rediriger l'utilisateur vers la page de paiement de Stripe
  138. return stripe.redirectToCheckout({ sessionId: session.id });
  139. }
  140. })
  141. .then(function(result) {
  142. // Afficher un message d'erreur si la redirection échoue
  143. if (result.error) {
  144. alert(result.error.message);
  145. }
  146. });
  147. {% else %}
  148. alert('La référence n\'est pas définie.');
  149. {% endif %}
  150. });
  151. </script>
  152. </body>
  153. </html>