templates/blocks/articles.html.twig line 1

  1. {% set introClass = "team-project-section" %}
  2. <div class="preview-article mt-1em">
  3. {% if block.articles_smart_content is defined and block.articles_smart_content is not empty and block.articles_smart_content|length > 0 %}
  4. {% if block.filter == "fiches_territoires" %}
  5. {% include "filter/sub-filters/type-territoire.html.twig" %}
  6. {% endif %}
  7. <div class="dflex jcsb button-container fwwrap">
  8. <div class="dflex jcsb w100 fwwrap filter-count">
  9. {% if block.filter != "fiches_territoires" and block.filter != "experiences" %}
  10. <button id="filter" class="bgblue cwhite shadow-button jcsa br6 fs14 fw400 lh20 visible {% if block.filter == 'experiences' %} filter-experiences-custom {% else %} toggleable{% endif %} {{ introClass }}">
  11. <img src="/resources/img/filter-icon.svg" width="14" height="16" alt="" loading="lazy">
  12. Filtrer
  13. </button>
  14. {% endif %}
  15. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  16. {% set placeholder = '' %}
  17. {% if block.filter == 'fiches_territoires' %}
  18. {% set placeholder = 'Recherchez des territoires' %}
  19. {% endif %}
  20. {% if block.filter == 'experiences' %}
  21. {% set placeholder = 'Recherchez des expériences' %}
  22. {% endif %}
  23. <div class="dflex w100">
  24. <div class="prelative document-search-cont">
  25. <input placeholder="{{ placeholder }}" id="document-search" name="q" class="br6 p-1em">
  26. <div class="icon-cont pabsolute dflex aic jcc">
  27. <img class="loupe" src="/resources/img/search-icon.svg" alt="Icone de recherche loupe" style="pointer-events: none;" width="16" height="16" loading="lazy">
  28. </div>
  29. </div>
  30. {% if block.filter == 'experiences' %}
  31. {% include "filter/experiences_filter.html.twig" %}
  32. {% endif %}
  33. </div>
  34. {% endif %}
  35. </div>
  36. {% set elems = 9 %}
  37. {% if block.filter != "fiches_territoires" and block.filter != "experiences" %}
  38. <div class="toggleable visible aic">
  39. {% set elems = 9 %}
  40. <label for="elems-number">
  41. Éléments par page :
  42. </label>
  43. {% if block.filter == "articles" %}
  44. {% set elems = 9 %}
  45. {% elseif block.filter == "agenda" %}
  46. {% set elems = 8 %}
  47. {% elseif block.filter == "aapami" %}
  48. {% set elems = 12 %}
  49. {% elseif block.filter == "offre" %}
  50. {% set elems = 10 %}
  51. {% elseif block.filter == "newsletters" or block.filter == "analyses" or block.filter == "guides_outils" %}
  52. {% set elems = 6 %}
  53. {% endif %}
  54. {% include "blocks/sub-blocks/elems-number.html.twig" with {number: elems} %}
  55. </div>
  56. {% endif %}
  57. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  58. <div class="switch-map-cont">
  59. <button class="switch-map-btn">Carte</button>
  60. </div>
  61. {% endif %}
  62. </div>
  63. {% set structure = '' %}
  64. {% if block.filter %}
  65. {% if block.filter == "annuaire" %}
  66. {% include "filter/annuaire_filter.html.twig" %}
  67. {% set structure = 'annuaire' %}
  68. {% elseif block.filter == "experiences" %}
  69. {% set structure = 'experiences' %}
  70. {% elseif block.filter == "fiches_territoires" %}
  71. {% set structure = 'fiches_territoires' %}
  72. {% elseif block.filter == "articles" %}
  73. {% include "filter/articles_filter.html.twig" %}
  74. {% set structure = 'articles' %}
  75. {% elseif block.filter == "guides_outils" %}
  76. {% include "filter/articles_filter.html.twig" %}
  77. {% set structure = 'guides_outils' %}
  78. {% elseif block.filter == "agenda" %}
  79. {% include "filter/agenda_filter.html.twig" %}
  80. {% set structure = 'agenda' %}
  81. {% elseif block.filter == "offre" %}
  82. {% include "filter/offre_filter.html.twig" %}
  83. {% set structure = 'offres' %}
  84. {% elseif block.filter == "aapami" %}
  85. {% include "filter/aapami_filter.html.twig" %}
  86. {% set structure = 'aapami' %}
  87. {% elseif block.filter == "analyses" %}
  88. {% include "filter/articles_filter.html.twig" %}
  89. {% set structure = 'analyses' %}
  90. {% elseif block.filter == "newsletters" %}
  91. {% include "filter/newsletter_filter.html.twig" %}
  92. {% set structure = 'newsletters' %}
  93. {% endif %}
  94. {% endif %}
  95. {% if app.request.get('q') is not empty %}
  96. {% set q = app.request.get('q') %}
  97. {% else %}
  98. {% set q = '' %}
  99. {% endif %}
  100. {% if app.request.get('elems') is not empty %}
  101. {% set elems = app.request.get('elems') %}
  102. {% endif %}
  103. {% if app.request.get('theme') is not empty %}
  104. {% set t = app.request.get('theme') %}
  105. {% else %}
  106. {% set t = '' %}
  107. {% endif %}
  108. {% if app.request.get('start') is not empty %}
  109. {% set start = app.request.get('start') %}
  110. {% else %}
  111. {% set start = '' %}
  112. {% endif %}
  113. {% if app.request.get('end') is not empty %}
  114. {% set end = app.request.get('end') %}
  115. {% else %}
  116. {% set end = '' %}
  117. {% endif %}
  118. {% if app.request.get('page') is not empty %}
  119. {% set page = app.request.get('page') %}
  120. {% else %}
  121. {% set page = 1 %}
  122. {% endif %}
  123. {% if app.request.get('format') is not empty %}
  124. {% set f = app.request.get('format') %}
  125. {% else %}
  126. {% set f = '' %}
  127. {% endif %}
  128. {% set typeTerritoire = '' %}
  129. {% if app.request.get('type_territoire') is not empty %}
  130. {% set typeTerritoire = app.request.get('type_territoire') %}
  131. {% else %}
  132. {% if block.filter == "fiches_territoires" %}
  133. {% if app.request.get('type') is defined and app.request.get('type') is not empty %}
  134. {% set typeTerritoire = app.request.get('type') %}
  135. {% else %}
  136. {% set typeTerritoire = 'contractualisation' %}
  137. {% endif %}
  138. {% endif %}
  139. {% endif %}
  140. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  141. <div class="dflex territoire-container">
  142. {% endif %}
  143. <div class="w100 h100 prelative articles-cont">
  144. <div id="articles-container" class="dflex fdc" data-type="{{ structure }}">
  145. {{ render(controller(
  146. 'App\\Controller\\Website\\ApiSearchController::queryAction',
  147. { "q": q, "elems": elems, "page": page, "start": start, "end" : end, "theme": t, 'structure': structure, 'format': f, "type_territoire": typeTerritoire }
  148. )) }}
  149. </div>
  150. <div class="w100 h100 pabsolute with-loader">
  151. <div class="lds-dual-ring pabsolute form-loader" id="loader"></div>
  152. {% set loader_text_placeholder = "Toutes les expériences" %}
  153. {% if block.filter == "fiches_territoires" %}
  154. {% set loader_text_placeholder = "Toutes les fiches territoires" %}
  155. {% endif %}
  156. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  157. <div class="loader-text pabsolute" id="loader-text">
  158. <p>{{ loader_text_placeholder }}
  159. sont en route (quelque part dans la datasphère). Patientez juste quelques instants et c'est parti pour votre recherche !</p>
  160. </div>
  161. {% endif %}
  162. </div>
  163. </div>
  164. {% endif %}
  165. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  166. <div id="map-div">
  167. {% set territory_list_set = true %}
  168. {% if block.filter == "experiences" %}
  169. {% set territory_list_set = false %}
  170. {% endif %}
  171. {% include "blocks/map.html.twig" with {'territory_list_set': territory_list_set} %}
  172. </div>
  173. {% endif %}
  174. {% if block.filter == "fiches_territoires" or block.filter == "experiences" %}
  175. </div>
  176. {% endif %}
  177. </div>