templates/theme/default/page_cms.html.twig line 1

Open in your IDE?
  1. {% extends "theme/"~ app.request.server.get('APP_THEME') ~"/partials/base.html.twig" %}
  2. {% block stylesheets %}
  3. {{parent()}}
  4. {% if page.customstyle is not empty %}
  5. <style>{{page.customstyle|raw}}</style>
  6. {% endif %}
  7. {% endblock %}
  8. {% block body %}
  9. <div id="{{id_page}}" class="page-cms">
  10. {% if breadcrumb is defined and breadcrumb is not empty %}
  11. {{ include ('theme/'~ app.request.server.get('APP_THEME') ~'/partials/breadcrumb.html.twig',{
  12. breadcrumb: breadcrumb,
  13. titre_page: titre_page|default(''),
  14. image_bandeau: image_bandeau,
  15. image_bandeau_alt:image_bandeau_alt
  16. }, with_context = false)}}
  17. {% endif %}
  18. <div class="container-fluid content-wrapper">
  19. <div class="content-area">
  20. <div class="row content_page">
  21. <div class="col-sm-12">
  22. {% if page.image and page.showimageprincipal == false %}
  23. {% set position_image = ({ "1": "d-flex justify-content-center", "2": "d-flex justify-content-start", "3": "d-flex justify-content-end" }[page.positionimage]|default("d-flex justify-content-center")) %}
  24. <div class="{{position_image}}">
  25. <div class="col-image-post">
  26. <img class="img-fluid principal-img" src="{{asset_image(page.image,'medium',['1024x/uploads','800x/uploads','800x/uploads'])}}" alt="{{page.imagealt is not empty ? page.imagealt|raw : page.title|raw}}"/>
  27. </div>
  28. </div>
  29. {% endif %}
  30. {% set lien_site = "<a href="~websiteUrl()~" title="~site_parameters.getParameters().titre~">"~websiteUrl()~"</a>" %}
  31. {% if page.content is not empty %}
  32. <div class="texte-content">{{ContentChangeByMotCle(page.id,page.content|replace({'[NDD]':lien_site}))|shortcode|raw}}</div>
  33. {% endif %}
  34. {% if page.tarifs is not empty %}
  35. {% set data_tarif = unserialize(page.tarifs) %}
  36. <div class="tarifs_accordeon">
  37. {% for item in data_tarif %}
  38. <div class="tarifs_accordeon_title"><span class="title">{{item.globalTitle}}</span> <span class="icon-plus"></span></div>
  39. {% if item.tables is not empty %}
  40. <div class="tarifs_accordeon_content">
  41. {% for tab in item.tables %}
  42. <div class="tarifs_tab">
  43. <div class="tarif_tab_title">{{tab.tableTitle}}</div>
  44. {% if tab.tableDescription is defined and tab.tableDescription is not empty %}
  45. <div class="tarif_tab_description">{{tab.tableDescription}}</div>
  46. {% endif %}
  47. <div class="tarif_tab_content">
  48. {% if tab.rows is defined and tab.rows is not empty %}
  49. {% for row_item in tab.rows %}
  50. <div class="tarif_tab_line">
  51. <div class="tarif_tab_line_title">{{row_item.titre}}</div>
  52. <div class="tarif_tab_line_subtitle">{{row_item.sousTitre}}</div>
  53. <div class="tarif_tab_line_price">{{row_item.price}}</div>
  54. </div>
  55. {% endfor %}
  56. {% endif %}
  57. </div>
  58. </div>
  59. {% endfor %}
  60. </div>
  61. {% endif %}
  62. {% endfor %}
  63. </div>
  64. {% endif %}
  65. {% if page.typelien != 1 %}
  66. {% if page.typelien == '4' %}
  67. <div class="text-center py-2">
  68. <a href="tel:{{page.telephone}}" class="btn btn-theme py-3 px-5 mt-3 btn-plus">{{page.titrelien}}</a>
  69. </div>
  70. {% elseif page.typelien == '2' %}
  71. <div class="text-center py-2">
  72. <a href="{{resolveInternalSlugLink(page.lieninterne)}}" class="btn btn-theme py-3 px-5 mt-3 btn-plus">{{page.titrelien}}</a>
  73. </div>
  74. {% elseif page.typelien == '3' %}
  75. <div class="text-center py-2">
  76. <a href="{{page.lienexterne}}" target="_blank" class="btn btn-theme py-3 px-5 mt-3 btn-plus">{{page.titrelien}}</a>
  77. </div>
  78. {% endif %}
  79. {% endif %}
  80. </div>
  81. {% if page.urlvideo is not empty %}
  82. <div class="col-sm-12">
  83. <div class="contenu-video">
  84. {% set id_video_externe = extract_youtube_id(page.urlvideo) %}
  85. <a class="video-thumbnail m-0" href="{{page.urlvideo}}" data-fancybox="video">
  86. <img src="https://img.youtube.com/vi/{{id_video_externe}}/maxresdefault.jpg" class="img-fluid" alt="youtube vidéo"/>
  87. </a>
  88. </div>
  89. </div>
  90. {% endif %}
  91. {% if galleries and galleries is not empty and twig_galerie is defined and twig_galerie is not empty %}
  92. <div class="col-sm-12">
  93. {{ include(template_from_string(twig_galerie)) }}
  94. </div>
  95. {% endif %}
  96. </div>
  97. </div>
  98. </div>
  99. {% if blocs is defined %}
  100. {{ include ('theme/'~ app.request.server.get('APP_THEME') ~'/partials/bloc_render.html.twig',{blocs: blocs}, with_context = false)}}
  101. {% endif %}
  102. {% if post_associer is defined and post_associer is not empty %}
  103. <div class="container-fluid content-wrapper py-5">
  104. <div class="row">
  105. <div class="col-sm-12">
  106. <h2 class="title mb-5">
  107. Découvrez d'autres articles
  108. </h2>
  109. <div class="article-list" data-columns="3" data-style="compact">
  110. {% for key,item in post_associer %}
  111. <div class="col article-item list-item ">
  112. <div class="card">
  113. <div class="bx-image">
  114. {% if item.image %}
  115. <img data-src="{{asset_image(item.image,'medium',['1024x/uploads','800x/uploads','800x/uploads'])}}" class="card-img-top lazyload" alt="{{item.title}}">
  116. {% else %}
  117. <img data-src="{{asset('/uploads/media-site/'~ site_parameters.getParameters().imagevide)}}" class="card-img-top lazyload" alt="{{item.title}}">
  118. {% endif %}
  119. </div>
  120. <div class="card-body">
  121. <div class="article-content">
  122. {% set link = path('page',{slug:item.slug }) %}
  123. <h3 class="card-title"><a href="{{link}}">{{item.title}}</a></h3>
  124. {% if item.showresume %}
  125. {% set texte_content = cutText(item.summary) %}
  126. {% else %}
  127. {% set texte_content = cutText(item.content) %}
  128. {% endif %}
  129. {% if texte_content is not empty %}
  130. <p class="card-text">{{texte_content|raw}}</p>
  131. {% endif %}
  132. </div>
  133. {% set link = path('page',{slug:item.slug }) %}
  134. <div class="action-article">
  135. {% set titre_lien = item.titlebottonaffichage|default('label.btn_plus'|trans({}, 'textes')) %}
  136. <a href="{{link}}" class="btn btn-theme">{{titre_lien}}</a>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. {% endfor %}
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. {% elseif post_aleatoire is defined and post_aleatoire is not empty %}
  147. <div class="article-random">
  148. <div class="container-fluid content-wrapper">
  149. <div class="row">
  150. <div class="col-sm-12">
  151. <h2 class="title mb-5">
  152. Découvrez d'autres articles
  153. </h2>
  154. <div class="article-list" data-columns="3" data-style="compact">
  155. {% for key,item in post_aleatoire %}
  156. <div class="col article-item list-item ">
  157. <div class="card">
  158. <div class="bx-image">
  159. {% if item.image %}
  160. <img data-src="{{asset_image(item.image,'medium',['1024x/uploads','800x/uploads','800x/uploads'])}}" class="card-img-top lazyload" alt="{{item.title}}">
  161. {% else %}
  162. <img data-src="{{asset('/uploads/media-site/'~ site_parameters.getParameters().imagevide)}}" class="card-img-top lazyload" alt="{{item.title}}">
  163. {% endif %}
  164. </div>
  165. <div class="card-body">
  166. <div class="article-content">
  167. {% set link = path('page',{slug:item.slug }) %}
  168. <h3 class="card-title"><a href="{{link}}">{{item.title}}</a></h3>
  169. {% if item.showresume %}
  170. {% set texte_content = cutText(item.summary) %}
  171. {% else %}
  172. {% set texte_content = cutText(item.content) %}
  173. {% endif %}
  174. {% if texte_content is not empty %}
  175. <p class="card-text">{{texte_content|raw}}</p>
  176. {% endif %}
  177. </div>
  178. {% set link = path('page',{slug:item.slug }) %}
  179. <div class="action-article">
  180. {% set titre_lien = item.titlebottonaffichage|default('label.btn_plus'|trans({}, 'textes')) %}
  181. <a href="{{link}}" class="btn btn-theme">{{titre_lien}}</a>
  182. </div>
  183. </div>
  184. </div>
  185. </div>
  186. {% endfor %}
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. {% endif %}
  193. </div>
  194. {% endblock %}
  195. {% block javascripts %}
  196. {{parent()}}
  197. {% endblock %}