src/Flexy/FrontBundle/Themes/CoWorking/templates/pages/actualites.html.twig line 1
{% extends '@Flexy/FrontBundle/Themes/CoWorking/templates/layout.html.twig' %}{% block stylesheets %}{{ parent() }}<style>.pagination {display: flex;justify-content: center;margin-top: 20px;}.pagination li {margin: 0 5px;list-style: none;}.pagination li a {text-decoration: none;padding: 8px 12px;border: 1px solid #FFCB00; /* Ajout de la couleur principale */border-radius: 5px;color: #FFCB00; /* Texte en couleur principale */font-weight: 600;transition: background-color 0.3s, color 0.3s;}.pagination li a:hover {background-color: #FFCB00; /* Couleur au survol */color: white; /* Texte en blanc au survol */}.pagination li.active a {background-color: #FFCB00; /* Couleur principale pour l'élément actif */color: white; /* Texte en blanc */border: none; /* Supprimer la bordure */}.pagination li.disabled {display: none; /* Cacher les boutons désactivés */}.img-article {width: 100%; /* La largeur de l'image s'ajuste à la colonne */height: 260px; /* Hauteur fixe pour uniformiser toutes les images */object-fit: cover; /* Coupe les parties excédentaires pour conserver le rapport d'aspect */border-radius: 5px; /* Optionnel : coins arrondis */}#hideHeaderInPageHome{display:none !important;}.title-article{color: #292825;font-size: 21px;line-height: 35px;font-weight: 800;}.lire-suite{/*padding: 10px;*/font-weight:600;font-size:13px;border-radius: 4px;}.img-article{width:95%;}.shadow-custom:hover{box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;}.shadow-custom{box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;}.custom-hr {width: 10%;border: 3px solid #555;margin: 4px;}.custom-hr-1{width: 3%;border: 3px solid #555;margin: 4px;}.carousel-image {width: 100%; /* Adapte la largeur à celle du conteneur */height: 400px; /* Hauteur fixe pour un rendu uniforme */object-fit: cover; /* Coupe et zoome l'image pour remplir le conteneur */}</style>{% endblock %}{% block body %}<!--Carousel--><div id="carouselExampleInterval" class="carousel slide" data-bs-ride="carousel"><div class="carousel-inner"><div id="carouselExampleInterval" class="carousel slide" data-bs-ride="carousel"><div class="carousel-inner">{% for news in newshome %}<div class="carousel-item {% if loop.first %}active{% endif %}" data-bs-interval="6000"><img src="/uploads/coworking/{{ news.image }}" class="d-block w-100 carousel-image" alt="..."></div>{% endfor %}</div></div><button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="prev"><span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="visually-hidden">Previous</span></button><button class="carousel-control-next" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="next"><span class="carousel-control-next-icon" aria-hidden="true"></span><span class="visually-hidden">Next</span></button></div><div class="container" style="max-width: 1230px;"><div class="row"><div class="col-lg-12"><h1 style="font-size: 34px; color: black;" class="title-actualites mt-5 mb-2">Actualités</h1><hr class="custom-hr-1"><div class="row"><!-- Articles --><div class="col-lg-9"><div id="result-container">{% include '@Flexy/FrontBundle/Themes/CoWorking/templates/pages/_sorted_results.html.twig' with { 'news': newshome } %}</div>{# {% for news in newshome %}<article class="card shadow-custom mt-4"><div class="row g-0"><div class="col-lg-5"><img class="img-article img-fluid"src="/uploads/coworking/{{ news.image }}"alt="image"></div><div class="col-lg-7 col-md-12 " ><p class="mt-2" style="font-size:12px">{{ news.dateDebut|date('d M Y')|default('Aucune date') }}</p><h3> {{ news.title }} </h3><h2 class="title-article"> {{ news.underTitle }}</h2><p style="font-size: 15px;width:95%;">{{ news.description|slice(0, 110) ~ '...' }}</p><a href="{{path('actualite',{id:news.id})}}" class="lire-suite">Lire Plus <i style="font-size:18px" class="fa fa-play-circle" aria-hidden="true"></i></a></div></div></article>{% endfor %}#}</div><!-- Sidebar --><div class="col-lg-3"><select id="sortSelect" class="form-select" aria-label="Default select example"><option selected value="1">Les plus récentes</option><option value="2">Les plus anciens</option></select><br><!-- Remplacez 'ffff' par du contenu réel --><h5 class="">Actualités récentes</h5><hr class="custom-hr">{% for news in newshome %}{% if loop.index <= 8 %}<p class="mt-3" style="font-size: 14px;">{{ news.Title }}</p>{% endif %}{% endfor %}</div></div></div>{% if newshome is not null %}<div class="pagination">{{ knp_pagination_render(newshome) }}</div>{% endif %}</div></div>{% endblock %}{% block javascripts %}{{ parent() }}<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script><script>$(document).ready(function () {// Fonction pour charger les actualités triéesfunction loadSortedNews(sortOrder, page = 1) {console.log("Tri sélectionné :", sortOrder, "Page :", page);$.ajax({url: '{{ path('app_sort_data') }}',type: 'GET',data: { sortOrder: sortOrder, page: page },beforeSend: function () {$('#result-container').html('<div class="text-center"><i class="fa fa-spinner fa-spin fa-3x"></i> Chargement en cours ....</div>');},success: function (response) {$('#result-container').html(response);// Gérer les liens de pagination après le tri$('#result-container').on('click', '.pagination a', function (e) {e.preventDefault();let pageUrl = $(this).attr('href');let pageNumber = pageUrl.split('page=')[1];loadSortedNews(sortOrder, pageNumber);});},error: function () {alert('Une erreur est survenue lors du tri.');}});}// Événement de changement sur le select$('#sortSelect').on('change', function () {let selectedValue = $(this).val();loadSortedNews(selectedValue);});// Capture les clics de pagination dès le chargement initial$('#result-container').on('click', '.pagination a', function (e) {e.preventDefault();let selectedValue = $('#sortSelect').val();let pageUrl = $(this).attr('href');let pageNumber = pageUrl.split('page=')[1];loadSortedNews(selectedValue, pageNumber);});});</script>{% endblock %}