templates/actualités/index.html.twig line 1
{% extends 'site.html.twig' %}
{% block title %}Actualités{% endblock %}
{% block body %}
<div class="container-fluid bg-primary py-5 bg-header-actu" style="margin-bottom:40px;" id="banner">
<div class="row py-5">
<div class="col-12 pt-lg-5 mt-lg-5 text-center">
<h1 class="display-4 text-white animated zoomIn" style="margin-top: 55px">Actualités</h1>
<a href="" class="h5 text-white"></a>
<a href="" class="h5 text-white"></a>
</div>
</div>
</div>
</div>
<!-- Navbar End -->
<!-- Blog Start -->
<div class="container-fluid py-5 wow fadeInUp" data-wow-delay="0.1s">
<div class="container py-5">
<div class="row g-5">
<div class="col-lg-8">
<div class="row g-5">
{% for actuality in actualities %}
<div class="col-md-6 wow slideInUp" data-wow-delay="0.1s">
<div class="blog-item bg-light rounded overflow-hidden">
<div class="blog-img position-relative overflow-hidden">
<img class="img-fluid" src="{{ vich_uploader_asset(actuality, 'imageFile') }}" >
<a class="position-absolute top-0 start-0 bg-primary text-white rounded-end mt-5 py-2 px-4" href="">{{actuality.categories.name}}</a>
</div>
<div class="p-4">
<div class="d-flex mb-3">
<small><i class="far fa-calendar-alt text-primary me-2"></i>{{actuality.createdAt|date("d/m/Y ") }}</small>
</div>
<h4 class="mb-3">{{ actuality.title }}</h4>
<p>{{ actuality.text[:150] ~ (actuality.text|length > 150 ? '...' : '') }}</p>
<a class="text-uppercase" href="{{ path('app_article', {'id': actuality.id}) }}">En savoir plus <i class="bi bi-arrow-right"></i></a>
</div>
</div>
</div>
{% else %}
<center> <h4>Aucun articles trouvés</h4> </center>
{% endfor %}
</div>
</div>
<!-- Blog list End -->
<!-- Sidebar Start -->
<div class="col-lg-4">
<!-- Search Form Start -->
<div class="mb-5 wow slideInUp" data-wow-delay="0.1s">
<div class="input-group">
<input type="text" class="form-control p-3" placeholder="Recherche">
<button class="btn btn-primary px-4"><i class="bi bi-search"></i></button>
</div>
</div>
<!-- Search Form End -->
<!-- Category Start -->
<div class="mb-5 wow slideInUp" data-wow-delay="0.1s">
<div class="section-title section-title-sm position-relative pb-3 mb-4">
<h3 class="mb-0">Categories</h3>
</div>
<div class="link-animated d-flex flex-column justify-content-start">
<a href="{{ path('app_actu') }}" class="h5 fw-semi-bold bg-light rounded py-2 px-3 mb-2">Toutes</a>
{% for category in categories %}
<a href="{{ path('app_actu', {'category': category.id}) }}" class="h5 fw-semi-bold bg-light rounded py-2 px-3 mb-2">{{ category.name }}</a>
{% endfor %}
</div>
</div>
<!-- Category End -->
<!-- Recent Post Start -->
<div class="mb-5 wow slideInUp custom-div">
<div class="section-title section-title-sm position-relative pb-3 mb-4">
<h3 class="mb-0">Publications récentes</h3>
</div>
{% for actuality in actualities %}
<div class="d-flex rounded overflow-hidden mb-3">
<img class="img-fluid" src="{{ vich_uploader_asset(actuality, 'imageFile') }}" style="width: 100px; height: 100px; object-fit: cover;" alt="">
<a href="" style="width: 400px"class="h5 fw-semi-bold d-flex align-items-center bg-light px-3 mb-0">{{actuality.title }}</a>
</div>
{% endfor %}
</div>
</div>
<!-- Sidebar End -->
</div>
</div>
</div>
<!-- Blog End -->
<script>
document.addEventListener("DOMContentLoaded", function() {
const categoryLinks = document.querySelectorAll('.category-link');
categoryLinks.forEach(link => {
link.addEventListener('click', function(event) {
event.preventDefault(); // Empêche le comportement par défaut du lien
const categoryId = this.getAttribute('data-category-id');
// Envoi d'une requête au serveur pour récupérer les articles par catégorie
fetch(`/get_articles_by_category/${categoryId}`)
.then(response => response.json())
.then(data => {
// Manipulation du DOM pour afficher les articles
// Vous pouvez mettre à jour votre contenu avec les articles récupérés ici
console.log(data); // data contient les articles de la catégorie
})
.catch(error => {
console.error('Une erreur s\'est produite:', error);
});
});
});
});
</script>
{% endblock %}