var/cache/dev/twig/38/38ea325e94b624ea1437ec5d85c35cf8.php line 612

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/model/view.html.twig */
  16. class __TwigTemplate_feeb4aaf90c3a20cb4ccd0e17f4f2035 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/model/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/model/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 product-model";
  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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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_model", ["id" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModel"]) || array_key_exists("productModel", $context) ? $context["productModel"] : (function () { throw new RuntimeError('Variable "productModel" does not exist.', 8, $this->source); })()), "id", [], "any", false, false, false, 8), "url" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" 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_model", ["id" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModel"]) || array_key_exists("productModel", $context) ? $context["productModel"] : (function () { throw new RuntimeError('Variable "productModel" does not exist.', 50, $this->source); })()), "id", [], "any", false, false, false, 50), "url" => CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 50, $this->source); })()), "url", [], "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["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 51, $this->source); })()), "name", [], "any", false, false, false, 51), "html", null, true);
  220. yield "\"
  221. }
  222. }
  223. ]
  224. }
  225. </script>
  226. <script>
  227. ";
  228. // line 60
  229. yield " var products = {};
  230. var defaultProductId = ";
  231. // line 61
  232. 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.', 61, $this->source); })()), "id", [], "any", false, false, false, 61), "html", null, true);
  233. yield ";
  234. ";
  235. // line 62
  236. $context['_parent'] = $context;
  237. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["products"]) || array_key_exists("products", $context) ? $context["products"] : (function () { throw new RuntimeError('Variable "products" does not exist.', 62, $this->source); })()));
  238. foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  239. // line 63
  240. yield " products[\x27";
  241. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 63), "html", null, true);
  242. yield "\x27] = {
  243. id: ";
  244. // line 64
  245. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 64), "js"), "html", null, true);
  246. yield ",
  247. model: \x27";
  248. // line 65
  249. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "model", [], "any", false, false, false, 65), "js"), "html", null, true);
  250. yield "\x27,
  251. inStock: ";
  252. // line 66
  253. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((((CoreExtension::getAttribute($this->env, $this->source, $context["p"], "quantity", [], "any", false, false, false, 66) > 0)) ? (1) : (0)), "js"), "html", null, true);
  254. yield ",
  255. price: ";
  256. // line 67
  257. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "getPrice", [], "method", false, false, false, 67), "js"), "html", null, true);
  258. yield ",
  259. inCart: ";
  260. // line 68
  261. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cartMgr"]) || array_key_exists("cartMgr", $context) ? $context["cartMgr"] : (function () { throw new RuntimeError('Variable "cartMgr" does not exist.', 68, $this->source); })()), "qtyInCart", [$context["p"]], "method", false, false, false, 68), "html", null, true);
  262. yield ",
  263. attributes: {},
  264. pictures: [],
  265. };
  266. ";
  267. // line 72
  268. $context['_parent'] = $context;
  269. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["attributes"]) || array_key_exists("attributes", $context) ? $context["attributes"] : (function () { throw new RuntimeError('Variable "attributes" does not exist.', 72, $this->source); })()));
  270. foreach ($context['_seq'] as $context["_key"] => $context["attribute"]) {
  271. // line 73
  272. yield " products[\x27";
  273. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 73), "html", null, true);
  274. yield "\x27].attributes[\x27";
  275. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["attribute"], "code", [], "any", false, false, false, 73), "html", null, true);
  276. yield "\x27] = \x27";
  277. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["p"], "getAttributeValue", [CoreExtension::getAttribute($this->env, $this->source, $context["attribute"], "code", [], "any", false, false, false, 73)], "method", false, false, false, 73)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, $context["p"], "getAttributeValue", [CoreExtension::getAttribute($this->env, $this->source, $context["attribute"], "code", [], "any", false, false, false, 73)], "method", false, false, false, 73)) : ("")), "js"), "html", null, true);
  278. yield "\x27;
  279. ";
  280. }
  281. $_parent = $context['_parent'];
  282. unset($context['_seq'], $context['_key'], $context['attribute'], $context['_parent']);
  283. $context = array_intersect_key($context, $_parent) + $_parent;
  284. // line 75
  285. yield " ";
  286. $context['_parent'] = $context;
  287. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "pictures", [], "any", false, false, false, 75));
  288. foreach ($context['_seq'] as $context["_key"] => $context["picture"]) {
  289. // line 76
  290. yield " products[\x27";
  291. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 76), "html", null, true);
  292. yield "\x27].pictures.push ({
  293. id: ";
  294. // line 77
  295. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "id", [], "any", false, false, false, 77), "js"), "html", null, true);
  296. yield ",
  297. code: \x27";
  298. // line 78
  299. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "code", [], "any", false, false, false, 78), "js"), "html", null, true);
  300. yield "\x27,
  301. url: \x27";
  302. // line 79
  303. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "webPath", [], "any", false, false, false, 79), "js"), "html", null, true);
  304. yield "\x27,
  305. small: \x27";
  306. // line 80
  307. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "webPath", [], "any", false, false, false, 80), "product_small"), "js"), "html", null, true);
  308. yield "\x27,
  309. medium: \x27";
  310. // line 81
  311. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "webPath", [], "any", false, false, false, 81), "product_medium"), "js"), "html", null, true);
  312. yield "\x27,
  313. large: \x27";
  314. // line 82
  315. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "webPath", [], "any", false, false, false, 82), "product_large"), "js"), "html", null, true);
  316. yield "\x27,
  317. zoom: \x27";
  318. // line 83
  319. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "webPath", [], "any", false, false, false, 83), "product_zoom"), "js"), "html", null, true);
  320. yield "\x27,
  321. title: \x27";
  322. // line 84
  323. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "title", [], "any", false, false, false, 84), "js"), "html", null, true);
  324. yield "\x27,
  325. alt: \x27";
  326. // line 85
  327. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["picture"], "alt", [], "any", false, false, false, 85), "js"), "html", null, true);
  328. yield "\x27,
  329. });
  330. ";
  331. }
  332. $_parent = $context['_parent'];
  333. unset($context['_seq'], $context['_key'], $context['picture'], $context['_parent']);
  334. $context = array_intersect_key($context, $_parent) + $_parent;
  335. // line 88
  336. yield " ";
  337. }
  338. $_parent = $context['_parent'];
  339. unset($context['_seq'], $context['_key'], $context['p'], $context['_parent']);
  340. $context = array_intersect_key($context, $_parent) + $_parent;
  341. // line 89
  342. yield " var assets = {};
  343. ";
  344. // line 90
  345. $context['_parent'] = $context;
  346. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["assets"]) || array_key_exists("assets", $context) ? $context["assets"] : (function () { throw new RuntimeError('Variable "assets" does not exist.', 90, $this->source); })()));
  347. foreach ($context['_seq'] as $context["pid"] => $context["pictures"]) {
  348. // line 91
  349. yield " assets[\x27";
  350. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["pid"], "html", null, true);
  351. yield "\x27] = [];
  352. ";
  353. // line 92
  354. $context['_parent'] = $context;
  355. $context['_seq'] = CoreExtension::ensureTraversable($context["pictures"]);
  356. foreach ($context['_seq'] as $context["_key"] => $context["asset"]) {
  357. // line 93
  358. yield " assets[\x27";
  359. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["pid"], "html", null, true);
  360. yield "\x27].push ({
  361. id: ";
  362. // line 94
  363. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "id", [], "any", false, false, false, 94), "js"), "html", null, true);
  364. yield ",
  365. code: \x27";
  366. // line 95
  367. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "code", [], "any", false, false, false, 95), "js"), "html", null, true);
  368. yield "\x27,
  369. url: \x27";
  370. // line 96
  371. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "webPath", [], "any", false, false, false, 96), "js"), "html", null, true);
  372. yield "\x27,
  373. small: \x27";
  374. // line 97
  375. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "webPath", [], "any", false, false, false, 97), "product_small"), "js"), "html", null, true);
  376. yield "\x27,
  377. medium: \x27";
  378. // line 98
  379. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "webPath", [], "any", false, false, false, 98), "product_medium"), "js"), "html", null, true);
  380. yield "\x27,
  381. large: \x27";
  382. // line 99
  383. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "webPath", [], "any", false, false, false, 99), "product_large"), "js"), "html", null, true);
  384. yield "\x27,
  385. zoom: \x27";
  386. // line 100
  387. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Liip\ImagineBundle\Templating\LazyFilterRuntime')->filter(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "webPath", [], "any", false, false, false, 100), "product_zoom"), "js"), "html", null, true);
  388. yield "\x27,
  389. title: \x27";
  390. // line 101
  391. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "title", [], "any", false, false, false, 101), "js"), "html", null, true);
  392. yield "\x27,
  393. alt: \x27";
  394. // line 102
  395. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["asset"], "alt", [], "any", false, false, false, 102), "js"), "html", null, true);
  396. yield "\x27,
  397. });
  398. ";
  399. }
  400. $_parent = $context['_parent'];
  401. unset($context['_seq'], $context['_key'], $context['asset'], $context['_parent']);
  402. $context = array_intersect_key($context, $_parent) + $_parent;
  403. // line 105
  404. yield " ";
  405. }
  406. $_parent = $context['_parent'];
  407. unset($context['_seq'], $context['pid'], $context['pictures'], $context['_parent']);
  408. $context = array_intersect_key($context, $_parent) + $_parent;
  409. // line 106
  410. yield " </script>
  411. ";
  412. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  413. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  414. yield from [];
  415. }
  416. // line 109
  417. /**
  418. * @return iterable<null|scalar|\Stringable>
  419. */
  420. public function block_featured(array $context, array $blocks = []): iterable
  421. {
  422. $macros = $this->macros;
  423. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  424. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "featured"));
  425. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  426. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "featured"));
  427. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  428. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  429. yield from [];
  430. }
  431. // line 111
  432. /**
  433. * @return iterable<null|scalar|\Stringable>
  434. */
  435. public function block_breadcrumbs(array $context, array $blocks = []): iterable
  436. {
  437. $macros = $this->macros;
  438. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  439. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumbs"));
  440. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  441. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumbs"));
  442. // line 112
  443. yield " ";
  444. yield from $this->load("front/layout/breadcrumbs.html.twig", 112)->unwrap()->yield(CoreExtension::merge($context, ["productModel" => (isset($context["productModel"]) || array_key_exists("productModel", $context) ? $context["productModel"] : (function () { throw new RuntimeError('Variable "productModel" does not exist.', 112, $this->source); })())]));
  445. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  446. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  447. yield from [];
  448. }
  449. // line 115
  450. /**
  451. * @return iterable<null|scalar|\Stringable>
  452. */
  453. public function block_content(array $context, array $blocks = []): iterable
  454. {
  455. $macros = $this->macros;
  456. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  457. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  458. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  459. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  460. // line 116
  461. yield "
  462. ";
  463. // line 117
  464. yield from $this->load("front/layout/messages.html.twig", 117)->unwrap()->yield($context);
  465. // line 118
  466. yield "
  467. <div class=\"product-model-view product-view\">
  468. <div class=\"ctn\">
  469. <div class=\"product-infos\">
  470. ";
  471. // line 122
  472. yield from $this->load("front/catalog/model/view/assets.html.twig", 122)->unwrap()->yield($context);
  473. // line 123
  474. yield " <div class=\"infos\">
  475. ";
  476. // line 124
  477. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  478. // line 125
  479. yield " <div class=\"admin-tools\">
  480. <a href=\"";
  481. // line 126
  482. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_product_edit", ["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.', 126, $this->source); })()), "id", [], "any", false, false, false, 126)]), "html", null, true);
  483. yield "\" class=\"admin-update\" target=\"_blank\">modifier le produit</a>
  484. </div>
  485. ";
  486. }
  487. // line 129
  488. yield " ";
  489. 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.', 129, $this->source); })()), "manufacturer", [], "any", false, false, false, 129)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  490. // line 130
  491. yield " <div class=\"manufacturer\"><a href=\"";
  492. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("manufacturer", ["id" => CoreExtension::getAttribute($this->env, $this->source, 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.', 130, $this->source); })()), "manufacturer", [], "any", false, false, false, 130), "id", [], "any", false, false, false, 130), "url" => CoreExtension::getAttribute($this->env, $this->source, 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.', 130, $this->source); })()), "manufacturer", [], "any", false, false, false, 130), "url", [], "any", false, false, false, 130)]), "html", null, true);
  493. yield "\">";
  494. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, 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.', 130, $this->source); })()), "manufacturer", [], "any", false, false, false, 130), "name", [], "any", false, false, false, 130), "html", null, true);
  495. yield "</a></div>
  496. ";
  497. }
  498. // line 132
  499. yield " <h1>";
  500. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 132, $this->source); })()), "headingTitle", [], "any", false, false, false, 132), "html", null, true);
  501. yield "</h1>
  502. <div class=\"description\">
  503. ";
  504. // line 134
  505. if ((($tmp = (isset($context["hasWelcomeDiscount"]) || array_key_exists("hasWelcomeDiscount", $context) ? $context["hasWelcomeDiscount"] : (function () { throw new RuntimeError('Variable "hasWelcomeDiscount" does not exist.', 134, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  506. // line 135
  507. yield " <div>
  508. ";
  509. // line 136
  510. yield from $this->load("front/catalog/product/view/discount-welcome.html.twig", 136)->unwrap()->yield($context);
  511. // line 137
  512. yield " </div>
  513. ";
  514. }
  515. // line 139
  516. yield " </div>
  517. <div class=\"description\">
  518. ";
  519. // line 141
  520. 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.', 141, $this->source); })()), "shortDescription", [], "any", false, false, false, 141)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  521. // line 142
  522. yield " ";
  523. 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.', 142, $this->source); })()), "shortDescription", [], "any", false, false, false, 142);
  524. yield "
  525. ";
  526. }
  527. // line 144
  528. yield " </div>
  529. ";
  530. // line 145
  531. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 145, $this->source); })()), "description", [], "any", false, false, false, 145)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  532. // line 146
  533. yield " <div class=\"description\">
  534. <a href=\"#description\" class=\"bt-scroll\">";
  535. // line 147
  536. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Voir le descriptif", [], "messages");
  537. yield "</a>
  538. </div>
  539. ";
  540. }
  541. // line 150
  542. yield " ";
  543. if ((($tmp = !CoreExtension::getAttribute($this->env, $this->source, (isset($context["customerMgr"]) || array_key_exists("customerMgr", $context) ? $context["customerMgr"] : (function () { throw new RuntimeError('Variable "customerMgr" does not exist.', 150, $this->source); })()), "canSeePrices", [], "method", false, false, false, 150)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  544. // line 151
  545. yield " <div class=\"not-logged\">
  546. ";
  547. // line 152
  548. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Pour voir les prix des articles,", [], "messages");
  549. yield "<a href=\"";
  550. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("customer_login");
  551. yield "\">";
  552. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("il faut être connecté", [], "messages");
  553. yield "</a> ";
  554. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("(c’est gratuit)", [], "messages");
  555. yield ".
  556. </div>
  557. ";
  558. }
  559. // line 155
  560. yield " ";
  561. yield from $this->load("front/catalog/model/view/references.html.twig", 155)->unwrap()->yield($context);
  562. // line 156
  563. yield " ";
  564. if ((($tmp = !CoreExtension::getAttribute($this->env, $this->source, (isset($context["customerMgr"]) || array_key_exists("customerMgr", $context) ? $context["customerMgr"] : (function () { throw new RuntimeError('Variable "customerMgr" does not exist.', 156, $this->source); })()), "isExpert", [], "method", false, false, false, 156)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  565. // line 157
  566. yield " <div class=\"offers\">
  567. <div class=\"free-shipping\">
  568. <img src=\"";
  569. // line 159
  570. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/pictos/shipping.svg"), "html", null, true);
  571. yield "\" alt=\"";
  572. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Livraison gratuite dès 99 € HT", [], "messages");
  573. yield "\">
  574. <div>";
  575. // line 160
  576. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("<strong>LIVRAISON GRATUITE</strong><br>dès 99 € HT", [], "messages");
  577. yield "</div>
  578. </div>
  579. <div class=\"free-gift\">
  580. <img src=\"";
  581. // line 163
  582. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/pictos/gift.svg"), "html", null, true);
  583. yield "\" alt=\"";
  584. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("1 cadeau offert pour chaque commande internet", [], "messages");
  585. yield "\">
  586. <div>";
  587. // line 164
  588. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("<strong>1 CADEAU OFFERT</strong> pour <br>chaque commande internet", [], "messages");
  589. yield "</div>
  590. </div>
  591. </div>
  592. ";
  593. // line 167
  594. 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.', 167, $this->source); })()), "hasSoleil", [], "method", false, false, false, 167)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  595. // line 168
  596. yield " <p>";
  597. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("-25% de remise sur les produits <span class=\"picto soleil\"></span> dès 100€ HT de commande de produits <span class=\"picto soleil\"></span>", [], "messages");
  598. yield "</p>
  599. ";
  600. }
  601. // line 170
  602. yield " ";
  603. 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.', 170, $this->source); })()), "hasNonSoleil", [], "method", false, false, false, 170)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  604. // line 171
  605. yield " <p>";
  606. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("-10% de remise sur les produits <span class=\"picto non-soleil\"></span> dès 100€ HT de commande de produits <span class=\"picto non-soleil\"></span>", [], "messages");
  607. yield "</p>
  608. ";
  609. }
  610. // line 173
  611. yield " ";
  612. }
  613. // line 174
  614. yield " </div>
  615. </div>
  616. </div>
  617. <div class=\"ctn\">
  618. ";
  619. // line 178
  620. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 178, $this->source); })()), "description", [], "any", false, false, false, 178)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  621. // line 179
  622. yield " <div class=\"tab-content rte section\" id=\"description\">
  623. <div class=\"title-ctn\">
  624. <div class=\"title\">";
  625. // line 181
  626. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Description détaillée", [], "messages");
  627. yield "</div>
  628. </div>
  629. ";
  630. // line 183
  631. yield CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 183, $this->source); })()), "description", [], "any", false, false, false, 183);
  632. yield "
  633. </div>
  634. ";
  635. }
  636. // line 186
  637. yield " ";
  638. $context['_parent'] = $context;
  639. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["products"]) || array_key_exists("products", $context) ? $context["products"] : (function () { throw new RuntimeError('Variable "products" does not exist.', 186, $this->source); })()));
  640. foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  641. // line 187
  642. yield " ";
  643. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["p"], "productDescription", [], "any", false, false, false, 187), "notice", [], "any", false, false, false, 187)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  644. // line 188
  645. yield " <div class=\"tab-content rte section tab-notice notice-";
  646. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 188), "html", null, true);
  647. yield "\" id=\"notice-";
  648. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 188), "html", null, true);
  649. yield "\">
  650. <div class=\"title-ctn\">
  651. <div class=\"title\">";
  652. // line 190
  653. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Notice", [], "messages");
  654. yield "</div>
  655. </div>
  656. <p class=\"notice notice-";
  657. // line 192
  658. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["p"], "id", [], "any", false, false, false, 192), "html", null, true);
  659. yield "\"><a href=\"";
  660. 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.', 192, $this->source); })()), "noticeUrl", [], "any", false, false, false, 192), "html", null, true);
  661. yield "\" target=\"_blank\">";
  662. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Télécharger la notice d\x27utilisation", [], "messages");
  663. yield "</a></p>
  664. </div>
  665. ";
  666. }
  667. // line 195
  668. yield " ";
  669. }
  670. $_parent = $context['_parent'];
  671. unset($context['_seq'], $context['_key'], $context['p'], $context['_parent']);
  672. $context = array_intersect_key($context, $_parent) + $_parent;
  673. // line 196
  674. yield " ";
  675. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 196, $this->source); })()), "conseil1", [], "any", false, false, false, 196)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  676. // line 197
  677. yield " <div class=\"section rte advices\">
  678. <div class=\"title-ctn\">
  679. <div class=\"title\">";
  680. // line 199
  681. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Conseils et astuces", [], "messages");
  682. yield "</div>
  683. </div>
  684. ";
  685. // line 201
  686. yield CoreExtension::getAttribute($this->env, $this->source, (isset($context["productModelDescription"]) || array_key_exists("productModelDescription", $context) ? $context["productModelDescription"] : (function () { throw new RuntimeError('Variable "productModelDescription" does not exist.', 201, $this->source); })()), "conseil1", [], "any", false, false, false, 201);
  687. yield "
  688. </div>
  689. ";
  690. }
  691. // line 204
  692. yield " ";
  693. yield from $this->load("front/catalog/model/view/caracteristics.html.twig", 204)->unwrap()->yield($context);
  694. // line 205
  695. yield " ";
  696. 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.', 205, $this->source); })()), "video", [], "any", false, false, false, 205)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  697. // line 206
  698. yield " <div class=\"tab-content rte section\" id=\"video\">
  699. <div class=\"title-ctn\">
  700. <div class=\"title\">";
  701. // line 208
  702. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Vid&Eacute;o", [], "messages");
  703. yield "</div>
  704. <hr>
  705. </div>
  706. <div class=\"video-ctn\">
  707. ";
  708. // line 212
  709. 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.', 212, $this->source); })()), "video", [], "any", false, false, false, 212);
  710. yield "
  711. </div>
  712. </div>
  713. ";
  714. }
  715. // line 216
  716. yield " </div>
  717. ";
  718. // line 217
  719. if ((($tmp = (isset($context["associates"]) || array_key_exists("associates", $context) ? $context["associates"] : (function () { throw new RuntimeError('Variable "associates" does not exist.', 217, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  720. // line 218
  721. yield " ";
  722. yield from $this->load("front/catalog/product/carousel.html.twig", 218)->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.', 218, $this->source); })()), "title" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Produits associés"), "withWrapper" => true]));
  723. // line 219
  724. yield " ";
  725. }
  726. // line 220
  727. yield " <div class=\"ctn\" style=\"padding: 30px 0;\">
  728. ";
  729. // line 221
  730. if ((($tmp = (isset($context["inCategory"]) || array_key_exists("inCategory", $context) ? $context["inCategory"] : (function () { throw new RuntimeError('Variable "inCategory" does not exist.', 221, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  731. // line 222
  732. yield " ";
  733. yield from $this->load("front/catalog/product/carousel.html.twig", 222)->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.', 222, $this->source); })()), "title" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Dans la même catégorie"), "withWrapper" => false]));
  734. // line 223
  735. yield " ";
  736. }
  737. // line 224
  738. yield " </div>
  739. ";
  740. // line 225
  741. 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 227
  742. (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 227, $this->source); })()), "request", [], "any", false, false, false, 227)]));
  743. // line 228
  744. yield "
  745. <div class=\"ctn\">
  746. ";
  747. // line 230
  748. if ((($tmp = (isset($context["pathTags"]) || array_key_exists("pathTags", $context) ? $context["pathTags"] : (function () { throw new RuntimeError('Variable "pathTags" does not exist.', 230, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  749. // line 231
  750. yield " <div class=\"section rte tags\">
  751. <div class=\"title-ctn\">
  752. <div class=\"title\">";
  753. // line 233
  754. yield $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Craquez aussi pour...", [], "messages");
  755. yield "</div>
  756. </div>
  757. ";
  758. // line 235
  759. yield (isset($context["pathTags"]) || array_key_exists("pathTags", $context) ? $context["pathTags"] : (function () { throw new RuntimeError('Variable "pathTags" does not exist.', 235, $this->source); })());
  760. yield "
  761. </div>
  762. ";
  763. }
  764. // line 238
  765. yield " </div>
  766. </div>
  767. ";
  768. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  769. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  770. yield from [];
  771. }
  772. // line 242
  773. /**
  774. * @return iterable<null|scalar|\Stringable>
  775. */
  776. public function block_javascripts(array $context, array $blocks = []): iterable
  777. {
  778. $macros = $this->macros;
  779. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  780. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  781. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  782. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  783. // line 243
  784. yield " <script src=\"";
  785. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("js/product.js"), "html", null, true);
  786. yield "?v=666565\"></script>
  787. <script>
  788. \$(document).ready(function(){
  789. ";
  790. // line 247
  791. yield " product.init();
  792. });
  793. </script>
  794. ";
  795. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  796. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  797. yield from [];
  798. }
  799. /**
  800. * @codeCoverageIgnore
  801. */
  802. public function getTemplateName(): string
  803. {
  804. return "front/catalog/model/view.html.twig";
  805. }
  806. /**
  807. * @codeCoverageIgnore
  808. */
  809. public function isTraitable(): bool
  810. {
  811. return false;
  812. }
  813. /**
  814. * @codeCoverageIgnore
  815. */
  816. public function getDebugInfo(): array
  817. {
  818. return array ( 849 => 247, 842 => 243, 829 => 242, 816 => 238, 810 => 235, 805 => 233, 801 => 231, 799 => 230, 795 => 228, 793 => 227, 792 => 225, 789 => 224, 786 => 223, 783 => 222, 781 => 221, 778 => 220, 775 => 219, 772 => 218, 770 => 217, 767 => 216, 760 => 212, 753 => 208, 749 => 206, 746 => 205, 743 => 204, 737 => 201, 732 => 199, 728 => 197, 725 => 196, 719 => 195, 709 => 192, 704 => 190, 696 => 188, 693 => 187, 688 => 186, 682 => 183, 677 => 181, 673 => 179, 671 => 178, 665 => 174, 662 => 173, 656 => 171, 653 => 170, 647 => 168, 645 => 167, 639 => 164, 633 => 163, 627 => 160, 621 => 159, 617 => 157, 614 => 156, 611 => 155, 599 => 152, 596 => 151, 593 => 150, 587 => 147, 584 => 146, 582 => 145, 579 => 144, 573 => 142, 571 => 141, 567 => 139, 563 => 137, 561 => 136, 558 => 135, 556 => 134, 550 => 132, 542 => 130, 539 => 129, 533 => 126, 530 => 125, 528 => 124, 525 => 123, 523 => 122, 517 => 118, 515 => 117, 512 => 116, 499 => 115, 487 => 112, 474 => 111, 452 => 109, 440 => 106, 434 => 105, 425 => 102, 421 => 101, 417 => 100, 413 => 99, 409 => 98, 405 => 97, 401 => 96, 397 => 95, 393 => 94, 388 => 93, 384 => 92, 379 => 91, 375 => 90, 372 => 89, 366 => 88, 357 => 85, 353 => 84, 349 => 83, 345 => 82, 341 => 81, 337 => 80, 333 => 79, 329 => 78, 325 => 77, 320 => 76, 315 => 75, 302 => 73, 298 => 72, 291 => 68, 287 => 67, 283 => 66, 279 => 65, 275 => 64, 270 => 63, 266 => 62, 262 => 61, 259 => 60, 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,);
  819. }
  820. public function getSourceContext(): Source
  821. {
  822. return new Source("{% extends \x27front/front.html.twig\x27 %}
  823. {% block bodyClass %}product product-model{% endblock %}
  824. {% block metas %}
  825. <title>{{ productModelDescription.headTitleTag ? productModelDescription.headTitleTag : productModelDescription.name }}</title>
  826. <meta name=\"description\" content=\"{{ productModelDescription.headDescTag ? productModelDescription.headDescTag : productModelDescription.description|metadescription }}\">
  827. <link rel=\"canonical\" href=\"{{ url(\x27product_model\x27,{id:productModel.id, url:productModelDescription.url}) }}\" />
  828. {% endblock %}
  829. {% block structuredData %}
  830. {% set cpt = 1 %}
  831. <script type=\"application/ld+json\">
  832. {
  833. \"@context\": \"https://schema.org\",
  834. \"@type\": \"BreadcrumbList\",
  835. \"itemListElement\":
  836. [
  837. {
  838. \"@type\": \"ListItem\",
  839. \"position\": {{ cpt }},
  840. \"item\":
  841. {
  842. \"@id\": \"{{ url(\x27index\x27) }}\",
  843. \"name\": \"{% trans %}Vivog | Matériel pour les toiletteurs et éleveurs{% endtrans %}\"
  844. }
  845. },
  846. {% for p in path %}
  847. {% set cpt = cpt + 1 %}
  848. {
  849. \"@type\": \"ListItem\",
  850. \"position\": {{ cpt }},
  851. \"item\":
  852. {
  853. {% if loop.index == 1 %}
  854. \"@id\": \"{{ url(\x27universe\x27,{url:p.url,id:p.id}) }}\",
  855. {% else %}
  856. \"@id\": \"{{ url(\x27category\x27,{url:p.url,id:p.id}) }}\",
  857. {% endif %}
  858. \"name\": \"{{ p.name }}\"
  859. }
  860. },
  861. {% endfor %}
  862. {% set cpt = cpt + 1 %}
  863. {
  864. \"@type\": \"ListItem\",
  865. \"position\": {{ cpt }},
  866. \"item\":
  867. {
  868. \"@id\": \"{{ url(\x27product_model\x27,{id:productModel.id, url:productModelDescription.url}) }}\",
  869. \"name\": \"{{ productModelDescription.name }}\"
  870. }
  871. }
  872. ]
  873. }
  874. </script>
  875. <script>
  876. {# objets et non tableaux : les clés sont des ids / codes d\x27attribut (ex. \"length\",
  877. qui sur un Array redéfinirait sa longueur et lèverait une RangeError) #}
  878. var products = {};
  879. var defaultProductId = {{ product.id }};
  880. {% for p in products %}
  881. products[\x27{{ p.id }}\x27] = {
  882. id: {{ p.id | e(\x27js\x27) }},
  883. model: \x27{{ p.model | e(\x27js\x27) }}\x27,
  884. inStock: {{ (p.quantity > 0 ? 1 : 0) | e(\x27js\x27) }},
  885. price: {{ p.getPrice() | e(\x27js\x27) }},
  886. inCart: {{ cartMgr.qtyInCart(p) }},
  887. attributes: {},
  888. pictures: [],
  889. };
  890. {% for attribute in attributes %}
  891. products[\x27{{ p.id }}\x27].attributes[\x27{{ attribute.code }}\x27] = \x27{{ (p.getAttributeValue(attribute.code) ? p.getAttributeValue(attribute.code) : \x27\x27) |e(\x27js\x27) }}\x27;
  892. {% endfor %}
  893. {% for picture in p.pictures %}
  894. products[\x27{{ p.id }}\x27].pictures.push ({
  895. id: {{ picture.id | e(\x27js\x27) }},
  896. code: \x27{{ picture.code | e(\x27js\x27) }}\x27,
  897. url: \x27{{ picture.webPath |e(\x27js\x27) }}\x27,
  898. small: \x27{{ picture.webPath | imagine_filter(\x27product_small\x27) |e(\x27js\x27) }}\x27,
  899. medium: \x27{{ picture.webPath | imagine_filter(\x27product_medium\x27) |e(\x27js\x27) }}\x27,
  900. large: \x27{{ picture.webPath | imagine_filter(\x27product_large\x27) |e(\x27js\x27) }}\x27,
  901. zoom: \x27{{ picture.webPath | imagine_filter(\x27product_zoom\x27) |e(\x27js\x27) }}\x27,
  902. title: \x27{{ picture.title |e(\x27js\x27) }}\x27,
  903. alt: \x27{{ picture.alt |e(\x27js\x27) }}\x27,
  904. });
  905. {% endfor %}
  906. {% endfor %}
  907. var assets = {};
  908. {% for pid, pictures in assets %}
  909. assets[\x27{{pid}}\x27] = [];
  910. {% for asset in pictures %}
  911. assets[\x27{{pid}}\x27].push ({
  912. id: {{ asset.id | e(\x27js\x27) }},
  913. code: \x27{{ asset.code | e(\x27js\x27) }}\x27,
  914. url: \x27{{ asset.webPath |e(\x27js\x27) }}\x27,
  915. small: \x27{{ asset.webPath | imagine_filter(\x27product_small\x27) |e(\x27js\x27) }}\x27,
  916. medium: \x27{{ asset.webPath | imagine_filter(\x27product_medium\x27) |e(\x27js\x27) }}\x27,
  917. large: \x27{{ asset.webPath | imagine_filter(\x27product_large\x27) |e(\x27js\x27) }}\x27,
  918. zoom: \x27{{ asset.webPath | imagine_filter(\x27product_zoom\x27) |e(\x27js\x27) }}\x27,
  919. title: \x27{{ asset.title |e(\x27js\x27) }}\x27,
  920. alt: \x27{{ asset.alt |e(\x27js\x27) }}\x27,
  921. });
  922. {% endfor %}
  923. {% endfor %}
  924. </script>
  925. {% endblock %}
  926. {% block featured %}{% endblock %}
  927. {% block breadcrumbs %}
  928. {% include \x27front/layout/breadcrumbs.html.twig\x27 with {productModel:productModel} %}
  929. {% endblock %}
  930. {% block content %}
  931. {% include \x27front/layout/messages.html.twig\x27 %}
  932. <div class=\"product-model-view product-view\">
  933. <div class=\"ctn\">
  934. <div class=\"product-infos\">
  935. {% include \x27front/catalog/model/view/assets.html.twig\x27 %}
  936. <div class=\"infos\">
  937. {% if is_granted(\x27ROLE_ADMIN\x27) %}
  938. <div class=\"admin-tools\">
  939. <a href=\"{{ path(\x27admin_product_edit\x27,{id:product.id}) }}\" class=\"admin-update\" target=\"_blank\">modifier le produit</a>
  940. </div>
  941. {% endif %}
  942. {% if product.manufacturer %}
  943. <div class=\"manufacturer\"><a href=\"{{ path(\x27manufacturer\x27,{id:product.manufacturer.id, url:product.manufacturer.url}) }}\">{{ product.manufacturer.name }}</a></div>
  944. {% endif %}
  945. <h1>{{ productModelDescription.headingTitle }}</h1>
  946. <div class=\"description\">
  947. {% if hasWelcomeDiscount %}
  948. <div>
  949. {% include \x27front/catalog/product/view/discount-welcome.html.twig\x27 %}
  950. </div>
  951. {% endif %}
  952. </div>
  953. <div class=\"description\">
  954. {% if productDescription.shortDescription %}
  955. {{ productDescription.shortDescription | raw }}
  956. {% endif %}
  957. </div>
  958. {% if productModelDescription.description %}
  959. <div class=\"description\">
  960. <a href=\"#description\" class=\"bt-scroll\">{% trans %}Voir le descriptif{% endtrans %}</a>
  961. </div>
  962. {% endif %}
  963. {% if not customerMgr.canSeePrices() %}
  964. <div class=\"not-logged\">
  965. {% trans %}Pour voir les prix des articles, {% endtrans %}<a href=\"{{ path(\x27customer_login\x27) }}\">{% trans %}il faut être connecté{% endtrans %}</a> {% trans %}(c’est gratuit){% endtrans %}.
  966. </div>
  967. {% endif %}
  968. {% include \x27front/catalog/model/view/references.html.twig\x27 %}
  969. {% if not customerMgr.isExpert() %}
  970. <div class=\"offers\">
  971. <div class=\"free-shipping\">
  972. <img src=\"{{ asset(\x27img/pictos/shipping.svg\x27) }}\" alt=\"{% trans %}Livraison gratuite dès 99 € HT{% endtrans %}\">
  973. <div>{% trans %}<strong>LIVRAISON GRATUITE</strong><br>dès 99 € HT{% endtrans %}</div>
  974. </div>
  975. <div class=\"free-gift\">
  976. <img src=\"{{ asset(\x27img/pictos/gift.svg\x27) }}\" alt=\"{% trans %}1 cadeau offert pour chaque commande internet{% endtrans %}\">
  977. <div>{% trans %}<strong>1 CADEAU OFFERT</strong> pour <br>chaque commande internet{% endtrans %}</div>
  978. </div>
  979. </div>
  980. {% if product.hasSoleil() %}
  981. <p>{% trans %}-25% de remise sur les produits <span class=\"picto soleil\"></span> dès 100€ HT de commande de produits <span class=\"picto soleil\"></span>{% endtrans %}</p>
  982. {% endif %}
  983. {% if product.hasNonSoleil() %}
  984. <p>{% trans %}-10% de remise sur les produits <span class=\"picto non-soleil\"></span> dès 100€ HT de commande de produits <span class=\"picto non-soleil\"></span>{% endtrans %}</p>
  985. {% endif %}
  986. {% endif %}
  987. </div>
  988. </div>
  989. </div>
  990. <div class=\"ctn\">
  991. {% if productModelDescription.description %}
  992. <div class=\"tab-content rte section\" id=\"description\">
  993. <div class=\"title-ctn\">
  994. <div class=\"title\">{% trans %}Description détaillée{% endtrans %}</div>
  995. </div>
  996. {{ productModelDescription.description|raw }}
  997. </div>
  998. {% endif %}
  999. {% for p in products %}
  1000. {% if p.productDescription.notice %}
  1001. <div class=\"tab-content rte section tab-notice notice-{{ p.id }}\" id=\"notice-{{ p.id }}\">
  1002. <div class=\"title-ctn\">
  1003. <div class=\"title\">{% trans %}Notice{% endtrans %}</div>
  1004. </div>
  1005. <p class=\"notice notice-{{ p.id }}\"><a href=\"{{ productDescription.noticeUrl }}\" target=\"_blank\">{% trans %}Télécharger la notice d\x27utilisation{% endtrans %}</a></p>
  1006. </div>
  1007. {% endif %}
  1008. {% endfor %}
  1009. {% if productModelDescription.conseil1 %}
  1010. <div class=\"section rte advices\">
  1011. <div class=\"title-ctn\">
  1012. <div class=\"title\">{% trans %}Conseils et astuces{% endtrans %}</div>
  1013. </div>
  1014. {{ productModelDescription.conseil1|raw }}
  1015. </div>
  1016. {% endif %}
  1017. {% include \x27front/catalog/model/view/caracteristics.html.twig\x27 %}
  1018. {% if product.video %}
  1019. <div class=\"tab-content rte section\" id=\"video\">
  1020. <div class=\"title-ctn\">
  1021. <div class=\"title\">{% trans %}Vid&Eacute;o{% endtrans %}</div>
  1022. <hr>
  1023. </div>
  1024. <div class=\"video-ctn\">
  1025. {{ product.video|raw }}
  1026. </div>
  1027. </div>
  1028. {% endif %}
  1029. </div>
  1030. {% if associates %}
  1031. {% include \x27front/catalog/product/carousel.html.twig\x27 with {products:associates, title:\x27Produits associés\x27|trans, withWrapper:true} %}
  1032. {% endif %}
  1033. <div class=\"ctn\" style=\"padding: 30px 0;\">
  1034. {% if inCategory %}
  1035. {% include \x27front/catalog/product/carousel.html.twig\x27 with {products:inCategory, title:\x27Dans la même catégorie\x27|trans, withWrapper:false} %}
  1036. {% endif %}
  1037. </div>
  1038. {{ render(controller(
  1039. \x27App\\\\Controller\\\\Front\\\\Modules\\\\SeenProductsController::block\x27,
  1040. { \x27request\x27: app.request }
  1041. )) }}
  1042. <div class=\"ctn\">
  1043. {% if pathTags %}
  1044. <div class=\"section rte tags\">
  1045. <div class=\"title-ctn\">
  1046. <div class=\"title\">{% trans %}Craquez aussi pour...{% endtrans %}</div>
  1047. </div>
  1048. {{ pathTags|raw }}
  1049. </div>
  1050. {% endif %}
  1051. </div>
  1052. </div>
  1053. {% endblock %}
  1054. {% block javascripts %}
  1055. <script src=\"{{ asset(\x27js/product.js\x27) }}?v=666565\"></script>
  1056. <script>
  1057. \$(document).ready(function(){
  1058. {# tabs.init();#}
  1059. product.init();
  1060. });
  1061. </script>
  1062. {% endblock %}", "front/catalog/model/view.html.twig", "/var/www/dogcat.com/pim/templates/front/catalog/model/view.html.twig");
  1063. }
  1064. }