var/cache/dev/twig/71/71e8ab67d9ff526143e75a2416115d73.php line 95

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* front/catalog/product/view.html.twig */
  16. class __TwigTemplate_4259ef71957ef3aeb11103671efa4832 extends Template
  17. {
  18. private Source $source;
  19. /**
  20. * @var array<string, Template>
  21. */
  22. private array $macros = [];
  23. public function __construct(Environment $env)
  24. {
  25. parent::__construct($env);
  26. $this->source = $this->getSourceContext();
  27. $this->blocks = [
  28. 'bodyClass' => [$this, 'block_bodyClass'],
  29. 'metas' => [$this, 'block_metas'],
  30. 'structuredData' => [$this, 'block_structuredData'],
  31. 'featured' => [$this, 'block_featured'],
  32. 'breadcrumbs' => [$this, 'block_breadcrumbs'],
  33. 'content' => [$this, 'block_content'],
  34. 'javascripts' => [$this, 'block_javascripts'],
  35. ];
  36. }
  37. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  38. {
  39. // line 1
  40. return "front/front.html.twig";
  41. }
  42. protected function doDisplay(array $context, array $blocks = []): iterable
  43. {
  44. $macros = $this->macros;
  45. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  46. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "front/catalog/product/view.html.twig"));
  47. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  48. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "front/catalog/product/view.html.twig"));
  49. $this->parent = $this->load("front/front.html.twig", 1);
  50. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  51. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  52. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  53. }
  54. // line 3
  55. /**
  56. * @return iterable<null|scalar|\Stringable>
  57. */
  58. public function block_bodyClass(array $context, array $blocks = []): iterable
  59. {
  60. $macros = $this->macros;
  61. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  62. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "bodyClass"));
  63. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  64. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "bodyClass"));
  65. yield "product";
  66. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  67. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  68. yield from [];
  69. }
  70. // line 5
  71. /**
  72. * @return iterable<null|scalar|\Stringable>
  73. */
  74. public function block_metas(array $context, array $blocks = []): iterable
  75. {
  76. $macros = $this->macros;
  77. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  78. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "metas"));
  79. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  80. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "metas"));
  81. // line 6
  82. yield " <title>";
  83. yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 6, $this->source); })()), "headTitleTag", [], "any", false, false, false, 6)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 6, $this->source); })()), "headTitleTag", [], "any", false, false, false, 6), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 6, $this->source); })()), "name", [], "any", false, false, false, 6), "html", null, true)));
  84. yield "</title>
  85. <meta name=\"description\" content=\"";
  86. // line 7
  87. yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 7, $this->source); })()), "headDescTag", [], "any", false, false, false, 7)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 7, $this->source); })()), "headDescTag", [], "any", false, false, false, 7), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\TextExtension']->metaDescriptionFilter(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 7, $this->source); })()), "description", [], "any", false, false, false, 7)), "html", null, true)));
  88. yield "\">
  89. <link rel=\"canonical\" href=\"";
  90. // line 8
  91. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product", ["id" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 8, $this->source); })()), "id", [], "any", false, false, false, 8), "url" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 8, $this->source); })()), "url", [], "any", false, false, false, 8)]), "html", null, true);
  92. yield "\" />
  93. ";
  94. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  95. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  96. yield from [];
  97. }
  98. // line 11
  99. /**
  100. * @return iterable<null|scalar|\Stringable>
  101. */
  102. public function block_structuredData(array $context, array $blocks = []): iterable
  103. {
  104. $macros = $this->macros;
  105. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  106. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "structuredData"));
  107. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  108. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "structuredData"));
  109. // line 12
  110. yield " ";
  111. $context["cpt"] = 1;
  112. // line 13
  113. yield " <script type=\"application/ld+json\">
  114. {
  115. \"@context\": \"https://schema.org\",
  116. \"@type\": \"BreadcrumbList\",
  117. \"itemListElement\":
  118. [
  119. {
  120. \"@type\": \"ListItem\",
  121. \"position\": ";
  122. // line 21
  123. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["cpt"]) || array_key_exists("cpt", $context) ? $context["cpt"] : (function () { throw new RuntimeError('Variable "cpt" does not exist.', 21, $this->source); })()), "html", null, true);
  124. yield ",
  125. \"item\":
  126. {
  127. \"@id\": \"";
  128. // line 24
  129. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("index");
  130. yield "\",
  131. \"name\": \"";
  132. // line 25
  133. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Vivog | Matériel pour les toiletteurs et éleveurs", [], "messages");
  134. yield "\"
  135. }
  136. },
  137. ";
  138. // line 28
  139. $context['_parent'] = $context;
  140. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["path"]) || array_key_exists("path", $context) ? $context["path"] : (function () { throw new RuntimeError('Variable "path" does not exist.', 28, $this->source); })()));
  141. $context['loop'] = [
  142. 'parent' => $context['_parent'],
  143. 'index0' => 0,
  144. 'index' => 1,
  145. 'first' => true,
  146. ];
  147. if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  148. $length = count($context['_seq']);
  149. $context['loop']['revindex0'] = $length - 1;
  150. $context['loop']['revindex'] = $length;
  151. $context['loop']['length'] = $length;
  152. $context['loop']['last'] = 1 === $length;
  153. }
  154. foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  155. // line 29
  156. yield " ";
  157. $context["cpt"] = ((isset($context["cpt"]) || array_key_exists("cpt", $context) ? $context["cpt"] : (function () { throw new RuntimeError('Variable "cpt" does not exist.', 29, $this->source); })()) + 1);
  158. // line 30
  159. yield " {
  160. \"@type\": \"ListItem\",
  161. \"position\": ";
  162. // line 32
  163. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["cpt"]) || array_key_exists("cpt", $context) ? $context["cpt"] : (function () { throw new RuntimeError('Variable "cpt" does not exist.', 32, $this->source); })()), "html", null, true);
  164. yield ",
  165. \"item\":
  166. {
  167. ";
  168. // line 35
  169. if ((CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 35) == 1)) {
  170. // line 36
  171. yield " \"@id\": \"";
  172. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("universe", ["url" => CoreExtension::getAttribute($this->env, $this->source, $context["p"], "url", [], "any", false, false, false, 36), "id" => CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 36)]), "html", null, true);
  173. yield "\",
  174. ";
  175. } else {
  176. // line 38
  177. yield " \"@id\": \"";
  178. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("category", ["url" => CoreExtension::getAttribute($this->env, $this->source, $context["p"], "url", [], "any", false, false, false, 38), "id" => CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 38)]), "html", null, true);
  179. yield "\",
  180. ";
  181. }
  182. // line 40
  183. yield " \"name\": \"";
  184. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "name", [], "any", false, false, false, 40), "html", null, true);
  185. yield "\"
  186. }
  187. },
  188. ";
  189. ++$context['loop']['index0'];
  190. ++$context['loop']['index'];
  191. $context['loop']['first'] = false;
  192. if (isset($context['loop']['revindex0'], $context['loop']['revindex'])) {
  193. --$context['loop']['revindex0'];
  194. --$context['loop']['revindex'];
  195. $context['loop']['last'] = 0 === $context['loop']['revindex0'];
  196. }
  197. }
  198. $_parent = $context['_parent'];
  199. unset($context['_seq'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
  200. $context = array_intersect_key($context, $_parent) + $_parent;
  201. // line 44
  202. yield " ";
  203. $context["cpt"] = ((isset($context["cpt"]) || array_key_exists("cpt", $context) ? $context["cpt"] : (function () { throw new RuntimeError('Variable "cpt" does not exist.', 44, $this->source); })()) + 1);
  204. // line 45
  205. yield " {
  206. \"@type\": \"ListItem\",
  207. \"position\": ";
  208. // line 47
  209. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["cpt"]) || array_key_exists("cpt", $context) ? $context["cpt"] : (function () { throw new RuntimeError('Variable "cpt" does not exist.', 47, $this->source); })()), "html", null, true);
  210. yield ",
  211. \"item\":
  212. {
  213. \"@id\": \"";
  214. // line 50
  215. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product", ["url" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 50, $this->source); })()), "url", [], "any", false, false, false, 50), "id" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 50, $this->source); })()), "id", [], "any", false, false, false, 50)]), "html", null, true);
  216. yield "\",
  217. \"name\": \"";
  218. // line 51
  219. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 51, $this->source); })()), "name", [], "any", false, false, false, 51), "html", null, true);
  220. yield "\"
  221. }
  222. }
  223. ]
  224. }
  225. </script>
  226. ";
  227. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  228. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  229. yield from [];
  230. }
  231. // line 59
  232. /**
  233. * @return iterable<null|scalar|\Stringable>
  234. */
  235. public function block_featured(array $context, array $blocks = []): iterable
  236. {
  237. $macros = $this->macros;
  238. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  239. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "featured"));
  240. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  241. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "featured"));
  242. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  243. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  244. yield from [];
  245. }
  246. // line 61
  247. /**
  248. * @return iterable<null|scalar|\Stringable>
  249. */
  250. public function block_breadcrumbs(array $context, array $blocks = []): iterable
  251. {
  252. $macros = $this->macros;
  253. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  254. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumbs"));
  255. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  256. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumbs"));
  257. // line 62
  258. yield " ";
  259. yield from $this->load("front/layout/breadcrumbs.html.twig", 62)->unwrap()->yield(CoreExtension::merge($context, ["product" => (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 62, $this->source); })())]));
  260. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  261. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  262. yield from [];
  263. }
  264. // line 65
  265. /**
  266. * @return iterable<null|scalar|\Stringable>
  267. */
  268. public function block_content(array $context, array $blocks = []): iterable
  269. {
  270. $macros = $this->macros;
  271. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  272. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  273. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  274. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  275. // line 66
  276. yield "
  277. ";
  278. // line 67
  279. yield from $this->load("front/layout/messages.html.twig", 67)->unwrap()->yield($context);
  280. // line 68
  281. yield "
  282. <div class=\"product-view\">
  283. <div class=\"ctn\">
  284. ";
  285. // line 71
  286. yield from $this->load("front/catalog/product/view/infos.html.twig", 71)->unwrap()->yield(CoreExtension::merge($context, ["discounts" => (isset($context["discountsList"]) || array_key_exists("discountsList", $context) ? $context["discountsList"] : (function () { throw new RuntimeError('Variable "discountsList" does not exist.', 71, $this->source); })())]));
  287. // line 72
  288. yield " </div>
  289. <div class=\"ctn\">
  290. ";
  291. // line 74
  292. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 74, $this->source); })()), "description", [], "any", false, false, false, 74)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  293. // line 75
  294. yield " <div class=\"tab-content rte section\" id=\"description\">
  295. <div class=\"title-ctn\">
  296. <div class=\"title\">";
  297. // line 77
  298. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Description détaillée", [], "messages");
  299. yield "</div>
  300. </div>
  301. ";
  302. // line 79
  303. yield CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 79, $this->source); })()), "description", [], "any", false, false, false, 79);
  304. yield "
  305. </div>
  306. ";
  307. }
  308. // line 82
  309. yield " ";
  310. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 82, $this->source); })()), "notice", [], "any", false, false, false, 82)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  311. // line 83
  312. yield " <div class=\"tab-content rte section tab-notice notice-";
  313. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 83, $this->source); })()), "id", [], "any", false, false, false, 83), "html", null, true);
  314. yield "\" id=\"notice-";
  315. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 83, $this->source); })()), "id", [], "any", false, false, false, 83), "html", null, true);
  316. yield "\">
  317. <div class=\"title-ctn\">
  318. <div class=\"title\">";
  319. // line 85
  320. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Notice", [], "messages");
  321. yield "</div>
  322. </div>
  323. <p class=\"notice\"><a href=\"";
  324. // line 87
  325. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 87, $this->source); })()), "noticeUrl", [], "any", false, false, false, 87), "html", null, true);
  326. yield "\" target=\"_blank\">";
  327. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Télécharger la notice d\x27utilisation", [], "messages");
  328. yield "</a></p>
  329. </div>
  330. ";
  331. }
  332. // line 90
  333. yield " ";
  334. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 90, $this->source); })()), "conseil1", [], "any", false, false, false, 90)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  335. // line 91
  336. yield " <div class=\"section rte advices\">
  337. <div class=\"title-ctn\">
  338. <div class=\"title\">";
  339. // line 93
  340. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Conseils et astuces", [], "messages");
  341. yield "</div>
  342. </div>
  343. ";
  344. // line 95
  345. yield CoreExtension::getAttribute($this->env, $this->source, (isset($context["productDescription"]) || array_key_exists("productDescription", $context) ? $context["productDescription"] : (function () { throw new RuntimeError('Variable "productDescription" does not exist.', 95, $this->source); })()), "conseil1", [], "any", false, false, false, 95);
  346. yield "
  347. </div>
  348. ";
  349. }
  350. // line 98
  351. yield " ";
  352. yield from $this->load("front/catalog/product/view/caracteristics.html.twig", 98)->unwrap()->yield($context);
  353. // line 99
  354. yield " ";
  355. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 99, $this->source); })()), "video", [], "any", false, false, false, 99)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  356. // line 100
  357. yield " <div class=\"tab-content rte section\" id=\"video\">
  358. <div class=\"title-ctn\">
  359. <div class=\"title\">";
  360. // line 102
  361. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Vid&Eacute;o", [], "messages");
  362. yield "</div>
  363. <hr>
  364. </div>
  365. <div class=\"video-ctn\">
  366. ";
  367. // line 106
  368. yield CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 106, $this->source); })()), "video", [], "any", false, false, false, 106);
  369. yield "
  370. </div>
  371. </div>
  372. ";
  373. }
  374. // line 110
  375. yield " </div>
  376. ";
  377. // line 111
  378. if ((($tmp = (isset($context["associates"]) || array_key_exists("associates", $context) ? $context["associates"] : (function () { throw new RuntimeError('Variable "associates" does not exist.', 111, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  379. // line 112
  380. yield " ";
  381. yield from $this->load("front/catalog/product/carousel.html.twig", 112)->unwrap()->yield(CoreExtension::merge($context, ["products" => (isset($context["associates"]) || array_key_exists("associates", $context) ? $context["associates"] : (function () { throw new RuntimeError('Variable "associates" does not exist.', 112, $this->source); })()), "title" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Produits associés"), "withWrapper" => true]));
  382. // line 113
  383. yield " ";
  384. }
  385. // line 114
  386. yield " <div class=\"ctn\" style=\"padding: 30px 0;\">
  387. ";
  388. // line 115
  389. if ((($tmp = (isset($context["inCategory"]) || array_key_exists("inCategory", $context) ? $context["inCategory"] : (function () { throw new RuntimeError('Variable "inCategory" does not exist.', 115, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  390. // line 116
  391. yield " ";
  392. yield from $this->load("front/catalog/product/carousel.html.twig", 116)->unwrap()->yield(CoreExtension::merge($context, ["products" => (isset($context["inCategory"]) || array_key_exists("inCategory", $context) ? $context["inCategory"] : (function () { throw new RuntimeError('Variable "inCategory" does not exist.', 116, $this->source); })()), "title" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Dans la même catégorie"), "withWrapper" => false]));
  393. // line 117
  394. yield " ";
  395. }
  396. // line 118
  397. yield " </div>
  398. ";
  399. // line 119
  400. yield $this->env->getRuntime('Symfony\Bridge\Twig\Extension\HttpKernelRuntime')->renderFragment(Symfony\Bridge\Twig\Extension\HttpKernelExtension::controller("App\\Controller\\Front\\Modules\\SeenProductsController::block", ["request" => CoreExtension::getAttribute($this->env, $this->source, // line 121
  401. (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 121, $this->source); })()), "request", [], "any", false, false, false, 121)]));
  402. // line 122
  403. yield "
  404. <div class=\"ctn\">
  405. ";
  406. // line 124
  407. if ((($tmp = (isset($context["pathTags"]) || array_key_exists("pathTags", $context) ? $context["pathTags"] : (function () { throw new RuntimeError('Variable "pathTags" does not exist.', 124, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  408. // line 125
  409. yield " <div class=\"section rte tags\">
  410. <div class=\"title-ctn\">
  411. <div class=\"title\">";
  412. // line 127
  413. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Craquez aussi pour...", [], "messages");
  414. yield "</div>
  415. </div>
  416. ";
  417. // line 129
  418. yield (isset($context["pathTags"]) || array_key_exists("pathTags", $context) ? $context["pathTags"] : (function () { throw new RuntimeError('Variable "pathTags" does not exist.', 129, $this->source); })());
  419. yield "
  420. </div>
  421. ";
  422. }
  423. // line 132
  424. yield " </div>
  425. ";
  426. // line 143
  427. yield " </div>
  428. ";
  429. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  430. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  431. yield from [];
  432. }
  433. // line 146
  434. /**
  435. * @return iterable<null|scalar|\Stringable>
  436. */
  437. public function block_javascripts(array $context, array $blocks = []): iterable
  438. {
  439. $macros = $this->macros;
  440. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  441. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  442. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  443. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  444. // line 147
  445. yield " <script src=\"";
  446. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("js/product.js"), "html", null, true);
  447. yield "?v=666565\"></script>
  448. <script>
  449. \$(document).ready(function(){
  450. ";
  451. // line 151
  452. yield " product.init();
  453. });
  454. </script>
  455. ";
  456. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  457. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  458. yield from [];
  459. }
  460. /**
  461. * @codeCoverageIgnore
  462. */
  463. public function getTemplateName(): string
  464. {
  465. return "front/catalog/product/view.html.twig";
  466. }
  467. /**
  468. * @codeCoverageIgnore
  469. */
  470. public function isTraitable(): bool
  471. {
  472. return false;
  473. }
  474. /**
  475. * @codeCoverageIgnore
  476. */
  477. public function getDebugInfo(): array
  478. {
  479. return array ( 510 => 151, 503 => 147, 490 => 146, 478 => 143, 475 => 132, 469 => 129, 464 => 127, 460 => 125, 458 => 124, 454 => 122, 452 => 121, 451 => 119, 448 => 118, 445 => 117, 442 => 116, 440 => 115, 437 => 114, 434 => 113, 431 => 112, 429 => 111, 426 => 110, 419 => 106, 412 => 102, 408 => 100, 405 => 99, 402 => 98, 396 => 95, 391 => 93, 387 => 91, 384 => 90, 376 => 87, 371 => 85, 363 => 83, 360 => 82, 354 => 79, 349 => 77, 345 => 75, 343 => 74, 339 => 72, 337 => 71, 332 => 68, 330 => 67, 327 => 66, 314 => 65, 302 => 62, 289 => 61, 267 => 59, 249 => 51, 245 => 50, 239 => 47, 235 => 45, 232 => 44, 213 => 40, 207 => 38, 201 => 36, 199 => 35, 193 => 32, 189 => 30, 186 => 29, 169 => 28, 163 => 25, 159 => 24, 153 => 21, 143 => 13, 140 => 12, 127 => 11, 114 => 8, 110 => 7, 105 => 6, 92 => 5, 69 => 3, 46 => 1,);
  480. }
  481. public function getSourceContext(): Source
  482. {
  483. return new Source("{% extends \x27front/front.html.twig\x27 %}
  484. {% block bodyClass %}product{% endblock %}
  485. {% block metas %}
  486. <title>{{ productDescription.headTitleTag ? productDescription.headTitleTag : productDescription.name }}</title>
  487. <meta name=\"description\" content=\"{{ productDescription.headDescTag ? productDescription.headDescTag : productDescription.description|metadescription }}\">
  488. <link rel=\"canonical\" href=\"{{ url(\x27product\x27,{id:product.id, url:productDescription.url}) }}\" />
  489. {% endblock %}
  490. {% block structuredData %}
  491. {% set cpt = 1 %}
  492. <script type=\"application/ld+json\">
  493. {
  494. \"@context\": \"https://schema.org\",
  495. \"@type\": \"BreadcrumbList\",
  496. \"itemListElement\":
  497. [
  498. {
  499. \"@type\": \"ListItem\",
  500. \"position\": {{ cpt }},
  501. \"item\":
  502. {
  503. \"@id\": \"{{ url(\x27index\x27) }}\",
  504. \"name\": \"{% trans %}Vivog | Matériel pour les toiletteurs et éleveurs{% endtrans %}\"
  505. }
  506. },
  507. {% for p in path %}
  508. {% set cpt = cpt + 1 %}
  509. {
  510. \"@type\": \"ListItem\",
  511. \"position\": {{ cpt }},
  512. \"item\":
  513. {
  514. {% if loop.index == 1 %}
  515. \"@id\": \"{{ url(\x27universe\x27,{url:p.url,id:p.id}) }}\",
  516. {% else %}
  517. \"@id\": \"{{ url(\x27category\x27,{url:p.url,id:p.id}) }}\",
  518. {% endif %}
  519. \"name\": \"{{ p.name }}\"
  520. }
  521. },
  522. {% endfor %}
  523. {% set cpt = cpt + 1 %}
  524. {
  525. \"@type\": \"ListItem\",
  526. \"position\": {{ cpt }},
  527. \"item\":
  528. {
  529. \"@id\": \"{{ url(\x27product\x27,{url:product.url,id:product.id}) }}\",
  530. \"name\": \"{{ product.name }}\"
  531. }
  532. }
  533. ]
  534. }
  535. </script>
  536. {% endblock %}
  537. {% block featured %}{% endblock %}
  538. {% block breadcrumbs %}
  539. {% include \x27front/layout/breadcrumbs.html.twig\x27 with {product:product} %}
  540. {% endblock %}
  541. {% block content %}
  542. {% include \x27front/layout/messages.html.twig\x27 %}
  543. <div class=\"product-view\">
  544. <div class=\"ctn\">
  545. {% include \x27front/catalog/product/view/infos.html.twig\x27 with {discounts:discountsList} %}
  546. </div>
  547. <div class=\"ctn\">
  548. {% if productDescription.description %}
  549. <div class=\"tab-content rte section\" id=\"description\">
  550. <div class=\"title-ctn\">
  551. <div class=\"title\">{% trans %}Description détaillée{% endtrans %}</div>
  552. </div>
  553. {{ productDescription.description|raw }}
  554. </div>
  555. {% endif %}
  556. {% if productDescription.notice %}
  557. <div class=\"tab-content rte section tab-notice notice-{{ product.id }}\" id=\"notice-{{ product.id }}\">
  558. <div class=\"title-ctn\">
  559. <div class=\"title\">{% trans %}Notice{% endtrans %}</div>
  560. </div>
  561. <p class=\"notice\"><a href=\"{{ productDescription.noticeUrl }}\" target=\"_blank\">{% trans %}Télécharger la notice d\x27utilisation{% endtrans %}</a></p>
  562. </div>
  563. {% endif %}
  564. {% if productDescription.conseil1 %}
  565. <div class=\"section rte advices\">
  566. <div class=\"title-ctn\">
  567. <div class=\"title\">{% trans %}Conseils et astuces{% endtrans %}</div>
  568. </div>
  569. {{ productDescription.conseil1|raw }}
  570. </div>
  571. {% endif %}
  572. {% include \x27front/catalog/product/view/caracteristics.html.twig\x27 %}
  573. {% if product.video %}
  574. <div class=\"tab-content rte section\" id=\"video\">
  575. <div class=\"title-ctn\">
  576. <div class=\"title\">{% trans %}Vid&Eacute;o{% endtrans %}</div>
  577. <hr>
  578. </div>
  579. <div class=\"video-ctn\">
  580. {{ product.video|raw }}
  581. </div>
  582. </div>
  583. {% endif %}
  584. </div>
  585. {% if associates %}
  586. {% include \x27front/catalog/product/carousel.html.twig\x27 with {products:associates, title:\x27Produits associés\x27|trans, withWrapper:true} %}
  587. {% endif %}
  588. <div class=\"ctn\" style=\"padding: 30px 0;\">
  589. {% if inCategory %}
  590. {% include \x27front/catalog/product/carousel.html.twig\x27 with {products:inCategory, title:\x27Dans la même catégorie\x27|trans, withWrapper:false} %}
  591. {% endif %}
  592. </div>
  593. {{ render(controller(
  594. \x27App\\\\Controller\\\\Front\\\\Modules\\\\SeenProductsController::block\x27,
  595. { \x27request\x27: app.request }
  596. )) }}
  597. <div class=\"ctn\">
  598. {% if pathTags %}
  599. <div class=\"section rte tags\">
  600. <div class=\"title-ctn\">
  601. <div class=\"title\">{% trans %}Craquez aussi pour...{% endtrans %}</div>
  602. </div>
  603. {{ pathTags|raw }}
  604. </div>
  605. {% endif %}
  606. </div>
  607. {# <div class=\"ctn\">
  608. <div class=\"section tags module-categories\">
  609. <div class=\"title-ctn\">
  610. <div class=\"title\">{% trans %}No catégories{% endtrans %}</div>
  611. </div>
  612. <div class=\"content\">
  613. {{ pathTags|raw }}
  614. </div>
  615. </div>
  616. </div>#}
  617. </div>
  618. {% endblock %}
  619. {% block javascripts %}
  620. <script src=\"{{ asset(\x27js/product.js\x27) }}?v=666565\"></script>
  621. <script>
  622. \$(document).ready(function(){
  623. {# tabs.init();#}
  624. product.init();
  625. });
  626. </script>
  627. {% endblock %}", "front/catalog/product/view.html.twig", "/var/www/dogcat.com/pim/templates/front/catalog/product/view.html.twig");
  628. }
  629. }