templates/_snippets/footer_croisiland.html.twig line 1

Open in your IDE?
  1. {% import '_macros/sulu_media.html.twig' as suluMedia %}
  2. {% if sulu_snippet_load_by_area('footer_croisiland_area') is not null %}
  3. {% set base = sulu_snippet_load_by_area('footer_croisiland_area').content|replace_translate_variables %}
  4. {% else %}
  5. {% set base = '' %}
  6. {% endif %}
  7. {# URLS des Compagnies #}
  8. {% set allCompaniesUrl = '/croisieres' %}
  9. {% set detail = allCompaniesUrl ~ '?companies=' %}
  10. {# URLS des Destinations #}
  11. {% set allDestinationsUrl = '/croisieres' %}
  12. {% set detail2 = allDestinationsUrl ~ '?destinations=' %}
  13. {# URLS des Ports #}
  14. {% set allDeparturePortUrl = '/croisieres' %}
  15. {% set detail3 = allDeparturePortUrl ~ '?ports=' %}
  16. <div class="footer_section footer_1">
  17. <div class="container">
  18. <div class="row">
  19. <div class="col-md-4 col-xs-12 mb-3">
  20. {% if base is not empty and base.securepaiement is defined and base.securepaiement is not empty %}
  21. <div class="footer_subtitle">
  22. {{ 'website.ui.footer.title.secure_payment'|trans }}
  23. </div>
  24. <div class="d-flex justify-content-center flex-wrap">
  25. {% for item in base.securepaiement %}
  26. {% if item.logo %}
  27. {% set logoUrl = suluMedia.thumbnail_url(item.logo, app.request.locale, ['200x', '400x']) %}
  28. <a href="{{ (item.url) ? (item.url) : '#' }}" target="_blanck" rel="nofollow">
  29. <img src="{{ logoUrl }}" alt="{{ (item.alt) ? (item.alt) : '' }}" loading="lazy">
  30. </a>
  31. {% endif %}
  32. {% endfor %}
  33. </div>
  34. {% endif %}
  35. </div>
  36. <div class="col-md-4 col-xs-12 bordered mb-3">
  37. {% if base is not empty and base.waysofpaiement is defined and base.waysofpaiement is not empty %}
  38. <div class="footer_subtitle">
  39. {{ 'website.ui.footer.title.ways_payment'|trans }}<span class="asterisque red">*</span>
  40. </div>
  41. <div class="d-flex justify-content-center flex-wrap">
  42. {% for item in base.waysofpaiement %}
  43. {% if item.logo %}
  44. {% set logoUrl = suluMedia.thumbnail_url(item.logo, app.request.locale, ['200x', '400x']) %}
  45. <a href="{{ (item.url) ? (item.url) : '#' }}" target="_blanck" rel="nofollow">
  46. <img src="{{ logoUrl }}" alt="{{ (item.alt) ? (item.alt) : '' }}" loading="lazy">
  47. </a>
  48. {% endif %}
  49. {% endfor %}
  50. </div>
  51. {% endif %}
  52. </div>
  53. <div class="col-md-4 col-xs-12 mb-3">
  54. {% if base is not empty and base.garantiescheckbox is defined %}
  55. {% if base.garantiescheckbox %}
  56. <div class="footer_subtitle">
  57. {{ 'website.ui.footer.title.guarantees'|trans }}
  58. </div>
  59. <div class="d-flex justify-content-center flex-wrap">
  60. {% if base.guarantees2 is defined and base.guarantees2 is not empty %}
  61. {% for item in base.guarantees2 %}
  62. {% if item.logo %}
  63. {% set logoUrl = suluMedia.thumbnail_url(item.logo, app.request.locale, ['200x', '400x']) %}
  64. <a href="{{ (base.guaranteesPage is defined) ? (base.guaranteesPage) : '#' }}" class="logo">
  65. <img src="{{ logoUrl }}" alt="{{ (item.alt) ? (item.alt) : '' }}" loading="lazy">
  66. </a>
  67. {% endif %}
  68. {% endfor %}
  69. {% elseif base.guarantees is defined and base.guarantees is not empty %}
  70. {% for item in base.guarantees %}
  71. {% if item.logo %}
  72. {% set logoUrl = suluMedia.thumbnail_url(item.logo, app.request.locale, ['200x', '400x']) %}
  73. <a href="{{ (item.url) ? (item.url) : '#' }}" class="logo" target="_blanck" rel="nofollow">
  74. <img src="{{ logoUrl }}" alt="{{ (item.alt) ? (item.alt) : '' }}" loading="lazy">
  75. </a>
  76. {% endif %}
  77. {% endfor %}
  78. {% endif %}
  79. </div>
  80. {% endif %}
  81. {% endif %}
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. <div class="footer_section footer_2">
  87. <div class="container">
  88. <div class="d-flex justify-content-between newsletter">
  89. <div>
  90. <div class="footer_subtitle">{{ 'footer.newsletter.title'|trans }}</div>
  91. <div>{{ 'footer.newsletter.subtitle'|trans }}</div>
  92. </div>
  93. <div
  94. class="newsletter_input"
  95. data-newsletter-root
  96. data-newsletter-subscription-url="{{ newsLetterSubscriptionPageUrl|default('')|e('html_attr') }}"
  97. >
  98. <div class="input-group">
  99. <input
  100. type="text"
  101. id="footer-newsletter-email"
  102. class="form-control"
  103. placeholder="{{ 'auth.login.email_placeholder'|trans }}"
  104. aria-label="{{ 'auth.login.email_placeholder'|trans }}"
  105. autocomplete="email"
  106. aria-describedby="footer-newsletter-subscribe"
  107. >
  108. <div class="input-group-text btn style1 reverse_color">
  109. <button type="button" class="btn" id="footer-newsletter-subscribe">
  110. {{ getLucidIcon('mail') }}
  111. <span>{{ 'footer.newsletter.subscribe'|trans }}</span>
  112. </button>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>
  119. {# {% if base.newsletter is defined and base.newsletter is not empty %}
  120. <sulu-link
  121. href="{{ base.newsletter }}">{{ 'website.ui.footer.links.newsletter_croisiland'|trans }}</sulu-link>
  122. {% endif %}
  123. #}
  124. <div class="footer_section footer_3">
  125. <div class="container">
  126. <div class="row">
  127. <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
  128. <div class="footer_subtitle">{{ 'footer.contact.title'|trans }}</div>
  129. <div>
  130. {% if base.contactUs is defined and base.contactUs is not empty %}
  131. {% for contact in base.contactUs %}
  132. {% if (webspaceKey == "main-website" and contact.isOnlyPartner == false)
  133. or (webspaceKey != "main-website" and contact.isOnlyPartner == true and contact.isNotPartner == false)
  134. or (webspaceKey != "main-website" and contact.isOnlyPartner == false and contact.isNotPartner == false)
  135. %}
  136. <div class="d-flex">
  137. <div class="picto {{ contact.icon is defined and contact.icon is not empty ? contact.icon | raw : '' }}">{{ getLucidIcon(contact.icon|default('')) }}</div>
  138. {% if contact.isInternal is defined and contact.isInternal %}
  139. <a href="{{ contact.internalLink is defined ? webspaceKey != "main-website" ? (translate_with_parameters((urls.fr|split('/fr')|first) ~ contact.internalLink, [])) | replace({' ': ''}) : contact.internalLink | replace({' ': ''}) : '#' }}">
  140. {{ (contact.text is defined and contact.text is not empty) ? translate_with_parameters(contact.text, [])|raw }}
  141. </a>
  142. {% else %}
  143. <a target="_blank"
  144. href="{{ contact.externalLink is defined and contact.externalLink is not empty ? translate_with_parameters(contact.externalLink, []) | replace({' ': ''}) : '#' }}">
  145. {{ (contact.text is defined and contact.text is not empty) ? translate_with_parameters(contact.text, [])|raw }}
  146. </a>
  147. {% endif %}
  148. </div>
  149. {% endif %}
  150. {% endfor %}
  151. {% endif %}
  152. </div>
  153. </div>
  154. <div class="col-lg-2 col-md-3 col-sm-6 col-xs-12">
  155. <div class="footer_subtitle">{{ 'footer.company.title'|trans }}</div>
  156. <div>
  157. {% if base.croisilandLinks is defined and base.croisilandLinks is not empty %}
  158. {% for link in base.croisilandLinks %}
  159. {% if (webspaceKey == "main-website" and link.isOnlyPartner == false)
  160. or (webspaceKey != "main-website" and link.isOnlyPartner == true and link.isNotPartner == false)
  161. or (webspaceKey != "main-website" and link.isOnlyPartner == false and link.isNotPartner == false)
  162. %}
  163. <div>
  164. {% if link.isInternal is defined and link.isInternal %}
  165. <a
  166. href="{{ link.internalLink is defined ? webspaceKey != "main-website" ? (translate_with_parameters((urls.fr|split('/fr')|first) ~ link.internalLink, [])) : link.internalLink : '#' }}">{{ translate_with_parameters(link.name, []) }}</a>
  167. {% else %}
  168. <a target="_blanck"
  169. href="{{ link.externalLink is defined ? translate_with_parameters(link.externalLink, []) : '#' }}">{{ translate_with_parameters(link.name, []) }}</a>
  170. {% endif %}
  171. </div>
  172. {% endif %}
  173. {% endfor %}
  174. {% endif %}
  175. </div>
  176. </div>
  177. <div class="col-lg-2 col-md-3 col-sm-6 col-xs-12">
  178. <div class="footer_subtitle">{{ 'footer.informations.title'|trans }}</div>
  179. <div>
  180. {% if base.informations is defined and base.informations is not empty %}
  181. {% for info in base.informations %}
  182. {% if (webspaceKey == "main-website" and info.isOnlyPartner == false)
  183. or (webspaceKey != "main-website" and info.isOnlyPartner == true and info.isNotPartner == false)
  184. or (webspaceKey != "main-website" and info.isOnlyPartner == false and info.isNotPartner == false)
  185. %}
  186. <div>
  187. {% if info.isInternal is defined and info.isInternal %}
  188. <a
  189. href="{{ info.internalLink is defined ? webspaceKey != "main-website" ? (translate_with_parameters((urls.fr|split('/fr')|first) ~ info.internalLink, [])) : info.internalLink : '#' }}">{{ translate_with_parameters(info.name, []) }}</a>
  190. {% else %}
  191. <a target="_blanck" rel="nofollow"
  192. href="{{ info.externalLink is defined ? translate_with_parameters(info.externalLink, []) : '#' }}">{{ translate_with_parameters(info.name, []) }}</a>
  193. {% endif %}
  194. </div>
  195. {% endif %}
  196. {% endfor %}
  197. {% endif %}
  198. </div>
  199. </div>
  200. <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
  201. <div class="footer_subtitle">{{ 'footer.legal.title'|trans }}</div>
  202. <div>
  203. {% if base.legalInformations is defined and base.legalInformations is not empty %}
  204. {% for legal in base.legalInformations %}
  205. {% if (webspaceKey == "main-website" and legal.isOnlyPartner == false)
  206. or (webspaceKey != "main-website" and legal.isOnlyPartner == true and legal.isNotPartner == false)
  207. or (webspaceKey != "main-website" and legal.isOnlyPartner == false and legal.isNotPartner == false)
  208. %}
  209. <div>
  210. {% if legal.isInternal is defined and legal.isInternal %}
  211. <a
  212. href="{{ legal.internalLink is defined ? webspaceKey != "main-website" ? (translate_with_parameters((urls.fr|split('/fr')|first) ~ legal.internalLink, [])) : legal.internalLink : '#' }}">{{ translate_with_parameters(legal.name, []) }}</a>
  213. {% else %}
  214. <a target="_blanck" rel="nofollow"
  215. href="{{ legal.externalLink is defined ? translate_with_parameters(legal.externalLink, []) : '#' }}">{{ translate_with_parameters(legal.name, []) }}</a>
  216. {% endif %}
  217. </div>
  218. {% endif %}
  219. {% endfor %}
  220. {% endif %}
  221. </div>
  222. </div>
  223. <div class="col-lg-2 col-md-3 col-sm-6 col-xs-12">
  224. <div class="footer_subtitle">{{ 'footer.social.title'|trans }}</div>
  225. <div class="social_networks mt-3">
  226. {% if base.socialNetworks is defined and base.socialNetworks is not empty %}
  227. {% for network in base.socialNetworks %}
  228. <a href="{{ ( network.link is defined ) ? network.link : '#' }}" target="_blanck"
  229. rel="nofollow">
  230. <div class="picto {{ network.icon is defined and network.icon is not empty ? network.icon | raw : '' }}">{{ getLucidIcon(network.icon|default('')) }}</div>
  231. </a>
  232. {% endfor %}
  233. {% endif %}
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. </div>
  239. {% if webspaceKey == "main-website" %}
  240. <div class="footer_section footer_4">
  241. <div class="container">
  242. <div class="row">
  243. <div class="col-lg-4 col-sm-6 col-xs-12 mb-0">
  244. {% if base.destinations is defined and base.destinations is not empty %}
  245. <div class="footer_subtitle"><span>{{ getLucidIcon('chevron-right', {'class': 'picto'}) }}</span> {{ 'footer.links.destinations.title'|trans }}</div>
  246. <div>
  247. <ul class="close">
  248. {% for destination in base.destinations %}
  249. <li><a href="{{ getCruiseSearchUrl([getDestinationById(destination.destinationSelector)]) }}">{{ destination.textToDisplay }}</a></li>
  250. {% endfor %}
  251. <li><a href="{{ allDestinationsUrl }}">{{ 'footer.links.destinations.all'|trans }}</a></li>
  252. </ul>
  253. </div>
  254. {% endif %}
  255. </div>
  256. <div class="col-lg-4 col-sm-6 col-xs-12 mb-0">
  257. {% if base.compagnies is defined and base.compagnies is not empty %}
  258. <div class="footer_subtitle"><span>{{ getLucidIcon('chevron-right', {'class': 'picto'}) }}</span> {{ 'footer.links.companies.title'|trans }}</div>
  259. <div>
  260. <ul class="close">
  261. {% for compagnie in base.compagnies %}
  262. <li><a href="{{ getCruiseSearchUrl([getCompanyById(compagnie.compagnieSelector)]) }}">{{ compagnie.textToDisplay }}</a></li>
  263. {% endfor %}
  264. <li><a href="{{ allCompaniesUrl }}">{{ 'footer.links.companies.all'|trans }}</a></li>
  265. </ul>
  266. </div>
  267. {% endif %}
  268. </div>
  269. <div class="col-lg-4 col-sm-6 col-xs-12 mb-0">
  270. {% if base.ports is defined and base.ports is not empty %}
  271. <div class="footer_subtitle"><span>{{ getLucidIcon('chevron-right', {'class': 'picto'}) }}</span> {{ 'footer.links.departure_ports.title'|trans }}</div>
  272. <div>
  273. <ul class="close">
  274. {% for port in base.ports %}
  275. <li><a href="{{ getCruiseSearchUrl([null]) }}">{{ port.textToDisplay }}</a></li>
  276. {% endfor %}
  277. <li><a href="{{ getCruiseSearchUrl([null]) }}">{{ 'footer.links.departure_ports.all'|trans }}</a></li>
  278. </ul>
  279. </div>
  280. {% endif %}
  281. </div>
  282. </div>
  283. </div>
  284. </div>
  285. {% endif %}
  286. <div class="footer_section footer_5">
  287. <div class="container">
  288. <div class="d-flex justify-content-between">
  289. <span class="version">v.{{ shivas_app_version }}</span>
  290. {% if base is not empty and base.copyright is not none %}
  291. {{ translate_with_parameters(base.copyright, [])|raw }}
  292. {% endif %}
  293. </div>
  294. </div>
  295. </div>
  296. {% if showFloatingActions|default(true) %}
  297. <div class="bottom">
  298. {% if contactRequestForm is defined %}
  299. {% include 'pages/_includes/base/_footer_recall.html.twig' %}
  300. {% endif %}
  301. <div id="TopArrow">
  302. {{ getLucidIcon('arrow-up') }}
  303. </div>
  304. </div>
  305. <style>
  306. footer.footer {
  307. margin-top: {{ base.marginTop|default(0) ~ base.marginUnit|default('px') }};
  308. }
  309. </style>
  310. {% endif %}