<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Sandbox\SecurityNotAllowedTestError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* ./pages/_detail.html.twig */
class __TwigTemplate_294ef29c9686fe560df6fc25a3017e7b extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
'stylesheets' => [$this, 'block_stylesheets'],
'content' => [$this, 'block_content'],
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "./pages/_detail.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "./pages/_detail.html.twig"));
// line 9
yield "
";
// line 10
yield from $this->unwrap()->yieldBlock('stylesheets', $context, $blocks);
// line 13
yield "
";
// line 14
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
yield from [];
}
// line 10
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_stylesheets(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
// line 11
yield "\t<link rel=\"stylesheet\" href=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css\" crossorigin=\"\"/>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 14
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
// line 15
yield "
";
// line 16
$context["offers"] = $this->extensions['App\Twig\Offer\OfferExtension']->getCruiseSpecialOffers((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 16, $this->source); })()));
// line 17
yield "
";
// line 18
if ((null === (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 18, $this->source); })()))) {
// line 19
yield "
\t";
// line 21
yield "\t<div class=\"container-fluid mb-5\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t<div class=\"alert alert-warning br3 p-4\">
\t\t\t\t\tCroisière introuvable. Vérifiez le lien (paramètre <code>croisiere</code> manquant ou invalide).
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
";
} else {
// line 34
yield "
\t";
// line 36
yield "\t<div class=\"container-fluid\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t";
// line 40
$context["destinationName"] = ((is_iterable(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 40, $this->source); })()), "itinerary", [], "any", false, false, false, 40), "secondaryDestinations", [], "any", false, false, false, 40))) ? (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 41
($context["cruise"] ?? null), "itinerary", [], "any", false, true, false, 41), "secondaryDestinations", [], "any", false, true, false, 41), "first", [], "any", false, true, false, 41), "secondaryDestination", [], "any", false, true, false, 41), "name", [], "any", true, true, false, 41)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 41, $this->source); })()), "itinerary", [], "any", false, false, false, 41), "secondaryDestinations", [], "any", false, false, false, 41), "first", [], "any", false, false, false, 41), "secondaryDestination", [], "any", false, false, false, 41), "name", [], "any", false, false, false, 41), "")) : (""))) : (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 42
($context["cruise"] ?? null), "itinerary", [], "any", false, true, false, 42), "destination", [], "any", true, true, false, 42)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 42, $this->source); })()), "itinerary", [], "any", false, false, false, 42), "destination", [], "any", false, false, false, 42), "")) : (""))));
// line 43
yield "\t\t\t\t";
$context["destinationId"] = ((is_iterable(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 43, $this->source); })()), "itinerary", [], "any", false, false, false, 43), "secondaryDestinations", [], "any", false, false, false, 43))) ? (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 44
($context["cruise"] ?? null), "itinerary", [], "any", false, true, false, 44), "secondaryDestinations", [], "any", false, true, false, 44), "first", [], "any", false, true, false, 44), "secondaryDestination", [], "any", false, true, false, 44), "id", [], "any", true, true, false, 44)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 44, $this->source); })()), "itinerary", [], "any", false, false, false, 44), "secondaryDestinations", [], "any", false, false, false, 44), "first", [], "any", false, false, false, 44), "secondaryDestination", [], "any", false, false, false, 44), "id", [], "any", false, false, false, 44), null)) : (null))) : (null));
// line 46
yield "\t\t\t\t";
$context["companyId"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "ship", [], "any", false, true, false, 46), "company", [], "any", false, true, false, 46), "id", [], "any", true, true, false, 46)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 46, $this->source); })()), "ship", [], "any", false, false, false, 46), "company", [], "any", false, false, false, 46), "id", [], "any", false, false, false, 46), null)) : (null));
// line 47
yield "
\t\t\t\t";
// line 48
yield from $this->load("pages/_includes/_breadcrumb.html.twig", 48)->unwrap()->yield(CoreExtension::toArray(["destination" => (((($tmp = // line 49
(isset($context["destinationName"]) || array_key_exists("destinationName", $context) ? $context["destinationName"] : (function () { throw new RuntimeError('Variable "destinationName" does not exist.', 49, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (["name" => (isset($context["destinationName"]) || array_key_exists("destinationName", $context) ? $context["destinationName"] : (function () { throw new RuntimeError('Variable "destinationName" does not exist.', 49, $this->source); })()), "url" => (((($tmp = (isset($context["destinationId"]) || array_key_exists("destinationId", $context) ? $context["destinationId"] : (function () { throw new RuntimeError('Variable "destinationId" does not exist.', 49, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (("/croisieres?destination=" . (isset($context["destinationId"]) || array_key_exists("destinationId", $context) ? $context["destinationId"] : (function () { throw new RuntimeError('Variable "destinationId" does not exist.', 49, $this->source); })()))) : (null))]) : (null)), "company" => ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 50
($context["cruise"] ?? null), "ship", [], "any", false, true, false, 50), "company", [], "any", false, true, false, 50), "name", [], "any", true, true, false, 50)) ? (["name" => CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 50, $this->source); })()), "ship", [], "any", false, false, false, 50), "company", [], "any", false, false, false, 50), "name", [], "any", false, false, false, 50), "url" => (((($tmp = (isset($context["companyId"]) || array_key_exists("companyId", $context) ? $context["companyId"] : (function () { throw new RuntimeError('Variable "companyId" does not exist.', 50, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (("/croisieres?company=" . (isset($context["companyId"]) || array_key_exists("companyId", $context) ? $context["companyId"] : (function () { throw new RuntimeError('Variable "companyId" does not exist.', 50, $this->source); })()))) : (null))]) : (null)), "productTitle" => Twig\Extension\CoreExtension::default($this->extensions['Croisiland\CommonBundle\Twig\CruiseExtension']->getCruiseName( // line 51
(isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 51, $this->source); })())), "")]));
// line 53
yield "\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
\t";
// line 59
yield "
\t<div class=\"container-fluid mb-5\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t";
// line 64
$context["cruiseRelatedMedias"] = $this->env->getFunction('getCruiseRelatedMedias')->getCallable()((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 64, $this->source); })()));
// line 65
yield "\t\t\t\t";
$context["cruiseShipMedias"] = $this->extensions['App\Twig\CreaMedia\CachingMediaBundleExtension']->getMedias([], CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 65, $this->source); })()), "ship", [], "any", false, false, false, 65));
// line 66
yield "\t\t\t\t";
$context["cruiseStopoversMedias"] = $this->env->getFunction('getCruiseStopoversMediaFiles')->getCallable()((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 66, $this->source); })()));
// line 67
yield "\t\t\t\t";
$context["cruiseCabinTypesMedias"] = $this->env->getFunction('getCruiseCabinTypesMediaFiles')->getCallable()((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 67, $this->source); })()));
// line 68
yield "\t\t\t\t";
yield from $this->load("pages/_includes/details/_gallery-viewer.html.twig", 68)->unwrap()->yield(CoreExtension::toArray(["cruise" => // line 69
(isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 69, $this->source); })()), "allMedias" => // line 70
(isset($context["cruiseRelatedMedias"]) || array_key_exists("cruiseRelatedMedias", $context) ? $context["cruiseRelatedMedias"] : (function () { throw new RuntimeError('Variable "cruiseRelatedMedias" does not exist.', 70, $this->source); })()), "shipMedias" => // line 71
(isset($context["cruiseShipMedias"]) || array_key_exists("cruiseShipMedias", $context) ? $context["cruiseShipMedias"] : (function () { throw new RuntimeError('Variable "cruiseShipMedias" does not exist.', 71, $this->source); })()), "stopoversMedias" => // line 72
(isset($context["cruiseStopoversMedias"]) || array_key_exists("cruiseStopoversMedias", $context) ? $context["cruiseStopoversMedias"] : (function () { throw new RuntimeError('Variable "cruiseStopoversMedias" does not exist.', 72, $this->source); })()), "cabinTypesMedias" => // line 73
(isset($context["cruiseCabinTypesMedias"]) || array_key_exists("cruiseCabinTypesMedias", $context) ? $context["cruiseCabinTypesMedias"] : (function () { throw new RuntimeError('Variable "cruiseCabinTypesMedias" does not exist.', 73, $this->source); })())]));
// line 75
yield "\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
\t";
// line 80
yield from $this->load("pages/_includes/details/_gallery-modal.html.twig", 80)->unwrap()->yield(CoreExtension::toArray(["cruise" => // line 81
(isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 81, $this->source); })()), "shipMedias" => // line 82
(isset($context["cruiseShipMedias"]) || array_key_exists("cruiseShipMedias", $context) ? $context["cruiseShipMedias"] : (function () { throw new RuntimeError('Variable "cruiseShipMedias" does not exist.', 82, $this->source); })()), "stopoversMedias" => // line 83
(isset($context["cruiseStopoversMedias"]) || array_key_exists("cruiseStopoversMedias", $context) ? $context["cruiseStopoversMedias"] : (function () { throw new RuntimeError('Variable "cruiseStopoversMedias" does not exist.', 83, $this->source); })()), "cabinTypesMedias" => // line 84
(isset($context["cruiseCabinTypesMedias"]) || array_key_exists("cruiseCabinTypesMedias", $context) ? $context["cruiseCabinTypesMedias"] : (function () { throw new RuntimeError('Variable "cruiseCabinTypesMedias" does not exist.', 84, $this->source); })())]));
// line 86
yield "
\t";
// line 89
yield "\t<script type=\"application/json\" data-cabins>
\t\t";
// line 90
yield (string) json_encode(((CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "dates", [], "any", true, true, false, 90)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 90, $this->source); })()), "dates", [], "any", false, false, false, 90), [])) : ([])), (Twig\Extension\CoreExtension::constant("JSON_UNESCAPED_UNICODE") | Twig\Extension\CoreExtension::constant("JSON_UNESCAPED_SLASHES")));
yield "
\t</script>
\t";
// line 94
yield "\t<span hidden data-visited-cruise-id=\"";
yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 94, $this->source); })()), "id", [], "any", false, false, false, 94), "html", null, true);
yield "\"></span>
\t";
// line 97
yield "\t";
yield from $this->load("pages/_includes/details/_cabin-modal.html.twig", 97)->unwrap()->yield($context);
// line 98
yield "\t";
yield from $this->load("pages/_includes/details/_type-of-quote-modal.html.twig", 98)->unwrap()->yield($context);
// line 99
yield "
\t";
// line 101
yield "\t";
yield from $this->load("pages/_includes/details/_main-informations.html.twig", 101)->unwrap()->yield(CoreExtension::merge($context, ["offers" => // line 102
(isset($context["offers"]) || array_key_exists("offers", $context) ? $context["offers"] : (function () { throw new RuntimeError('Variable "offers" does not exist.', 102, $this->source); })())]));
// line 104
yield "
\t";
// line 105
yield from $this->load("pages/_includes/details/_other-departures.html.twig", 105)->unwrap()->yield($context);
// line 106
yield "
\t";
// line 107
yield from $this->load("pages/_includes/details/_itinerary.html.twig", 107)->unwrap()->yield($context);
// line 108
yield "
\t";
// line 109
yield from $this->load("pages/_includes/details/_useful-informations.html.twig", 109)->unwrap()->yield($context);
// line 110
yield "\t
\t";
// line 111
if ( !Twig\Extension\CoreExtension::testEmpty((isset($context["offers"]) || array_key_exists("offers", $context) ? $context["offers"] : (function () { throw new RuntimeError('Variable "offers" does not exist.', 111, $this->source); })()))) {
// line 112
yield "\t\t";
yield from $this->load("pages/_includes/details/_promotions.html.twig", 112)->unwrap()->yield(CoreExtension::merge($context, ["offers" => // line 113
(isset($context["offers"]) || array_key_exists("offers", $context) ? $context["offers"] : (function () { throw new RuntimeError('Variable "offers" does not exist.', 113, $this->source); })())]));
// line 115
yield "\t";
}
}
// line 117
yield "
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "./pages/_detail.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 270 => 117, 266 => 115, 264 => 113, 262 => 112, 260 => 111, 257 => 110, 255 => 109, 252 => 108, 250 => 107, 247 => 106, 245 => 105, 242 => 104, 240 => 102, 238 => 101, 235 => 99, 232 => 98, 229 => 97, 223 => 94, 217 => 90, 214 => 89, 210 => 86, 208 => 84, 207 => 83, 206 => 82, 205 => 81, 204 => 80, 197 => 75, 195 => 73, 194 => 72, 193 => 71, 192 => 70, 191 => 69, 189 => 68, 186 => 67, 183 => 66, 180 => 65, 178 => 64, 171 => 59, 164 => 53, 162 => 51, 161 => 50, 160 => 49, 159 => 48, 156 => 47, 153 => 46, 151 => 44, 149 => 43, 147 => 42, 146 => 41, 145 => 40, 139 => 36, 136 => 34, 121 => 21, 118 => 19, 116 => 18, 113 => 17, 111 => 16, 108 => 15, 95 => 14, 83 => 11, 70 => 10, 59 => 14, 56 => 13, 54 => 10, 51 => 9,);
}
public function getSourceContext(): Source
{
return new Source("{#
\tPage détail d\x27une croisière.
\tVariables attendues (fournies par App\\Controller\\Website\\DetailController) :
\t- cruise : entité Cruise (peut être null si ?croisiere=ID est absent ou invalide)
\t- content : données CMS du template (isFloa, isDevelopmentMode, partnerReduction, …)
\tLes sous-templates s\x27appuient TOUS sur `cruise` ; si null, on affiche un fallback minimal.
#}
{% block stylesheets %}
\t<link rel=\"stylesheet\" href=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css\" crossorigin=\"\"/>
{% endblock %}
{% block content %}
{% set offers = getCruiseSpecialOffers(cruise) %}
{% if cruise is null %}
\t{# Pas de croisière en contexte : éviter le crash des includes et afficher un message simple. #}
\t<div class=\"container-fluid mb-5\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t<div class=\"alert alert-warning br3 p-4\">
\t\t\t\t\tCroisière introuvable. Vérifiez le lien (paramètre <code>croisiere</code> manquant ou invalide).
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
{% else %}
\t{# ─── Fil d\x27Ariane ─── #}
\t<div class=\"container-fluid\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t{% set destinationName = cruise.itinerary.secondaryDestinations is iterable
\t\t\t\t\t? cruise.itinerary.secondaryDestinations.first.secondaryDestination.name|default(\x27\x27)
\t\t\t\t\t: cruise.itinerary.destination|default(\x27\x27) %}
\t\t\t\t{% set destinationId = cruise.itinerary.secondaryDestinations is iterable
\t\t\t\t\t? cruise.itinerary.secondaryDestinations.first.secondaryDestination.id|default(null)
\t\t\t\t\t: null %}
\t\t\t\t{% set companyId = cruise.ship.company.id|default(null) %}
\t\t\t\t{% include \x27pages/_includes/_breadcrumb.html.twig\x27 with {
\t\t\t\t\tdestination: destinationName ? { name: destinationName, url: destinationId ? \x27/croisieres?destination=\x27 ~ destinationId : null } : null,
\t\t\t\t\tcompany: cruise.ship.company.name is defined ? { name: cruise.ship.company.name, url: companyId ? \x27/croisieres?company=\x27 ~ companyId : null } : null,
\t\t\t\t\tproductTitle: getCruiseName(cruise)|default(\x27\x27),
\t\t\t\t} only %}
\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
\t{# ─── Galerie en haut de page (désactivée tant qu\x27une vraie source d\x27images n\x27est pas branchée) ─── #}
\t<div class=\"container-fluid mb-5\">
\t\t<div class=\"row\">
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t\t<div class=\"col-lg-10 col-md-10 col-sm-12\">
\t\t\t\t{% set cruiseRelatedMedias = getCruiseRelatedMedias(cruise) %}
\t\t\t\t{% set cruiseShipMedias = crea_media_get_medias([], cruise.ship) %}
\t\t\t\t{% set cruiseStopoversMedias = getCruiseStopoversMediaFiles(cruise) %}
\t\t\t\t{% set cruiseCabinTypesMedias = getCruiseCabinTypesMediaFiles(cruise) %}
\t\t\t\t{% include \x27pages/_includes/details/_gallery-viewer.html.twig\x27 with {
\t\t\t\t\tcruise: cruise,
\t\t\t\t\tallMedias: cruiseRelatedMedias,
\t\t\t\t\tshipMedias: cruiseShipMedias,
\t\t\t\t\tstopoversMedias: cruiseStopoversMedias,
\t\t\t\t\tcabinTypesMedias: cruiseCabinTypesMedias,
\t\t\t\t} only %}
\t\t\t</div>
\t\t\t<div class=\"col-lg-1 col-md-1 col-sm-12\"></div>
\t\t</div>
\t</div>
\t{% include \x27pages/_includes/details/_gallery-modal.html.twig\x27 with {
\t\tcruise: cruise,
\t\tshipMedias: cruiseShipMedias,
\t\tstopoversMedias: cruiseStopoversMedias,
\t\tcabinTypesMedias: cruiseCabinTypesMedias,
\t} only %}
\t{# ─── Données cabines pour le JS de _cabin-choice ─── #}
\t<script type=\"application/json\" data-cabins>
\t\t{{ cruise.dates|default([])|json_encode(constant(\x27JSON_UNESCAPED_UNICODE\x27) b-or constant(\x27JSON_UNESCAPED_SLASHES\x27))|raw }}
\t</script>
\t{# ID croisière pour le cookie « visité récemment » (visitedCruises, écrit dans _details.js) #}
\t<span hidden data-visited-cruise-id=\"{{ cruise.id }}\"></span>
\t{# ─── Modale cabines (alimentée par cabin_datas_tree quand disponible) ─── #}
\t{% include \x27pages/_includes/details/_cabin-modal.html.twig\x27 %}
\t{% include \x27pages/_includes/details/_type-of-quote-modal.html.twig\x27 %}
\t{# ─── Blocs principaux ─── #}
\t{% include \x27pages/_includes/details/_main-informations.html.twig\x27 with {
\t\t\x27offers\x27: offers
\t} %}
\t{% include \x27pages/_includes/details/_other-departures.html.twig\x27 %}
\t{% include \x27pages/_includes/details/_itinerary.html.twig\x27 %}
\t{% include \x27pages/_includes/details/_useful-informations.html.twig\x27 %}
\t
\t{% if offers is not empty %}
\t\t{% include \x27pages/_includes/details/_promotions.html.twig\x27 with {
\t\t\t\x27offers\x27: offers
\t\t} %}
\t{% endif %}
{% endif %}
{% endblock %}
", "./pages/_detail.html.twig", "/home/croisiland-pp/www/f0312421abff37637dabe6f4d57b6afd95d16263/templates/pages/_detail.html.twig");
}
}