NextEvents.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {namespace v=FluidTYPO3\Vhs\ViewHelpers}
  2. {namespace ot=Opentalent\OtTemplating\ViewHelpers}
  3. <f:comment><!-- Next events --></f:comment>
  4. <f:comment><!-- Get the events page' uid if the page is found --></f:comment>
  5. <v:variable.set value="{ot:eventsPage.getId()}" name="eventsPageUid"/>
  6. <div class="ot-box ot-events">
  7. <div class="events-list">
  8. <header>
  9. <h3>Nos prochains évènements</h3>
  10. </header>
  11. <ot:events.getNext as="events"
  12. organizationId="{settings.organizationId}"
  13. limit="{settings.eventsLimit}"
  14. period="{settings.eventsPeriod}">
  15. <f:for each="{events}" as="event">
  16. <div class="event-card">
  17. <div class="event-poster">
  18. <f:if condition="{event.image}">
  19. <f:then>
  20. <img src='{event.image}' alt="poster" />
  21. </f:then>
  22. <f:else>
  23. <f:image src="EXT:ot_templating/Resources/Public/media/event-default.jpg" alt="poster" />
  24. </f:else>
  25. </f:if>
  26. </div>
  27. <div class="event-summary">
  28. <span class="event-name">
  29. {event.name}
  30. </span>
  31. <span class="event-date">
  32. {f:format.date(date: event.datetimeStart,
  33. format: "\l\e d-m-Y \à H\hi")}
  34. </span>
  35. <f:if condition="{eventsPageUid} > 0"><f:then>
  36. <span class="event-see">
  37. <f:link.action pageUid="{eventsPageUid}" action="show" arguments="{eventId: event.id}">
  38. Plus d'infos
  39. </f:link.action>
  40. </span>
  41. </f:then></f:if>
  42. </div>
  43. </div>
  44. </f:for>
  45. <f:if condition="{events -> f:count()} == 0">
  46. <f:then>
  47. <span class="no-events"><p>Aucun évènement dans les prochaines semaines</p></span>
  48. </f:then>
  49. </f:if>
  50. </ot:events.getNext>
  51. <footer>
  52. <f:if condition="{eventsPageUid} > 0"><f:then>
  53. <div class="event-see-all">
  54. <f:link.page pageUid="{eventsPageUid}">
  55. Voir tous les évènements
  56. </f:link.page>
  57. </div>
  58. </f:then></f:if>
  59. </footer>
  60. </div>
  61. <v:condition.variable.isset name="networkEvents">
  62. <div class="events-list">
  63. <header>
  64. <h3>Prochains événements de notre réseau</h3>
  65. </header>
  66. <ot:events.getNext as="networkEvents"
  67. organizationId="{settings.organizationId}"
  68. limit="{settings.eventsLimit}"
  69. period="{settings.eventsPeriod}"
  70. fromParents="1" >
  71. <f:for each="{networkEvents}" as="event">
  72. <div class="event-card">
  73. <div class="event-poster">
  74. <f:if condition="{event.image}">
  75. <f:then>
  76. <img src='{event.image}' alt="poster" />
  77. </f:then>
  78. <f:else>
  79. <f:image src="EXT:ot_templating/Resources/Public/media/event-default.jpg" alt="poster" />
  80. </f:else>
  81. </f:if>
  82. </div>
  83. <div class="event-summary">
  84. <span class="event-name">
  85. {event.name}
  86. </span>
  87. <span class="event-date">
  88. {f:format.date(date: event.datetimeStart,
  89. format: "\l\e d-m-Y \à H\hi")}
  90. </span>
  91. <span class="event-see">
  92. <a href="https://{event.subDomain}.opentalent.fr" target="_blank">Plus d'infos</a>
  93. </span>
  94. </div>
  95. </div>
  96. </f:for>
  97. <f:if condition="{networkEvents -> f:count()} == 0">
  98. <f:then>
  99. <span class="no-events"><p>Aucun évènement dans les prochaines semaines</p></span>
  100. </f:then>
  101. </f:if>
  102. </ot:events.getNext>
  103. </div>
  104. </v:condition.variable.isset>
  105. <v:condition.variable.isset name="structuresEvents">
  106. <div class="events-list">
  107. <header>
  108. <h3>Prochains événements de nos structures</h3>
  109. </header>
  110. <ot:events.getNext as="structuresEvents"
  111. organizationId="{settings.organizationId}"
  112. limit="{settings.eventsLimit}"
  113. period="{settings.eventsPeriod}"
  114. fromChildren="1" >
  115. <f:for each="{structuresEvents}" as="event">
  116. <div class="event-card">
  117. <div class="event-poster">
  118. <f:if condition="{event.image}">
  119. <f:then>
  120. <img src='{event.image}' alt="poster" />
  121. </f:then>
  122. <f:else>
  123. <f:image src="EXT:ot_templating/Resources/Public/media/event-default.jpg" alt="poster" />
  124. </f:else>
  125. </f:if>
  126. </div>
  127. <div class="event-summary">
  128. <span class="event-name">
  129. {event.name}
  130. </span>
  131. <span class="event-date">
  132. {f:format.date(date: event.datetimeStart,
  133. format: "\l\e d-m-Y \à H\hi")}
  134. </span>
  135. <span class="event-see">
  136. <a href="https://{event.subDomain}.opentalent.fr" target="_blank">Plus d'infos</a>
  137. </span>
  138. </div>
  139. </div>
  140. </f:for>
  141. <f:if condition="{structuresEvents -> f:count()} == 0">
  142. <f:then>
  143. <span class="no-events"><p>Aucun évènement dans les prochaines semaines</p></span>
  144. </f:then>
  145. </f:if>
  146. </ot:events.getNext>
  147. </div>
  148. </v:condition.variable.isset>
  149. </div>