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

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