NextEvents.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. <v:variable.set value="{ot:eventsPage.getId(children: 1)}" name="childrenEventsPageUid"/>
  7. <v:variable.set value="{f:uri.image(src: 'EXT:ot_templating/Resources/Public/media/event-default-modern.jpg')}" name="defaultImage"/>
  8. <f:comment><!-- Should we display the section even if there is no event to show?--></f:comment>
  9. <f:if condition="{fromParents}||{fromChildren}">
  10. <f:then>
  11. <v:variable.set value="0" name="showEmpty"/>
  12. </f:then>
  13. <f:else>
  14. <v:variable.set value="1" name="showEmpty"/>
  15. </f:else>
  16. </f:if>
  17. <section class="mt-50 events">
  18. <div class="container">
  19. <div class="row">
  20. <ot:events.getNext as="eventsCollection"
  21. organizationId="{settings.organizationId}"
  22. limit="{settings.eventsLimit}"
  23. period="{settings.eventsPeriod}"
  24. fromParents="{fromParents}"
  25. fromChildren="{fromChildren}">
  26. <f:if condition="{eventsCollection.totalItems} > 0 || {showEmpty}">
  27. <div class="col-lg-12 col-md-12">
  28. <div class="text-center">
  29. <f:if condition="{fromParents}">
  30. <f:then>
  31. <h2 class="mb-50"><f:translate key="next-events-of-our-network"/></h2>
  32. </f:then>
  33. <f:else if="{fromChildren}">
  34. <h2 class="mb-50"><f:translate key="next-events-of-our-structures"/></h2>
  35. </f:else>
  36. <f:else>
  37. <h2 class="mb-50"><f:translate key="our-next-events"/></h2>
  38. </f:else>
  39. </f:if>
  40. </div>
  41. </div>
  42. <f:for each="{eventsCollection.members}" as="event">
  43. <div class="card-container col-lg-3 col-md-6 col-sm-12 sm-mb-30">
  44. <div class="card border-0 theme-bg o-hidden h-100">
  45. <f:if condition="{fromParents}||{fromChildren}">
  46. <f:then>
  47. <a href="https://{event.subDomain}.opentalent.fr" target="_blank"> >
  48. </f:then>
  49. <f:else if="{eventsPageUid} > 0">
  50. <a href="{f:uri.page(pageUid: eventsPageUid, additionalParams: '{eventId: event.id}')}">
  51. </f:else>
  52. <f:else>
  53. <a href="#">
  54. </f:else>
  55. </f:if>
  56. <div class="img-container">
  57. <img class="img-fluid"
  58. src="{f:if(condition: event.image,
  59. then: event.image,
  60. else: defaultImage)}"/>
  61. </div>
  62. <div class="p-4">
  63. <h4 class="text-white">{event.name}</h4>
  64. <p class="mb-0 pb-0 text-white">
  65. {f:format.date(date: event.datetimeStart,
  66. format: "\l\e d-m-Y \à H\hi")} - {event.city}
  67. </p>
  68. </div>
  69. </a>
  70. </div>
  71. </div>
  72. </f:for>
  73. <f:if condition="{fromParents}">
  74. <f:then>
  75. </f:then>
  76. <f:else if="{fromChildren}">
  77. <f:if condition="{childrenEventsPageUid} > 0"><f:then>
  78. <div class="card-container col-lg-3 col-md-6 col-sm-12 sm-mb-30">
  79. <div class="card border-0 theme-bg o-hidden h-100">
  80. <f:link.page pageUid="{childrenEventsPageUid}" class="p-4 more-events">
  81. <h2 class="text-white"> <i class="fa fa-plus fa-3x"></i> </h2>
  82. <h3 class="text-white"> <f:translate key="see-all-events"/> </h3>
  83. </f:link.page>
  84. </div>
  85. </div>
  86. </f:then></f:if>
  87. </f:else>
  88. <f:else>
  89. <f:if condition="{eventsPageUid} > 0"><f:then>
  90. <div class="card-container col-lg-3 col-md-6 col-sm-12 sm-mb-30">
  91. <div class="card border-0 theme-bg o-hidden h-100">
  92. <f:link.page pageUid="{eventsPageUid}" class="p-4 more-events">
  93. <h2 class="text-white"> <i class="fa fa-plus fa-3x"></i> </h2>
  94. <h3 class="text-white"> <f:translate key="see-all-events"/> </h3>
  95. </f:link.page>
  96. </div>
  97. </div>
  98. </f:then></f:if>
  99. </f:else>
  100. </f:if>
  101. </f:if>
  102. </ot:events.getNext>
  103. </div>
  104. </div>
  105. </section>