{# {% extends 'base.html.twig' %}
{% block title %}Détails de la Croisière{% endblock %}
{% block body %}
<h1>Détails de la Croisière : {{ croisiere.name }}</h1>
<h2>Informations sur la croisière</h2>
<p><strong>Nom :</strong> {{ croisiere.name }}</p>
<h2>Sous-Croisières</h2>
<form method="post" action="{{ path('details', {'croisiereId': croisiere.id}) }}">
<!-- Sélection du nom de la croisière -->
<select id="croisiereNom" name="croisiere_nom" style="margin-bottom: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 100%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option value="" {% if not croisiereNom %}selected{% endif %}><span>Sélectionner une croisière</span></option>
{% for croisiere in croisieres %}
<option value="{{ croisiere.name }}" {% if croisiereNom == croisiere.name %}selected{% endif %}>
{{ croisiere.name }}
</option>
{% endfor %}
</select>
<!-- Sélection du titre du navire -->
<select id="navireTitre" name="navire_titre" style="color: #9a9a9a; height: 42px; border-radius: 5px; width: 100%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option value="" {% if not navireTitre %}selected{% endif %}><span>Sélectionner un navire</span></option>
{% for navire in navires %}
<option value="{{ navire.titre }}" {% if navireTitre == navire.titre %}selected{% endif %}>
{{ navire.titre }}
</option>
{% endfor %}
</select>
<!-- Sélection du nom de la sous-croisière -->
<select id="sousCroisiereName" name="name" style="margin-left: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 100%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option value="" {% if not name %}selected{% endif %}><span>Sélectionner une sous-croisière</span></option>
{% for sousCroisiere in sousCroisieres %}
<option value="{{ sousCroisiere.name }}" {% if name == sousCroisiere.name %}selected{% endif %}>
{{ sousCroisiere.name }}
</option>
{% endfor %}
</select>
<button type="submit">Rechercher</button>
</form>
{% if sousCroisieres is not empty %}
<ul>
{% for sousCroisiere in sousCroisieres %}
<li>
<p><strong>Navire :</strong> {{ sousCroisiere.croisiere.name }}</p>
<h3>{{ sousCroisiere.name }}</h3>
<p><strong>Navire :</strong> {{ sousCroisiere.navire.titre }}</p>
<p><strong>Durée :</strong> {{ sousCroisiere.duree }} jours</p>
</li>
{% endfor %}
</ul>
{% else %}
<p>Aucune sous-croisière trouvée.</p>
{% endif %}
{% endblock %} #}
{% extends 'base.html.twig' %}
{% block stylesheets %}
{# Ajoutez les liens vers les fichiers CSS de noUiSlider#}
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700,800,900" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('slider/css/owl.carousel.min.css') }}">
<link rel="stylesheet" href="{{ asset('slider/css/owl.theme.default.min.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/4.5.6/css/ionicons.min.css">
<link rel="stylesheet" href="{{ asset('slider/css/style.css') }}">
<link href="{{ asset('formcroisiere/css/main.css') }}" rel="stylesheet" />
<style>
.mt-100{
margin-top:100px;
}
.carousel .carousel-indicators li{
display:inline-block;
width:10px;
height:10px;
text-indent: -99px;
cursor:pointer;
border:1px solid #000;
background:#000;
border-radius:2px;
}
.sidebar_list {
margin-top: 10px;
}
.sidebar_archives {
margin-top: 40px;
margin-left: 70px;
margin-right: 40px;
}
.badge{
font-size: 84%;
height: 26px;
line-height: normal;
font-weight: 600;
background-color: #b29b63;
}
@media screen and (max-width: 768px) {
.offers_item{
width: 130% !important;
}
}
.offers_item{
position: relative;
width: 205%;
margin-left: -50px;
overflow: hidden;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
transition: all 300ms;
margin-top: 50px;
border-radius: 20px;
color: rgba(0, 0, 0, 0.87);
background: #fff;
}
.offer_item{
position: relative;
width: 205%;
overflow: hidden;
transition: all 300ms;
margin-top: 50px;
border-radius: 5px;
color: rgba(0, 0, 0, 0.87);
background:#1269a2
}
.offers_price {
display: inline-block;
font-size: 36px;
font-weight: 700;
color: #ff9100;
line-height: 25px;
}
.offers_price a{
display: inline-block;
font-size: 22px;
font-weight: 700;
color: #0093a9;
line-height: 25px;
}
.offer_name{
display: block;
font-size: 22px;
font-weight: 700;
background: #0093a9;
color: #FFFFFF;
width: 360px;
line-height: 35px;
padding-left: 12px;
}
.noUi-horizontal .noUi-tooltip{
bottom: -41px;
}
.offers_item:hover {
transform: translateY(-2px);
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}
.offers_image_background {
position: relative;
margin: auto;
overflow: hidden;
}
.offers_image_background img {
max-width: 100%;
transition: all 0.3s;
display: block;
transform: scale(1);
}
.offers_image_background:hover img {
transform: scale(1.1);
}
.container {
max-width: 1440px!important;
}
.offers_content {
margin-top: 65px;
margin-left: 17px;
margin-bottom: 22px;
margin-right: 17px;
}
.offers_link {
margin-top: 24px;
}
.offers_link a {
font-size: 14px;
font-weight: 700;
color: #2d2c2c;
text-transform: uppercase;
-webkit-transition: all 200ms ease;
-moz-transition: all 200ms ease;
-ms-transition: all 200ms ease;
-o-transition: all 200ms ease;
transition: all 200ms ease;
}
.badge{
font-size: 78%;
font-weight: 600;
background-color: #b29b63;
}
.badges
{
border: 1px solid white;
background: white;
color: #ff9600;
width: 100%;
height: 50px;
}
.work-wrap .img
{
height: auto;
width: auto;
}
@media (min-width: 992px) {
.owl-carousel .owl-dots {
position: absolute;
top: 0;
right: 50px!important;
margin-top: 0;
margin-right: -40px; }
.owl-carousel .owl-dots .owl-dot {
display: block; }
}
@media screen and (max-width: 768px)
{
.offer_item {
margin-left: 30px !important;
width: 85% !important;
}
.critere{
margin-left: 0px!important;
margin-bottom: 10px!important;
color: #9a9a9a!important;
height: 42px!important;
border-radius: 5px!important;
width: 90%!important;
box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, .5), 7px 7px 20px 0px rgba(0, 0, 0, .1), 4px 4px 5px 0px rgba(0, 0, 0, .1)!important;
}
.btn-4{
margin-left: -11px!important;
width: 39%!important;
}
.btn-3
{
background: #ff9600;
width: 200px;
height: 50px;
line-height: 52px;
margin-left: 65px!important;
padding: 0;
border: none;
border-radius: 5px;
}
.btn-3 span {
position: relative;
display: block;
width: 100%;
height: 100%;
background:#ff9600;
}
.offers_price1
{
margin-top:-50px!important;
margin-left:63px!important;
}
}
.owl-carousel .owl-dots
{
text-align: justify;
margin-top: 0px;
}
.owl-carousel .owl-nav {
position: absolute;
bottom: 0;
left: 0;
right: 0;
display: none;
}
.ftco-section
{
padding: 5em 0;
margin-top: -35px;
}
button {
margin: 20px;
}
.custom-btn {
width: 130px;
height: 40px;
color: #fff;
border-radius: 5px;
padding: 10px 25px;
font-family: 'Lato', sans-serif;
font-weight: 500;
background: transparent;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
display: inline-block;
box-shadow:inset 2px 2px 2px 0px rgba(255,255,255,.5),
7px 7px 20px 0px rgba(0,0,0,.1),
4px 4px 5px 0px rgba(0,0,0,.1);
outline: none;
}
/* 3 */
.btn-4 {
background: #0093a9;
width: 41%;
height: 42px;
margin-top: 0px;
line-height: 44px;
margin-left: 0px;
padding: 0;
border: none;
border-radius: 5px;
}
.btn-4 span {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.btn-4:before,
.btn-4:after {
position: absolute;
content: "";
right: 0;
top: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-4:before {
height: 0%;
width: 2px;
}
.btn-4:after {
width: 0%;
height: 2px;
}
.btn-4 span:before,
.btn-4 span:after {
position: absolute;
content: "";
left: 0;
bottom: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-4 span:before {
width: 2px;
height: 0%;
}
.btn-4 span:after {
width: 0%;
height: 2px;
}
.form-search{
width: 100%;
margin-left: 20px;
margin-top: 16px;
}
.btn-3 {
background: #ff9600;
width: 200px;
height: 50px;
line-height: 52px;
margin-left: 0px;
padding: 0;
border: none;
border-radius: 5px;
}
.btn-3 span {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.btn-3:before,
.btn-3:after {
position: absolute;
content: "";
right: 0;
top: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-3:before {
height: 0%;
width: 2px;
}
.btn-3:after {
width: 0%;
height: 2px;
}
.btn-3 span:before,
.btn-3 span:after {
position: absolute;
content: "";
left: 0;
bottom: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-3 span:before {
width: 2px;
height: 0%;
}
.btn-3 span:after {
width: 0%;
height: 2px;
}
.btn-5 {
background: #0093a9;
width: 41%;
height: 42px;
margin-top: 0px;
line-height: 44px;
margin-left: 0px;
padding: 0;
border: none;
border-radius: 5px;
}
.btn-5 span {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.btn-5:before,
.btn-5:after {
position: absolute;
content: "";
right: 0;
top: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-5:before {
height: 0%;
width: 2px;
}
.btn-5:after {
width: 0%;
height: 2px;
}
.btn-5 span:before,
.btn-5 span:after {
position: absolute;
content: "";
left: 0;
bottom: 0;
background: #ff9600;
border-radius: 5px;
transition: all 0.3s ease;
}
.btn-5 span:before {
width: 2px;
height: 0%;
}
.btn-5 span:after {
width: 0%;
height: 2px;
}
</style>
{% endblock %}
{% block body %}
<div class="home" style="height: 150px;background: #fafafa"></div>
<div class="row" style="background: #fafafa">
<div class="offer_item" style="margin-left: 125px;width: 78.8%">
<form method="post" action="{{ path('details', {'croisiereId': croisiere.id}) }}" class="form-search">
<div class="row">
<div class="col-md-4">
<!-- Sélection du nom de la croisière -->
<select class="critere" id="croisiereNom" name="croisiere_nom" style="margin-bottom: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 90%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option value="" {% if not croisiereNom %}selected{% endif %}><span>Destinations</span></option>
{% for croisiere in croisieres %}
<option value="{{ croisiere.name }}" {% if croisiereNom == croisiere.name %}selected{% endif %}>
{{ croisiere.name }}
</option>
{% endfor %}
</select>
</div>
<div class="col-md-4">
<select class="critere" name="monthYear" id="monthYear" style="margin-left: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 90%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option placeholder="" value="" {% if not dated %}selected{% endif %}>Dates de départ</option>
{% set months = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'] %}
Déterminer le mois et l'année actuels
{% set now = "now"|date("Y-m-d") %}
{% set currentMonth = now|date("n") %}
{% set currentYear = now|date("Y") %}
Spécifiez la plage d'années à afficher
{% set startYear = currentYear %}
{% set endYear = 2026 %}
Afficher les mois et années à partir du mois et année actuels
{% for year in startYear..endYear %}
{% set startMonth = (year == currentYear) ? currentMonth : 1 %}
{% for i in startMonth..12 %}
<option value="{{ i ~ '-' ~ year }}"
{% if monthYear == (i ~ '-' ~ year) %}
selected
{% endif %}>
{{ months[i-1] }} {{ year }}
</option>
{% endfor %}
{% endfor %}
</select>
</div>
<div class="col-md-4">
<select class="critere" id="sousCroisiereDestination" name="destination" style="margin-left: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 90%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option placeholder="" value="" {% if not destination %}selected{% endif %}><span>Ports de départ</span></option>
{% for sousCroisiere in sousCroisieres %}
<option value="{{ sousCroisiere.destination }}" {% if name == sousCroisiere.destination %}selected{% endif %}>
{{ sousCroisiere.destination|split(',')[0] }}
</option>
{% endfor %}
</select>
</div>
</div>
<div class="row">
<div class="col-md-4">
<!-- Sélection du titre du navire -->
<select class="critere" id="navireTitre" name="navire_titre" style="color: #9a9a9a; height: 42px; border-radius: 5px; width: 90%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5),7px 7px 20px 0px rgba(0,0,0,.1),4px 4px 5px 0px rgba(0,0,0,.1);">
<option value="" {% if not navireTitre %}selected{% endif %}><span>Navires</span></option>
{% for navire in navires %}
<option value="{{ navire.titre }}" {% if navireTitre == navire.titre %}selected{% endif %}>
{{ navire.titre }}
</option>
{% endfor %}
</select>
</div>
<div class="col-md-4">
<select class="critere" id="sousCroisiereDuree" name="duree" style="margin-left: 10px; color: #9a9a9a; height: 42px; border-radius: 5px; width: 90%; box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5), 7px 7px 20px 0px rgba(0,0,0,.1), 4px 4px 5px 0px rgba(0,0,0,.1);">
<option placeholder="" value="" {% if not duree %}selected{% endif %}>Durée</option>
<!-- Option: 1 à 5 jours -->
{% if groupedDurations['1-5'] is not empty %}
<option value="1-5" {% if duree == '1-5' %}selected{% endif %}>De 1 à 5 jours</option>
{% endif %}
<!-- Option: 6 à 9 jours -->
{% if groupedDurations['6-9'] is not empty %}
<option value="6-9" {% if duree == '6-9' %}selected{% endif %}>De 6 à 9 jours</option>
{% endif %}
<!-- Option: Plus de 9 jours -->
{% if groupedDurations['9+'] is not empty %}
<option value="9+" {% if duree == '9+' %}selected{% endif %}>Plus de 9 jours</option>
{% endif %}
</select>
</div>
<div class="col-md-4">
<div class="row" style="margin-left: 10px">
<button type="submit" class="custom-btn btn-4">Rechercher</button>
<button type="reset" class="custom-btn btn-5" style="margin-left: 7px;">Réinitialiser les filtres</button>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="blog" style="background:#fafafa">
<div class="container">
<div class="col-lg-12">
<div class="cards-1 section-gray">
<div class="blog_post_container">
{% if sousCroisieres is not empty %}
<div class="container">
<div class="row">
<div class="col-lg-12">
<!-- Offers Grid -->
<div class="offers_grid" style="width: 108%">
{% for h in sousCroisieres %}
{% if h.etat == 1 %}
<div class="col-lg-6 offers_col">
<div class="offers_item">
<div class="row">
<div class="col-lg-4">
<div class="offers_image_container">
<div class="offers_image_background" >
<section class="ftco-section">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="featured-carousel owl-carousel">
{% for img in h.imagessouscroisieres %}
<div class="item">
<div class="work-wrap">
<div class="img order-md-last">
<img src="{{ asset('./rusticav/public/uploads/souscroisieres/' ~ img.name) }}" alt=""/>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="offers_content" style="font-size: 17px">
<div class="offers_price" style="color:#0093a9;font-size: 28px">{{ h.name }}</div><br>
<i class="fa fa-anchor" aria-hidden="true" style="color: #635959"></i>
<div class="offers_price" style="color:#635959;font-size: 16px;font-weight: 500">{{ h.destination }}</div><br>
<i class="fa fa-clock-o" aria-hidden="true" style="color: #635959"></i>
<div class="offers_price" style="color:#635959;font-size: 15px;font-weight: 500;">
{{h.duree}} jours / {{h.duree-1}} Nuits
</div><br>
<i class="fa fa-ship" aria-hidden="true"></i>
<div class="offers_price" style="margin-top: 4px;color: #635959;font-weight: 500;font-size: 16px">{{ h.navire.titre }}</div>
<div class="offers_icons">
<ul class="offers_icons_list">
<li class="offers_icons_item">
{% for ha in h.avantages %}
<span class="badge badge-danger">
{% for img in ha.imagesavantages %}
<img src="{{ asset('./rusticav/public/uploads/avantages/' ~ img.name) }}" alt="" style="width:25px;height:25px;margin-top:-8px;"/>
{% endfor %}
<span>{{ ha.name }}</span>
</span>
{% endfor %}
</li>
</ul>
</div>
<p style="font-weight: 700;font-size:16px;color:#1269a2;margin-bottom: 4px ">Prochaines dates de départ</p>
{% for hs in h.souscroisiereprices %}
<span class="badge badge-danger" style="background: #1269a2;color: white">
{% set months = {
1: 'Janvier',
2: 'Février',
3: 'Mars',
4: 'Avril',
5: 'Mai',
6: 'Juin',
7: 'Juillet',
8: 'Août',
9: 'Septembre',
10: 'Octobre',
11: 'Novembre',
12: 'Décembre'
} %}
{% set date = hs.dated|date('d-m-Y') %}
{% set day = date|slice(0,2) %}
{% set month = date|slice(3,2)|number_format(0, '', '') %}
{% set year = date|slice(6,4) %}
{{ day }} {{ months[month|number_format(0, '', '')] }} {{ year }}
</span>
{% endfor %}
</div>
</div>
<div class="col-lg-2">
<div class="offers_price" style="margin-top: 60px">
{% set minPrix = null %}
{% if h.souscroisiererooms is defined and h.souscroisiererooms|length > 0 %}
{% for cabine in h.souscroisiererooms %}
{% if cabine.souscroisierepricerooms is defined and cabine.souscroisierepricerooms|length > 0 %}
{% for priceCabine in cabine.souscroisierepricerooms %}
{% if priceCabine.price is defined %}
{% if minPrix is null or priceCabine.price < minPrix %}
{% set minPrix = priceCabine.price %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
<div class="offers_price1">
<span class="text-center" style="margin-left: 50px;font-size: 15px;color: black;font-weight: 300">A partir de:</span><br><br>
<span class="badges badge-success" style="font-size: 35px;font-weight: 600;margin-left: 17px;color: #5586c2">
{{ minPrix is not null ? minPrix : 'N/A' }} TND
</span>
</div>
</div>
<button class="custom-btn btn-3" style="left: -10%,">
<span style="color: white;font-size: 16px;font-weight: 500">
<a href="{{ path('sous_croisiere_details', {'sousCroisiereId': h.id}) }}" style="color: white">Voir Détails</a>
</span>
</button>
</div>
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="{{ asset('slider/js/popper.js') }}"></script>
<script src="{{ asset('slider/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('slider/js/owl.carousel.min.js') }}"></script>
<script src="{{ asset('slider/js/main.js') }}"></script>
{% endblock %}