templates/default/continent.html.twig line 1

Open in your IDE?
  1. {# templates/escapade/show.html.twig #}
  2. {% extends 'base.html.twig' %}
  3. {% block title %}O'Continent — {% endblock %}
  4. {# Header standard ou overlay si besoin sur le hero #}
  5. {% block header_classes %}header-overlay{% endblock %}
  6. {% block navbar_theme %}navbar-dark{% endblock %}
  7. {% block body %}
  8. {# -----------------------------
  9.    HERO Escapade (avec inclus)
  10. ------------------------------ #}
  11. <section class="hero hero--continent is-animated position-relative text-white">
  12.   <div class="hero__media ratio ratio-21x9">
  13.     <img src="{{ asset('img/continent/' ~ continent.img) }}"
  14.          alt="{{ continent.name }}"
  15.          class="hero__img object-fit-cover w-100 h-100">
  16.   </div>
  17.   <div class="hero__overlay hero__overlay--left">
  18.     <div class="container">
  19.       <div class="hero__card" style="max-width: 600px;">
  20.         <h1 class="hero__title display-5 fw-bold txt-ot-green mb-2" style="margin:0 !important">
  21.           {{ continent.name }}
  22.         </h1>
  23.         <p class="hero__subtitle mb-0">{{ continent.subtitle }}</p>
  24.       </div>
  25.     </div>
  26.   </div>
  27. </section>
  28. {# Fil d'Ariane #}
  29. <nav class="container my-4" aria-label="breadcrumb">
  30.   <ol class="breadcrumb small">
  31.     <li class="breadcrumb-item"><a href="{{ path('app') }}">Accueil</a></li>
  32.     <li class="breadcrumb-item active" aria-current="page">Continent</li>
  33.     <li class="breadcrumb-item active" aria-current="page">{{ continent.name }}</li>
  34.   </ol>
  35. </nav>
  36. {# -----------------------------
  37.    OFFRES DU MOMENT — réutilisation grille cartes maquette
  38. ------------------------------ #}
  39. <section class="py-5 bg-white">
  40.   <div class="container">
  41.     <div class="text-center mb-5">
  42.     {% if continent.id == 1 %}
  43.       <h2 class="h3 text-ot-green mb-1 fw-bold">Explorez l'{{ continent.name }} autrement</h2>
  44.       <p class="text-muted mb-0">Entre paysages spectaculaires, cultures fascinantes et expériences authentiques, l'{{ continent.name }} vous invite à vivre un voyage unique.</p>
  45.       <p class="text-muted mb-0">Découvrez nos offres soigneusement sélectionnées et laissez-vous guider vers votre prochaine grande aventure.</p>
  46.     {% elseif continent.id == 2 %}
  47.       <h2 class="h3 text-ot-green mb-1 fw-bold">Partez à la conquête des {{ continent.name }} !</h2>
  48.       <p class="text-muted mb-0">De villes vibrantes en paysages sauvages, ce continent regorge d’expériences inoubliables à vivre.</p>
  49.       <p class="text-muted mb-0">Parcourez nos circuits, escapades, roadtrips et croisières et trouvez le voyage qui fera battre votre cœur d’aventurier.</p>
  50.        {% elseif continent.id == 3 %}
  51.       <h2 class="h3 text-ot-green mb-1 fw-bold">L'{{ continent.name }}, une invitation à l’évasion.</h2>
  52.       <p class="text-muted mb-0">De ses sites emblématiques à ses trésors cachés, chaque voyage sur ce continent est une promesse d’émotions et de découvertes.</p>
  53.       <p class="text-muted mb-0">Laissez-vous séduire par nos offres d’exception et vivez le charme incomparable de l'{{ continent.name }}.</p>
  54.        {% elseif continent.id == 4 %}
  55.       <h2 class="h3 text-ot-green mb-1 fw-bold">L'{{ continent.name }} n’attend plus que vous !</h2>
  56.       <p class="text-muted mb-0">Que vous rêviez de grandes routes, de plages dorées ou de capitales bouillonnantes, nos offres vous emmènent au cœur de l’action.</p>
  57.       <p class="text-muted mb-0">Faites vos valises et laissez-vous tenter par une nouvelle aventure signée O’Tropik</p>
  58.        {% elseif continent.id == 5 %}
  59.     <div class="text-center mb-5 green">
  60.       <h2 class="h3 text-ot-green mb-1 fw-bold">Cap sur la {{ continent.name }}</h2>
  61.       <p class="text-muted mb-0">Entre plages de sable blanc, eaux turquoise et ambiance créole, chaque île vous invite à la détente et à la découverte.</p>
  62.       <p class="text-muted mb-0">Explorez nos offres et laissez-vous porter par la chaleur et la beauté des Antilles..</p>
  63.     </div>
  64.     {% endif %}
  65.     </div>
  66.     <div class="row g-3 g-md-4">
  67.       {% for o in offers %}
  68.       <div class="col-12 col-sm-6 col-lg-3">
  69.         <article class="card card-offer border-0 shadow-sm h-100 overflow-hidden rounded-4">
  70.         {% if o.type.id == 1 %}
  71.           <a href="{{ path('o.escapade.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  72.               <div class="ratio ratio-4x5">
  73.               <img src="{#{asset('img/destination/' ~ o.destination.slug  ~ '/' ~ o.destination.img)}#}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  74.             </div>
  75.         {% elseif o.type.id == 2 %}
  76.             <a href="{{ path('o.circuit.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  77.               <div class="ratio ratio-4x5">
  78.               <img src="{{asset('img/offer/circuit/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  79.             </div>
  80.         {% elseif o.type.id == 3 %}
  81.                  <a href="{{ path('o.roadtrip.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  82.               <div class="ratio ratio-4x5">
  83.               <img src="{{asset('img/offer/road/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  84.             </div>
  85.             {% elseif o.type.id == 4 %}
  86.                  <a href="{{ path('o.croisiere.destination',{slug:o.slug})}}" class="stretched-link text-decoration-none text-white">
  87.               <div class="ratio ratio-4x5">
  88.               <img src="{{asset('img/offer/croisiere/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">            </div>
  89.           {% endif %}
  90.             <div class="card-img-overlay d-flex flex-column justify-content-end p-3 p-md-4">
  91.               <p>{{o.type.name}}</p>
  92.               <h3 class="h5 fw-bold text-white text-shadow-sm mb-3">{{ o.title }}</h3>
  93.               <div>
  94.                 <span class="btn btn-outline-light btn-sm">Découvrir</span>
  95.               </div>
  96.             </div>
  97.           </a>
  98.         </article>
  99.       </div>
  100.       {% endfor %}
  101.     </div>
  102.     <div class="section-divider mx-auto my-5"></div>
  103.   </div>
  104. </section>
  105. {% endblock %}
  106. {% block extra_head %}
  107.   {{ parent() }}
  108.   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
  109.   <style>
  110.     .text-shadow-sm{ text-shadow:0 2px 4px rgba(0,0,0,.35); }
  111.     .text-ot-green{ color: var(--ot-primary, #2ea37a); }
  112.     .bg-ot-green{ background: var(--ot-primary, #2ea37a); }
  113.   </style>
  114. {% endblock %}