<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Site de vente en ligne en Symfony 5"> <meta name="author" content="Cassano Gabriele"> <title>GC Belgian Shop</title> <link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet"> <link href="{{ asset('assets/css/boutiquebelge.css') }}" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <link href="{{ asset('assets/css/carousel.css') }}" rel="stylesheet"> <style> .sf-toolbar { display: none !important; } </style> </head> <body> <header> <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-info"> <a class="navbar-brand" href="{{ path('home') }}">GC Belgian Shop</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarCollapse"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="{{path('about')}}">Qui sommes-nous ?</a> </li> <li class="nav-item active"> <a class="nav-link" href="{{path('products')}}">Nos produits</a> </li> </ul> <div class="navbar-item-custom"> {% if app.user %} <a href="{{ path('account')}}">Mon compte <small>({{ app.user.firstname }})</small></a> | <a href="{{ path('app_logout')}}"> Déconnecter</a> {% else %} <a href="{{ path('app_login')}}">Connexion </a> | <a href="{{ path('register')}}"> Inscription</a> {% endif %} </div> <a href="{{ path('cart')}}"><i class="fas fa-shopping-cart text-light ml-2"></i></a> <span class="text-white ml-2">({{ cartItemCount() }})</span> {% if app.user %} <a href="{{ path('wishlists')}}"><i class="fas fa-heart text-light ml-2"></i></a> <span class="text-white ml-2" id="wishlist-count">({{ wishlistItemCount() }})</span> {% endif %} </div> </div> </nav> <div class="alert alert-danger text-center" style="margin-top: 20px !important;" role="alert"> ⚠ Ce site est un site de démonstration, contenant des données fictives, et ayant pour unique objectif, de présenter mes compétences en Symfony. </div> </header> <main role="main"> {% if block('carousel') is defined %} <div id="myCarousel" class="carousel slide custom-carousel" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="#myCarousel" data-slide-to="0" class="active"></li> <li data-target="#myCarousel" data-slide-to="1"></li> <li data-target="#myCarousel" data-slide-to="2"></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img src="{{ asset('assets/img/slider/slider1.jpg') }}" alt="Image 1 du slider" /> <div class="container"> <div class="carousel-caption text-left"> <h1>Achetez des produits belges</h1> <p>Un large choix de bières belges.</p> <p><a class="btn btn-lg btn-primary" href="{{ path('register')}}" role="button">S'inscrire aujourd'hui</a></p> </div> </div> </div> <div class="carousel-item"> <img src="{{ asset('assets/img/slider/slider2.jpg') }}" alt="Image 2 du slider" /> <div class="container"> <div class="carousel-caption"> <h1>Dégustez le café belge</h1> <p>Découvrez les cafés fabriqués dans notre pays.</p> <p><a class="btn btn-lg btn-primary" href="#" role="button">Lire plus</a></p> </div> </div> </div> <div class="carousel-item"> <img src="{{ asset('assets/img/slider/slider3.jpg') }}" alt="Image 3 du slider" /> <div class="container"> <div class="carousel-caption text-right"> <h1>Le chocolat belge</h1> <p>Comme vous le savez, les belges sont spécialistes de la bière, le chocolat et les frites.</p> <p><a class="btn btn-lg btn-primary" href="#" role="button">Voir la gallerie</a></p> </div> </div> </div> </div> <a class="carousel-control-prev" href="#myCarousel" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#myCarousel" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> {% endif %} <div class="container marketing {% if block('carousel') is not defined %} mt-5 {% endif %}"> {% block content %} {% endblock %} </div> <footer class="footer-custom bg-info"> <p class="h5 mb-5 mt-3"> © 2023 La boutique belge <br> <small class="h5"> <a href="{{ path('cg')}}" class="text-white">Conditions générales</a> · <a href="{{ path('cgv')}}" class="text-white">Conditions générales de ventes</a> · <a href="{{ path('ml')}}" class="text-white">Mentions légales</a> · <a href="{{ path('confidentialite')}}" class="text-white">Politique de confidentialité</a> </small> <br> <small class="h5"> Symfony 5.4.24 </small> </p> </footer> </main> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="{{ asset('assets/js/bootstrap.bundle.js') }}"></script> <script src="https://js.stripe.com/v3/"></script> <script> var stripe = Stripe('pk_test_51MmMexI1PfFa9viOYqTeiLsEwHggcXbngjC2pMdIQeGIoEpFKXLrQJdfJQKOOUloRbbj1dJZyJ9jKXymdpCKvWwW00kx87PAdl'); var checkoutButton = document.getElementById('checkout-button'); checkoutButton.addEventListener('click', function() { {% if reference is defined %} // Créer une session de paiement avec Stripe fetch('create-checkout-session/{{ reference }}') // remplacez cette URL par l'URL de votre route Symfony qui crée une session de paiement avec Stripe .then(function(response) { return response.json(); }) .then(function(session) { if(session.error == "order"){ // redirection (la commande n'a pas été créée correctement) window.location.replace('{{ path('order') }}') } else{ // Rediriger l'utilisateur vers la page de paiement de Stripe return stripe.redirectToCheckout({ sessionId: session.id }); } }) .then(function(result) { // Afficher un message d'erreur si la redirection échoue if (result.error) { alert(result.error.message); } }); {% else %} alert('La référence n\'est pas définie.'); {% endif %} }); </script> </body></html>