templates/search/results.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}Recherche{% if query %} - {{ query }}{% endif %} - ActuFake{% endblock %}
  3. {% block body %}
  4. <div class="container my-5">
  5.     <h1 class="mb-4">
  6.         <i class="fas fa-search"></i> Recherche
  7.     </h1>
  8.     <div class="row mb-4">
  9.         <div class="col-md-8">
  10.             <form method="get" action="{{ path('search') }}" class="input-group">
  11.                 <input type="text" 
  12.                        name="q" 
  13.                        value="{{ query }}" 
  14.                        class="form-control form-control-lg" 
  15.                        placeholder="Rechercher un article...">
  16.                 <button type="submit" class="btn btn-dark">
  17.                     <i class="fas fa-search"></i> Rechercher
  18.                 </button>
  19.             </form>
  20.         </div>
  21.         <div class="col-md-4">
  22.             <select name="category" class="form-select form-select-lg" onchange="this.form.submit()">
  23.                 <option value="">Toutes les catégories</option>
  24.                 {% for cat in categories %}
  25.                 <option value="{{ cat.slug }}" {% if category and category.id == cat.id %}selected{% endif %}>
  26.                     {{ cat.name }}
  27.                 </option>
  28.                 {% endfor %}
  29.             </select>
  30.         </div>
  31.     </div>
  32.     {% if query %}
  33.     <p class="text-muted mb-4">
  34.         Résultats pour <strong>"{{ query }}"</strong>
  35.         {% if category %} dans <strong>{{ category.name }}</strong>{% endif %}
  36.     </p>
  37.     <div class="row">
  38.         {% for article in results %}
  39.         <div class="col-md-6 mb-4">
  40.             <div class="card article-card h-100">
  41.                 {% if article.featuredImage %}
  42.                 {% set image_path = article.featuredImage.path starts with '/' ? article.featuredImage.path|slice(1) : article.featuredImage.path %}
  43.                 <img src="{{ base_path }}/{{ image_path }}" class="card-img-top" alt="{{ article.title }}">
  44.                 {% endif %}
  45.                 <div class="card-body">
  46.                     <span class="category-badge">{{ article.category.name }}</span>
  47.                     <h5 class="card-title mt-2">
  48.                         <a href="{{ path('article_show', {slug: article.slug}) }}" class="text-decoration-none text-dark">
  49.                             {{ article.title }}
  50.                         </a>
  51.                     </h5>
  52.                     <p class="card-text">{{ article.excerpt|slice(0, 150) }}...</p>
  53.                     <p class="card-text">
  54.                         <small class="text-muted">
  55.                             <i class="fas fa-calendar"></i> {{ article.publishedAt|date('d/m/Y') }}
  56.                         </small>
  57.                     </p>
  58.                 </div>
  59.             </div>
  60.         </div>
  61.         {% else %}
  62.         <div class="col-12">
  63.             <div class="alert alert-info">
  64.                 <i class="fas fa-info-circle"></i>
  65.                 Aucun résultat trouvé pour votre recherche.
  66.             </div>
  67.         </div>
  68.         {% endfor %}
  69.     </div>
  70.     {% if results.pageCount > 1 %}
  71.     <div class="navigation mt-4">
  72.         {{ knp_pagination_render(results) }}
  73.     </div>
  74.     {% endif %}
  75.     {% endif %}
  76. </div>
  77. {% endblock %}