templates/front/Search/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% trans_default_domain 'Search' %}
  3. {% block stylesheets %}
  4.   {{ parent() }}
  5.   {{ encore_entry_link_tags('pages') }}
  6.   {{ encore_entry_link_tags('definitions') }}
  7. {% endblock %}
  8. {% block body %}
  9.   <div id="breadcrumbToPlace" class="container">
  10.     <div class="links">
  11.       <a href="{{ path('app_homepage') }}"><i class="fa-solid fa-house"></i></a>
  12.       <span> / </span>
  13.       <span class="active theme-page">résultats de votre recherche</span>
  14.     </div>
  15.     <div class="title">
  16.       <h1 class="titleTraitLeft">Résultats de votre recherche</h1>
  17.     </div>
  18.   </div>
  19.   <div id="content" class="container reverse">
  20.     <div id="sections">
  21.       <h2>Il y a <span class="blue">{{ result.lengthTotal }}</span> résultat{{ (result.lengthTotal > 1) ? "s" : '' }}
  22.         pour
  23.         <span class="orange">"{{ query }}"</span>
  24.       </h2>
  25.       {% for key, group in result %}
  26.         {% if key != 'lengthTotal' %}
  27.           <div id="searchAccordeon{{ key }}" class="c-accordion" data-component="accordion">
  28.             <div role="heading" aria-level="3">
  29.               <div id="accordion-trigger-{{ loop.index0 }}" class="c-accordion__trigger"
  30.                    {% if (key == 'actualities' and pageDefined.actualities)
  31.                       or (key == 'pages' and pageDefined.pages)
  32.                       or (key == 'theses' and pageDefined.theses)
  33.                       or (key == 'publications' and pageDefined.publications)
  34.                      or (key == 'definitions' and pageDefined.publications)
  35.                    %}
  36.                      data-open="true"
  37.                    {% endif %}
  38.                    data-controls="accordion-panel-{{ loop.index0 }}">
  39.                 <h2>{{ group.title|capitalize }} ({{ group.length }})</h2>
  40.                 <i class="icon fa-solid fa-chevron-right"></i>
  41.               </div>
  42.             </div>
  43.             <div id="accordion-panel-{{ loop.index0 }}" class="c-accordion__panel">
  44.               <div class="containerParagraphs">
  45.                 {% if key == "publications" or key == 'theses' %}
  46.                   <div class="paragraph publications">
  47.                     <div class="container-publications">
  48.                       {% for item in group.data %}
  49.                         <div class="publication no-theme" data-link>
  50.                           <div class="content">
  51.                             <span class="subTitle">{{ formatDateMoisAnnee(item.date) }}</span>
  52.                             <h3>{{ item.title }}</h3>
  53.                             <p class="author">{{ item.author }}</p>
  54.                             {% if key == 'publications' %}
  55.                               <a href="{{ path('app_publication_show', {'slug': item.slug}) }}"></a>
  56.                             {% elseif key == 'theses' %}
  57.                               <a href="{{ path('app_these_show', {'slug': item.slug}) }}"></a>
  58.                             {% endif %}
  59.                           </div>
  60.                         </div>
  61.                       {% endfor %}
  62.                     </div>
  63.                   </div>
  64.                 {% elseif key == "actualities" %}
  65.                   <div class="container-acualities-list">
  66.                     {% for actuality in group.data %}
  67.                       <div class="actuality" data-link>
  68.                         <div class="container-img">
  69.                           {% if actuality.illustrationName and actuality.illustrationName != "defaultactu.png" %}
  70.                             <img src="{{ vich_uploader_asset(actuality, 'illustrationFile') }}" alt="{{ actuality.illustrationAlt }}">
  71.                           {% else %}
  72.                             <img src="{{ asset('images/defaultactu.png') }}" alt="Illustration actualité">
  73.                           {% endif %}
  74.                           {% if actuality.labels|length > 0 %}
  75.                             <span class="tag">{{ actuality.labels[0].name }}</span>
  76.                           {% endif %}
  77.                         </div>
  78.                         <div class="content">
  79.                           <span class="subTitle">{{ actuality.category }} - {{ formatDateMoisAnnee(actuality.createdAt) }}</span>
  80.                           <h2>{{ actuality.title }}</h2>
  81.                           <p>{{ actuality.resume }}</p>
  82.                           <a href="{{ path('app_actuality_show', {'slug': actuality.slug}) }}" class="link-arrow right">
  83.                             Lire l'article
  84.                             <i class="fa-solid fa-chevron-right"></i>
  85.                           </a>
  86.                         </div>
  87.                       </div>
  88.                     {% endfor %}
  89.                   </div>
  90.                 {% elseif key == "pages" %}
  91.                   <div class="paragraph publications">
  92.                     <div class="container-publications">
  93.                       {% for item in group.data %}
  94.                         <div class="publication no-theme" data-link>
  95.                           <div class="content">
  96.                             <span class="subTitle">{{ item.themePublication ? "Les publications de la sfmg" : item.theme.name }}</span>
  97.                             <div class="containerTitle">
  98.                               <h3>{{ item.title }}</h3>
  99.                               {% if item.themePublication %}
  100.                                 <a href="{{ path('app_page_show', {'slugPage': item.slug, 'slugTheme': 'publication' }) }}">Voir la page <i class="fas fa-chevron-right"></i></a>
  101.                               {% else %}
  102.                                 <a href="{{ path('app_page_show', {'slugPage': item.slug, 'slugTheme': item.theme.slug }) }}">Voir la page <i class="fas fa-chevron-right"></i></a>
  103.                               {% endif %}
  104.                             </div>
  105.                           </div>
  106.                         </div>
  107.                       {% endfor %}
  108.                     </div>
  109.                   </div>
  110.                 {% elseif key == "definitions" %}
  111.                   <div class="definitions">
  112.                     <div class="container-letters">
  113.                       <div class="letter-accordion">
  114.                         <div class="container-definitions">
  115.                           {% for definition in group.data %}
  116.                             <div class="definition">
  117.                               <h3>{{ definition.name }}</h3>
  118.                               <div class="description">{{ definition.definition|raw }}</div>
  119.                               <div class="container-cta">
  120.                                 {% if definition.pdfName %}
  121.                                   <a href="{{ vich_uploader_asset(definition, 'pdfFile') }}" target="_blank"  class="btn default"><span>{{ definition.pdfLibelle ? definition.pdfLibelle : definition.pdfName }} - {{ definition.pdfExtension }} ({{ definition.pdfSize/1000 }}ko)</span></a>
  122.                                 {% endif %}
  123.                                 {% if definition.secondPdfName %}
  124.                                   <a href="{{ vich_uploader_asset(definition, 'secondPdfFile') }}" target="_blank"  class="btn default"><span>{{ definition.secondPdfLibelle ? definition.secondPdfLibelle : definition.secondPdfName }} - {{ definition.secondPdfExtension }} ({{ definition.secondPdfSize/1000 }}ko)</span></a>
  125.                                 {% endif %}
  126.                               </div>
  127.                             </div>
  128.                           {% endfor %}
  129.                         </div>
  130.                       </div>
  131.                     </div>
  132.                   </div>
  133.                 {% endif %}
  134.               </div>
  135.             </div>
  136.           </div>
  137.         {% endif %}
  138.       {% endfor %}
  139.     </div>
  140.     <div id="sidebar">
  141.       <div class="block filtersSearch">
  142.         <h2>
  143.           <span class="icon">
  144.             <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
  145.               <path d="M11.65 18.1926V25.4C11.65 27.2501 13.1498 28.75 15 28.75C16.8502 28.75 18.35 27.2502 18.35 25.4V18.1926C18.35 17.5959 18.5871 17.0236 19.009 16.6016L27.6517 7.95901C28.3549 7.25575 28.75 6.30192 28.75 5.30736V5C28.75 2.92893 27.0711 1.25 25 1.25H5C2.92893 1.25 1.25 2.92893 1.25 5V5.30736C1.25 6.30192 1.64509 7.25575 2.34835 7.95901L10.991 16.6017C11.4129 17.0236 11.65 17.5959 11.65 18.1926Z"
  146.                     stroke="#515462" stroke-width="1.5"/>
  147.             </svg>
  148.           </span>
  149.           Filtres
  150.         </h2>
  151.         <div class="links">
  152.           <button class="link-arrow filterSearchButton" data-target="searchAccordeonactualities" type="button">
  153.             <i class="fa-solid fa-chevron-right"></i>
  154.             Actualités ({{ result.actualities.length }})
  155.           </button>
  156.           <button class="link-arrow filterSearchButton" data-target="searchAccordeonpages" type="button">
  157.             <i class="fa-solid fa-chevron-right"></i>
  158.             Pages ({{ result.pages.length }})
  159.           </button>
  160.           <button class="link-arrow filterSearchButton" data-target="searchAccordeontheses" type="button">
  161.             <i class="fa-solid fa-chevron-right"></i>
  162.             Thèses ({{ result.theses.length }})
  163.           </button>
  164.           <button class="link-arrow filterSearchButton" data-target="searchAccordeonpublications" type="button">
  165.             <i class="fa-solid fa-chevron-right"></i>
  166.             Publications ({{ result.publications.length }})
  167.           </button>
  168.           <button class="link-arrow filterSearchButton" data-target="searchAccordeondefinitions" type="button">
  169.             <i class="fa-solid fa-chevron-right"></i>
  170.             Définitions ({{ result.definitions.length }})
  171.           </button>
  172.         </div>
  173.       </div>
  174.     </div>
  175.   </div>
  176. {% endblock %}
  177. {% block javascripts %}
  178.   {{ parent() }}
  179.   {{ encore_entry_script_tags('pages') }}
  180. {% endblock %}