var/cache/dev/twig/9a/9a1247750cac66230235e4b537edc60a.php line 779

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. /* pages/base.html.twig */
  16. class __TwigTemplate_21486f01b30cad6cd04ce42bcdc9ee2a 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->parent = false;
  28. $this->blocks = [
  29. 'gtmDataLayer' => [$this, 'block_gtmDataLayer'],
  30. 'globalJavaScript' => [$this, 'block_globalJavaScript'],
  31. 'gtm' => [$this, 'block_gtm'],
  32. 'meta' => [$this, 'block_meta'],
  33. 'openGraph' => [$this, 'block_openGraph'],
  34. 'favicon' => [$this, 'block_favicon'],
  35. 'title' => [$this, 'block_title'],
  36. 'stylesheets' => [$this, 'block_stylesheets'],
  37. 'gtmNoScript' => [$this, 'block_gtmNoScript'],
  38. 'econdaTracing' => [$this, 'block_econdaTracing'],
  39. 'body' => [$this, 'block_body'],
  40. 'flash_messages' => [$this, 'block_flash_messages'],
  41. 'header' => [$this, 'block_header'],
  42. 'breadcrumb' => [$this, 'block_breadcrumb'],
  43. 'content' => [$this, 'block_content'],
  44. 'footer' => [$this, 'block_footer'],
  45. 'offcanvas' => [$this, 'block_offcanvas'],
  46. 'offcanvasMobileMenu' => [$this, 'block_offcanvasMobileMenu'],
  47. 'offcanvasAccountMenu' => [$this, 'block_offcanvasAccountMenu'],
  48. 'offcanvasCart' => [$this, 'block_offcanvasCart'],
  49. 'modal' => [$this, 'block_modal'],
  50. 'javascripts' => [$this, 'block_javascripts'],
  51. 'javascriptTranslations' => [$this, 'block_javascriptTranslations'],
  52. 'structuredData' => [$this, 'block_structuredData'],
  53. ];
  54. }
  55. protected function doDisplay(array $context, array $blocks = []): iterable
  56. {
  57. $macros = $this->macros;
  58. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  59. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/base.html.twig"));
  60. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  61. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/base.html.twig"));
  62. // line 1
  63. yield "<!DOCTYPE html>
  64. <html ";
  65. // line 2
  66. if (("html_lang_param" != $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("html_lang_param"))) {
  67. yield "lang=\"";
  68. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("html_lang_param"), "html", null, true);
  69. yield "\" ";
  70. }
  71. yield ">
  72. ";
  73. // line 3
  74. $context["isIE"] = (CoreExtension::inFilter("Trident", CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 3, $this->source); })()), "request", [], "any", false, false, false, 3), "headers", [], "any", false, false, false, 3), "get", ["User-Agent"], "method", false, false, false, 3)) || CoreExtension::inFilter("MSIE", CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 3, $this->source); })()), "request", [], "any", false, false, false, 3), "headers", [], "any", false, false, false, 3), "get", ["User-Agent"], "method", false, false, false, 3)));
  75. // line 4
  76. $context["isPunchout"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 4, $this->source); })()), "request", [], "any", false, false, false, 4), "cookies", [], "any", false, false, false, 4), "get", ["isPunchout"], "method", false, false, false, 4) == "oci") || (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 4, $this->source); })()), "request", [], "any", false, false, false, 4), "cookies", [], "any", false, false, false, 4), "get", ["isPunchout"], "method", false, false, false, 4) == "cxml"));
  77. // line 5
  78. $context["categoryTree"] = $this->extensions['App\Module\Catalog\Twig\Globals\CategoryTreeExtension']->getDisplayTree();
  79. // line 6
  80. yield "
  81. <head>
  82. ";
  83. // line 8
  84. yield from $this->unwrap()->yieldBlock('gtmDataLayer', $context, $blocks);
  85. // line 11
  86. yield "
  87. ";
  88. // line 12
  89. yield from $this->unwrap()->yieldBlock('globalJavaScript', $context, $blocks);
  90. // line 66
  91. yield " ";
  92. yield from $this->unwrap()->yieldBlock('gtm', $context, $blocks);
  93. // line 75
  94. yield " ";
  95. yield from $this->unwrap()->yieldBlock('meta', $context, $blocks);
  96. // line 78
  97. yield " ";
  98. yield from $this->unwrap()->yieldBlock('openGraph', $context, $blocks);
  99. // line 81
  100. yield " ";
  101. yield from $this->unwrap()->yieldBlock('favicon', $context, $blocks);
  102. // line 84
  103. yield " <title>";
  104. yield from $this->unwrap()->yieldBlock('title', $context, $blocks);
  105. yield "</title>
  106. ";
  107. // line 85
  108. yield from $this->unwrap()->yieldBlock('stylesheets', $context, $blocks);
  109. // line 89
  110. yield " <link rel=\"preconnect\" href=\"//widgets.crosssell.info\">
  111. <link rel=\"preconnect\" href=\"//cdn.cookielaw.org\">
  112. <link rel=\"preconnect\" href=\"//in.hotjar.com\">
  113. </head>
  114. <body>
  115. ";
  116. // line 95
  117. yield from $this->unwrap()->yieldBlock('gtmNoScript', $context, $blocks);
  118. // line 100
  119. yield from $this->unwrap()->yieldBlock('econdaTracing', $context, $blocks);
  120. // line 103
  121. yield "
  122. ";
  123. // line 104
  124. yield from $this->load("components/atoms/page-loader/page-loader.html.twig", 104)->unwrap()->yield($context);
  125. // line 105
  126. yield "
  127. ";
  128. // line 106
  129. $context["hotlineType"] = "is--company";
  130. // line 107
  131. if ((array_key_exists("breadcrumbs", $context) && is_iterable((isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 107, $this->source); })())))) {
  132. // line 108
  133. yield " ";
  134. if ((((CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 108, $this->source); })())), "branch", [], "array", true, true, false, 108)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 108, $this->source); })())), "branch", [], "array", false, false, false, 108))) : ("")) == "cp")) {
  135. // line 109
  136. yield " ";
  137. $context["hotlineType"] = "is--cp";
  138. // line 110
  139. yield " ";
  140. } elseif ((((CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 110, $this->source); })())), "branch", [], "array", true, true, false, 110)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 110, $this->source); })())), "branch", [], "array", false, false, false, 110))) : ("")) == "company")) {
  141. // line 111
  142. yield " ";
  143. $context["hotlineType"] = "is--company";
  144. // line 112
  145. yield " ";
  146. } elseif ((((CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 112, $this->source); })())), "branch", [], "array", true, true, false, 112)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, Twig\Extension\CoreExtension::last($this->env->getCharset(), (isset($context["breadcrumbs"]) || array_key_exists("breadcrumbs", $context) ? $context["breadcrumbs"] : (function () { throw new RuntimeError('Variable "breadcrumbs" does not exist.', 112, $this->source); })())), "branch", [], "array", false, false, false, 112))) : ("")) == "engineered-solutions")) {
  147. // line 113
  148. yield " ";
  149. $context["hotlineType"] = "is--es";
  150. // line 114
  151. yield " ";
  152. }
  153. }
  154. // line 116
  155. yield "<div id=\"app\" class=\"";
  156. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["hotlineType"]) || array_key_exists("hotlineType", $context) ? $context["hotlineType"] : (function () { throw new RuntimeError('Variable "hotlineType" does not exist.', 116, $this->source); })()), "html", null, true);
  157. yield "\">
  158. <div class=\"app__inner\">
  159. ";
  160. // line 118
  161. yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  162. // line 159
  163. yield " ";
  164. yield from $this->unwrap()->yieldBlock('modal', $context, $blocks);
  165. // line 161
  166. yield "
  167. ";
  168. // line 162
  169. if (CoreExtension::getAttribute($this->env, $this->source, ($context["cms_globals"] ?? null), "slot_sticky_banner", [], "any", true, true, false, 162)) {
  170. // line 163
  171. yield " ";
  172. $context["stickyBanner"] = ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
  173. // line 164
  174. yield " ";
  175. yield from $this->load("components/organisms/storyblok/storyblok.html.twig", 164)->unwrap()->yield(CoreExtension::merge($context, ["componentData" => CoreExtension::getAttribute($this->env, $this->source, // line 165
  176. (isset($context["cms_globals"]) || array_key_exists("cms_globals", $context) ? $context["cms_globals"] : (function () { throw new RuntimeError('Variable "cms_globals" does not exist.', 165, $this->source); })()), "slot_sticky_banner", [], "any", false, false, false, 165)]));
  177. // line 167
  178. yield " ";
  179. yield from [];
  180. })())) ? '' : new Markup($tmp, $this->env->getCharset());
  181. // line 168
  182. yield " ";
  183. yield $this->extensions['App\Twig\Functions\PageEndHtmlExtension']->setPageEndHtml("sticky-banner", (isset($context["stickyBanner"]) || array_key_exists("stickyBanner", $context) ? $context["stickyBanner"] : (function () { throw new RuntimeError('Variable "stickyBanner" does not exist.', 168, $this->source); })()));
  184. yield "
  185. ";
  186. }
  187. // line 170
  188. yield " </div>
  189. ";
  190. // line 171
  191. yield $this->extensions['App\Twig\Functions\PageEndHtmlExtension']->getPageEndHtml();
  192. yield "
  193. </div>
  194. ";
  195. // line 174
  196. yield from $this->unwrap()->yieldBlock('javascripts', $context, $blocks);
  197. // line 327
  198. yield from $this->unwrap()->yieldBlock('structuredData', $context, $blocks);
  199. // line 332
  200. yield "
  201. </body>
  202. </html>
  203. ";
  204. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  205. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  206. yield from [];
  207. }
  208. // line 8
  209. /**
  210. * @return iterable<null|scalar|\Stringable>
  211. */
  212. public function block_gtmDataLayer(array $context, array $blocks = []): iterable
  213. {
  214. $macros = $this->macros;
  215. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  216. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtmDataLayer"));
  217. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  218. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtmDataLayer"));
  219. // line 9
  220. yield " ";
  221. yield from $this->load("components/atoms/gtm-data-layer/gtm-data-layer.html.twig", 9)->unwrap()->yield($context);
  222. // line 10
  223. yield " ";
  224. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  225. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  226. yield from [];
  227. }
  228. // line 12
  229. /**
  230. * @return iterable<null|scalar|\Stringable>
  231. */
  232. public function block_globalJavaScript(array $context, array $blocks = []): iterable
  233. {
  234. $macros = $this->macros;
  235. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  236. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "globalJavaScript"));
  237. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  238. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "globalJavaScript"));
  239. // line 13
  240. yield "
  241. ";
  242. // line 14
  243. if (( !CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 14, $this->source); })()), "getRequest", [], "method", false, false, false, 14), "attributes", [], "any", false, false, false, 14), "get", ["storyblok_preview"], "method", false, false, false, 14) && !(isset($context["isPunchout"]) || array_key_exists("isPunchout", $context) ? $context["isPunchout"] : (function () { throw new RuntimeError('Variable "isPunchout" does not exist.', 14, $this->source); })()))) {
  244. // line 15
  245. yield " ";
  246. if (CoreExtension::inFilter("C0002:1", ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["app"] ?? null), "request", [], "any", false, true, false, 15), "cookies", [], "any", false, true, false, 15), "get", ["OptanonConsent"], "method", true, true, false, 15)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 15, $this->source); })()), "request", [], "any", false, false, false, 15), "cookies", [], "any", false, false, false, 15), "get", ["OptanonConsent"], "method", false, false, false, 15))) : ("")))) {
  247. // line 16
  248. yield " <script type=\"text/javascript\">
  249. ";
  250. // line 18
  251. yield "
  252. window._vwo_code = window._vwo_code || (function(){
  253. var account_id=609860,
  254. settings_tolerance=1500,
  255. library_tolerance=2000,
  256. use_existing_jquery=false,
  257. is_spa=1,
  258. hide_element='body',
  259. /* DO NOT EDIT BELOW THIS LINE */
  260. f=false,d=document,code={use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){
  261. window.settings_timer=setTimeout(function () {_vwo_code.finish() },settings_tolerance);var a=d.createElement('style'),b=hide_element?hide_element+'{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}':'',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&f='+(+is_spa)+'&r='+Math.random());return settings_timer; }};window._vwo_settings_timer = code.init(); return code; }());
  262. ";
  263. // line 32
  264. yield " </script>
  265. ";
  266. }
  267. // line 34
  268. yield "
  269. <!-- OneTrust Cookies Consent Notice -->
  270. <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\"
  271. data-document-language=\"true\"
  272. type=\"text/javascript\"
  273. charset=\"UTF-8\"
  274. data-domain-script=\"";
  275. // line 40
  276. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("cookie_consent_domain_id"), "html", null, true);
  277. if ((CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 40, $this->source); })()), "environment", [], "any", false, false, false, 40) != "prod")) {
  278. yield "-test";
  279. }
  280. yield "\" >
  281. </script>
  282. <script type=\"text/javascript\">
  283. function OptanonWrapper() {
  284. if (OnetrustActiveGroups.indexOf('C0002') != -1) {
  285. gtag('consent', 'update', {'analytics_storage': 'granted'})
  286. };
  287. if (OnetrustActiveGroups.indexOf('C0003') != -1) {
  288. window.emos3.send({'privacy_mode': 3});
  289. }else {
  290. window.emos3.send({'privacy_mode': 'reset'});
  291. }
  292. if (OnetrustActiveGroups.indexOf('C0004') != -1) {
  293. gtag('consent', 'update', {'ad_storage': 'granted'})
  294. gtag('consent', 'update', {'ad_user_data': 'granted'});
  295. gtag('consent', 'update', {'ad_personalization': 'granted'});
  296. };
  297. window.emos3InitialSend();
  298. }
  299. </script>
  300. ";
  301. }
  302. // line 62
  303. yield " ";
  304. yield from $this->load("components/atoms/global-java-script/global-java-script.html.twig", 62)->unwrap()->yield($context);
  305. // line 63
  306. yield "
  307. <script src=\"https://integrations.etrusted.com/applications/widget.js/v2\" defer async></script>
  308. ";
  309. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  310. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  311. yield from [];
  312. }
  313. // line 66
  314. /**
  315. * @return iterable<null|scalar|\Stringable>
  316. */
  317. public function block_gtm(array $context, array $blocks = []): iterable
  318. {
  319. $macros = $this->macros;
  320. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  321. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtm"));
  322. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  323. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtm"));
  324. // line 67
  325. yield " <!-- Google Tag Manager -->
  326. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  327. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  328. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  329. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  330. })(window,document,'script','dataLayer','";
  331. // line 72
  332. if ((($tmp = (isset($context["isPunchout"]) || array_key_exists("isPunchout", $context) ? $context["isPunchout"] : (function () { throw new RuntimeError('Variable "isPunchout" does not exist.', 72, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  333. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("gtm_id_oci"), "html", null, true);
  334. } else {
  335. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("gtm_id"), "html", null, true);
  336. }
  337. yield "');</script>
  338. <!-- End Google Tag Manager -->
  339. ";
  340. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  341. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  342. yield from [];
  343. }
  344. // line 75
  345. /**
  346. * @return iterable<null|scalar|\Stringable>
  347. */
  348. public function block_meta(array $context, array $blocks = []): iterable
  349. {
  350. $macros = $this->macros;
  351. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  352. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "meta"));
  353. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  354. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "meta"));
  355. // line 76
  356. yield " ";
  357. yield from $this->load("components/organisms/meta/meta.html.twig", 76)->unwrap()->yield($context);
  358. // line 77
  359. yield " ";
  360. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  361. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  362. yield from [];
  363. }
  364. // line 78
  365. /**
  366. * @return iterable<null|scalar|\Stringable>
  367. */
  368. public function block_openGraph(array $context, array $blocks = []): iterable
  369. {
  370. $macros = $this->macros;
  371. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  372. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "openGraph"));
  373. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  374. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "openGraph"));
  375. // line 79
  376. yield " ";
  377. yield from $this->load("components/organisms/open-graph/open-graph.html.twig", 79)->unwrap()->yield($context);
  378. // line 80
  379. yield " ";
  380. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  381. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  382. yield from [];
  383. }
  384. // line 81
  385. /**
  386. * @return iterable<null|scalar|\Stringable>
  387. */
  388. public function block_favicon(array $context, array $blocks = []): iterable
  389. {
  390. $macros = $this->macros;
  391. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  392. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "favicon"));
  393. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  394. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "favicon"));
  395. // line 82
  396. yield " ";
  397. yield from $this->load("components/organisms/favicon/favicon.html.twig", 82)->unwrap()->yield($context);
  398. // line 83
  399. yield " ";
  400. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  401. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  402. yield from [];
  403. }
  404. // line 84
  405. /**
  406. * @return iterable<null|scalar|\Stringable>
  407. */
  408. public function block_title(array $context, array $blocks = []): iterable
  409. {
  410. $macros = $this->macros;
  411. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  412. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  413. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  414. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  415. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["metaInformation"] ?? null), "title", [], "any", true, true, false, 84)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["metaInformation"]) || array_key_exists("metaInformation", $context) ? $context["metaInformation"] : (function () { throw new RuntimeError('Variable "metaInformation" does not exist.', 84, $this->source); })()), "title", [], "any", false, false, false, 84), $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("meta_title_default"))) : ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("meta_title_default"))), "html", null, true);
  416. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  417. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  418. yield from [];
  419. }
  420. // line 85
  421. /**
  422. * @return iterable<null|scalar|\Stringable>
  423. */
  424. public function block_stylesheets(array $context, array $blocks = []): iterable
  425. {
  426. $macros = $this->macros;
  427. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  428. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  429. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  430. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  431. // line 86
  432. yield " ";
  433. yield $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackLinkTags("vendor");
  434. yield "
  435. ";
  436. // line 87
  437. yield $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackLinkTags("app");
  438. yield "
  439. ";
  440. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  441. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  442. yield from [];
  443. }
  444. // line 95
  445. /**
  446. * @return iterable<null|scalar|\Stringable>
  447. */
  448. public function block_gtmNoScript(array $context, array $blocks = []): iterable
  449. {
  450. $macros = $this->macros;
  451. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  452. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtmNoScript"));
  453. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  454. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "gtmNoScript"));
  455. // line 96
  456. yield " <!-- Google Tag Manager (noscript) -->
  457. <noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=";
  458. // line 97
  459. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("gtm_id"), "html", null, true);
  460. yield "\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>
  461. <!-- End Google Tag Manager (noscript) -->
  462. ";
  463. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  464. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  465. yield from [];
  466. }
  467. // line 100
  468. /**
  469. * @return iterable<null|scalar|\Stringable>
  470. */
  471. public function block_econdaTracing(array $context, array $blocks = []): iterable
  472. {
  473. $macros = $this->macros;
  474. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  475. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "econdaTracing"));
  476. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  477. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "econdaTracing"));
  478. // line 101
  479. yield " ";
  480. yield from $this->load("components/atoms/econda-tracking/econda-tracking.html.twig", 101)->unwrap()->yield($context);
  481. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  482. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  483. yield from [];
  484. }
  485. // line 118
  486. /**
  487. * @return iterable<null|scalar|\Stringable>
  488. */
  489. public function block_body(array $context, array $blocks = []): iterable
  490. {
  491. $macros = $this->macros;
  492. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  493. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  494. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  495. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  496. // line 119
  497. yield " <to-the-top></to-the-top>
  498. ";
  499. // line 121
  500. yield from $this->unwrap()->yieldBlock('flash_messages', $context, $blocks);
  501. // line 124
  502. yield "
  503. ";
  504. // line 125
  505. yield from $this->unwrap()->yieldBlock('header', $context, $blocks);
  506. // line 128
  507. yield "
  508. ";
  509. // line 129
  510. yield from $this->unwrap()->yieldBlock('breadcrumb', $context, $blocks);
  511. // line 132
  512. yield " <main>
  513. ";
  514. // line 133
  515. yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
  516. // line 134
  517. yield " </main>
  518. ";
  519. // line 135
  520. yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
  521. // line 138
  522. yield "
  523. ";
  524. // line 139
  525. yield from $this->unwrap()->yieldBlock('offcanvas', $context, $blocks);
  526. // line 158
  527. yield " ";
  528. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  529. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  530. yield from [];
  531. }
  532. // line 121
  533. /**
  534. * @return iterable<null|scalar|\Stringable>
  535. */
  536. public function block_flash_messages(array $context, array $blocks = []): iterable
  537. {
  538. $macros = $this->macros;
  539. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  540. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
  541. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  542. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
  543. // line 122
  544. yield " ";
  545. yield from $this->load("components/atoms/toast/toast.html.twig", 122)->unwrap()->yield($context);
  546. // line 123
  547. yield " ";
  548. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  549. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  550. yield from [];
  551. }
  552. // line 125
  553. /**
  554. * @return iterable<null|scalar|\Stringable>
  555. */
  556. public function block_header(array $context, array $blocks = []): iterable
  557. {
  558. $macros = $this->macros;
  559. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  560. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
  561. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  562. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
  563. // line 126
  564. yield " ";
  565. yield Twig\Extension\CoreExtension::include($this->env, $context, "components/organisms/header/header.html.twig");
  566. yield "
  567. ";
  568. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  569. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  570. yield from [];
  571. }
  572. // line 129
  573. /**
  574. * @return iterable<null|scalar|\Stringable>
  575. */
  576. public function block_breadcrumb(array $context, array $blocks = []): iterable
  577. {
  578. $macros = $this->macros;
  579. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  580. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumb"));
  581. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  582. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "breadcrumb"));
  583. // line 130
  584. yield " ";
  585. yield from $this->load("components/molecules/breadcrumb/breadcrumb.html.twig", 130)->unwrap()->yield($context);
  586. // line 131
  587. yield " ";
  588. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  589. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  590. yield from [];
  591. }
  592. // line 133
  593. /**
  594. * @return iterable<null|scalar|\Stringable>
  595. */
  596. public function block_content(array $context, array $blocks = []): iterable
  597. {
  598. $macros = $this->macros;
  599. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  600. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  601. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  602. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  603. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  604. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  605. yield from [];
  606. }
  607. // line 135
  608. /**
  609. * @return iterable<null|scalar|\Stringable>
  610. */
  611. public function block_footer(array $context, array $blocks = []): iterable
  612. {
  613. $macros = $this->macros;
  614. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  615. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  616. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  617. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  618. // line 136
  619. yield " ";
  620. yield from $this->load("components/organisms/footer/footer.html.twig", 136)->unwrap()->yield($context);
  621. // line 137
  622. yield " ";
  623. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  624. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  625. yield from [];
  626. }
  627. // line 139
  628. /**
  629. * @return iterable<null|scalar|\Stringable>
  630. */
  631. public function block_offcanvas(array $context, array $blocks = []): iterable
  632. {
  633. $macros = $this->macros;
  634. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  635. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvas"));
  636. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  637. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvas"));
  638. // line 140
  639. yield " ";
  640. yield from $this->unwrap()->yieldBlock('offcanvasMobileMenu', $context, $blocks);
  641. // line 143
  642. yield "
  643. ";
  644. // line 144
  645. yield from $this->unwrap()->yieldBlock('offcanvasAccountMenu', $context, $blocks);
  646. // line 155
  647. yield " ";
  648. yield from $this->unwrap()->yieldBlock('offcanvasCart', $context, $blocks);
  649. // line 157
  650. yield " ";
  651. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  652. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  653. yield from [];
  654. }
  655. // line 140
  656. /**
  657. * @return iterable<null|scalar|\Stringable>
  658. */
  659. public function block_offcanvasMobileMenu(array $context, array $blocks = []): iterable
  660. {
  661. $macros = $this->macros;
  662. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  663. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasMobileMenu"));
  664. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  665. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasMobileMenu"));
  666. // line 141
  667. yield " ";
  668. yield from $this->load("components/organisms/vertical-menu/vertical-menu.html.twig", 141)->unwrap()->yield($context);
  669. // line 142
  670. yield " ";
  671. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  672. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  673. yield from [];
  674. }
  675. // line 144
  676. /**
  677. * @return iterable<null|scalar|\Stringable>
  678. */
  679. public function block_offcanvasAccountMenu(array $context, array $blocks = []): iterable
  680. {
  681. $macros = $this->macros;
  682. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  683. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasAccountMenu"));
  684. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  685. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasAccountMenu"));
  686. // line 145
  687. yield " ";
  688. yield from $this->load("pages/base.html.twig", 145, "1226573272")->unwrap()->yield(CoreExtension::merge($context, ["id" => "accountMenu", "header" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("offcanvas_account_menu_headline"), "aria-labeldby" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("offcanvas_account_menu_headline")]));
  689. // line 154
  690. yield " ";
  691. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  692. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  693. yield from [];
  694. }
  695. // line 155
  696. /**
  697. * @return iterable<null|scalar|\Stringable>
  698. */
  699. public function block_offcanvasCart(array $context, array $blocks = []): iterable
  700. {
  701. $macros = $this->macros;
  702. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  703. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasCart"));
  704. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  705. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasCart"));
  706. // line 156
  707. yield " ";
  708. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  709. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  710. yield from [];
  711. }
  712. // line 159
  713. /**
  714. * @return iterable<null|scalar|\Stringable>
  715. */
  716. public function block_modal(array $context, array $blocks = []): iterable
  717. {
  718. $macros = $this->macros;
  719. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  720. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "modal"));
  721. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  722. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "modal"));
  723. // line 160
  724. yield " ";
  725. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  726. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  727. yield from [];
  728. }
  729. // line 174
  730. /**
  731. * @return iterable<null|scalar|\Stringable>
  732. */
  733. public function block_javascripts(array $context, array $blocks = []): iterable
  734. {
  735. $macros = $this->macros;
  736. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  737. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  738. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  739. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  740. // line 175
  741. yield " ";
  742. yield from $this->load("components/molecules/breadcrumb/breadcrumb-schema.html.twig", 175)->unwrap()->yield($context);
  743. // line 176
  744. yield " ";
  745. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 176, $this->source); })()), "getRequest", [], "method", false, false, false, 176), "attributes", [], "any", false, false, false, 176), "get", ["storyblok_preview"], "method", false, false, false, 176)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  746. // line 177
  747. yield " <script src=\"//app.storyblok.com/f/storyblok-v2-latest.js\" defer></script>
  748. <script>
  749. window.addEventListener('load', function() {
  750. const storyblokInstance = new window.StoryblokBridge()
  751. storyblokInstance.on(['change', 'published'], function() {
  752. window.location.reload();
  753. });
  754. });
  755. </script>
  756. ";
  757. }
  758. // line 188
  759. yield "
  760. <script type=\"text/javascript\" defer=\"defer\" src=\"https://l.ecn-ldr.de/loader/loader.js\" client-key=\"00002954-63be81d4-fc18-3e36-996c-72cbbe3e697d\" container-id=\"5937\"></script>
  761. <script>
  762. ";
  763. // line 193
  764. $context["jsTranslations"] = ["form_transmission_error" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("form_transmission_error"), "line_item_subtotal" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_subtotal"), "line_item_voucher" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_voucher"), "line_item_shipping" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_shipping"), "line_item_shipping_free" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_shipping_free"), "line_item_tax" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_tax"), "line_item_tax_info" => $this->extensions['App\Twig\Filters\CustomEmptyTextFallbackTranslatorExtension']->transFallbackEmptyText("line_item_tax_info"), "line_item_sum" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("line_item_sum"), "direct_order_search_placeholder" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("direct_order_search_placeholder"), "add" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("add"), "service_url_denios_assets" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("image_service_url_denios_assets"), "service_url_storyblok" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("image_service_url_storyblok"), "image_url_denios_assets" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("image_url_denios_assets"), "image_url_storyblok" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("image_url_storyblok"), "back" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("back"), "header_vat_excluding" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_vat_excluding"), "header_vat_including" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_vat_including"), "header_direct_order" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_direct_order"), "account_new_password_requirement" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("account_new_password_requirement"), "password_requirement_min_length" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("password_min_length"), "password_requirement_min_uppercase" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("password_min_uppercase"), "password_requirement_min_lowercase" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("password_min_lowercase"), "password_requirement_min_numbers" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("password_min_numbers"), "header_account_label" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_account_label"), "loading" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("loading"), "voucher_apply" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("voucher_apply"), "voucher_hint" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("voucher_hint"), "voucher_input_placeholder" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("voucher_input_placeholder"), "to_the_top" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("button_to_the_top"), "language_switcher_json" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_language_switcher", [], "json"), "messages.formservice_required_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_required_validation_message"), "messages.formservice_email_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_email_validation_message"), "messages.formservice_date_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_date_validation_message"), "messages.formservice_date_after_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_date_after_validation_message"), "messages.formservice_date_before_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_date_before_validation_message"), "messages.formservice_date_days_of_week_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_date_days_of_week_validation_message"), "messages.formservice_frc_validation_message" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("formservice_frc_validation_message"), "form_reference_button" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("form_reference_button"), "form_reference_technical_error" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("form_reference_technical_error"), "form_time_format" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("form_time_format"), "download" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("form_reference_download_button"), "dvs_type_translation" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("dvs_type_translation", [], "json"), "line_item_extra_info" => $this->extensions['App\Twig\Filters\CustomEmptyTextFallbackTranslatorExtension']->transFallbackEmptyText("line_item_extra_info"), "book_appointment" => $this->extensions['App\Twig\Filters\CustomEmptyTextFallbackTranslatorExtension']->transFallbackEmptyText("book_appointment"), "load_more" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("pagination_more_text"), "listing_filter_button" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("listing_filter_button"), "filter_show_more" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("filter_show_more"), "filter_show_less" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("filter_show_less"), "listing_sorting" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("listing_sorting"), "listing_filter_active_filter_reset" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("listing_filter_active_filter_reset"), "reset" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("reset"), "product_sku" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_sku"), "category_label" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("category_label"), "header_search_products" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_search_products"), "header_search_suggest_terms" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_search_suggest_terms"), "header_search_categories" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_search_categories"), "header_search_placeholder" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("header_search_placeholder"), "show_more_options" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("show_more_options"), "show_less_options" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("show_less_options"), "product_this" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_this"), "product_similar" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_similar"), "product_show" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_show"), "compare_products" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("compare_products"), "show_more" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("show_more"), "show_less" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("show_less"), "pagination_product_counter" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("pagination_product_counter"), "successful" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("successful"), "quantity" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("offcanvas_cart_line_item_quantity"), "add_to_basket_successfully" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("add_to_basket_successfully"), "add_to_basket" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("add_to_basket"), "menu" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("mobile_menu_title"), "next" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("next"), "search" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("search"), "close" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("close")];
  765. // line 269
  766. yield " ";
  767. // line 270
  768. yield "
  769. ";
  770. // line 271
  771. yield from $this->unwrap()->yieldBlock('javascriptTranslations', $context, $blocks);
  772. // line 289
  773. yield "
  774. window.controllerUrls = {
  775. 'urlAddToShoppingList': '";
  776. // line 291
  777. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_shopping_list_add");
  778. yield "',
  779. 'urlRemoveFromShoppingList': '";
  780. // line 292
  781. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_shopping_list_remove");
  782. yield "',
  783. 'current': '";
  784. // line 293
  785. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 293, $this->source); })()), "request", [], "any", false, false, false, 293), "uri", [], "any", false, false, false, 293), "html", null, true);
  786. yield "',
  787. 'cart': '";
  788. // line 294
  789. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("checkout_cart_index");
  790. yield "',
  791. 'cartCount': '";
  792. // line 295
  793. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("checkout_cart_get_items_count");
  794. yield "',
  795. 'directOrder': '";
  796. // line 296
  797. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("checkout_cart_index");
  798. yield "?directOrder=true',
  799. 'categoryTree': '";
  800. // line 297
  801. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_get_category_tree");
  802. yield "',
  803. 'urlService': '";
  804. // line 298
  805. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 298, $this->source); })()), "request", [], "any", false, false, false, 298), "server", [], "any", false, false, false, 298), "get", ["URLSERVICE"], "method", false, false, false, 298), "html", null, true);
  806. yield "',
  807. 'imageService': '";
  808. // line 299
  809. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 299, $this->source); })()), "request", [], "any", false, false, false, 299), "server", [], "any", false, false, false, 299), "get", ["IMAGESERVICE"], "method", false, false, false, 299), "html", null, true);
  810. yield "',
  811. 'currentLanguage': '";
  812. // line 300
  813. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["storeContext"] ?? null), "localeInfo", [], "any", false, true, false, 300), "currentLocale", [], "any", true, true, false, 300)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 300, $this->source); })()), "localeInfo", [], "any", false, false, false, 300), "currentLocale", [], "any", false, false, false, 300))) : ("")), "html", null, true);
  814. yield "',
  815. 'defaultLanguage': '";
  816. // line 301
  817. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["storeContext"] ?? null), "localeInfo", [], "any", false, true, false, 301), "defaultLocale", [], "any", true, true, false, 301)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 301, $this->source); })()), "localeInfo", [], "any", false, false, false, 301), "defaultLocale", [], "any", false, false, false, 301))) : ("")), "html", null, true);
  818. yield "',
  819. 'academyApiUrl': '";
  820. // line 302
  821. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["app"] ?? null), "request", [], "any", false, true, false, 302), "server", [], "any", false, true, false, 302), "get", ["ACADEMYSERVICE"], "method", true, true, false, 302)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 302, $this->source); })()), "request", [], "any", false, false, false, 302), "server", [], "any", false, false, false, 302), "get", ["ACADEMYSERVICE"], "method", false, false, false, 302))) : ("")), "html", null, true);
  822. yield "',
  823. 'productAttributeLabel': '";
  824. // line 303
  825. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_get_product_attribute_label_by_key");
  826. yield "',
  827. 'productSkusByPriceChannel': '";
  828. // line 304
  829. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_get_product_skus_by_channel");
  830. yield "',
  831. 'loadMenuSlot': '";
  832. // line 305
  833. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_get_menu_slot");
  834. yield "',
  835. 'loggingUrl': '";
  836. // line 306
  837. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("checkout_order_logging");
  838. yield "'
  839. }
  840. ";
  841. // line 309
  842. yield "
  843. window.useUsSkuPattern = Boolean(";
  844. // line 310
  845. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["storeContext"] ?? null), "isAmericaSkuFormat", [], "any", true, true, false, 310)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 310, $this->source); })()), "isAmericaSkuFormat", [], "any", false, false, false, 310), 0)) : (0)), "html", null, true);
  846. yield ");
  847. /** @type {boolean} */
  848. window.isPreview = ";
  849. // line 313
  850. if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 313, $this->source); })()), "getRequest", [], "method", false, false, false, 313), "attributes", [], "any", false, false, false, 313), "get", ["storyblok_preview"], "method", false, false, false, 313)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  851. yield "true";
  852. } else {
  853. yield "false";
  854. }
  855. yield ";
  856. ";
  857. // line 314
  858. if (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 314, $this->source); })()), "request", [], "any", false, false, false, 314), "cookies", [], "any", false, false, false, 314), "get", ["isPunchout"], "method", false, false, false, 314) == "oci") || (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 314, $this->source); })()), "request", [], "any", false, false, false, 314), "cookies", [], "any", false, false, false, 314), "get", ["isPunchout"], "method", false, false, false, 314) == "cxml"))) {
  859. // line 315
  860. yield " window.isPunchout = true;
  861. window.priceChannel = '";
  862. // line 316
  863. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 316, $this->source); })()), "getPriceChannelId", [], "any", false, false, false, 316), "html", null, true);
  864. yield "';
  865. ";
  866. }
  867. // line 318
  868. yield " </script>
  869. ";
  870. // line 319
  871. yield $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackScriptTags("app");
  872. yield "
  873. ";
  874. // line 320
  875. yield $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackScriptTags("friendly-captcha-v2", null, "_default", ["type" => "module", "async" => true, "defer" => true]);
  876. // line 324
  877. yield "
  878. ";
  879. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  880. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  881. yield from [];
  882. }
  883. // line 271
  884. /**
  885. * @return iterable<null|scalar|\Stringable>
  886. */
  887. public function block_javascriptTranslations(array $context, array $blocks = []): iterable
  888. {
  889. $macros = $this->macros;
  890. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  891. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascriptTranslations"));
  892. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  893. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascriptTranslations"));
  894. // line 272
  895. yield " ";
  896. // line 280
  897. yield "
  898. window.translations = ";
  899. // line 281
  900. yield json_encode((isset($context["jsTranslations"]) || array_key_exists("jsTranslations", $context) ? $context["jsTranslations"] : (function () { throw new RuntimeError('Variable "jsTranslations" does not exist.', 281, $this->source); })()));
  901. yield ";
  902. window.currentLocaleWithHyphen = '";
  903. // line 282
  904. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 282, $this->source); })()), "localeInfo", [], "any", false, false, false, 282), "getCurrentLocaleWithHyphen", [], "any", false, false, false, 282), "html", null, true);
  905. yield "'
  906. window.currencyCode = '";
  907. // line 283
  908. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\Filters\PriceExtension']->currencyCode(0), "html", null, true);
  909. yield "'
  910. window.storeKey = '";
  911. // line 284
  912. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\Globals\StoreContextExtension']->getStoreKey(), "html", null, true);
  913. yield "'
  914. window.storeAlias = '";
  915. // line 285
  916. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["storeContext"]) || array_key_exists("storeContext", $context) ? $context["storeContext"] : (function () { throw new RuntimeError('Variable "storeContext" does not exist.', 285, $this->source); })()), "getAlias", [], "any", false, false, false, 285), "html", null, true);
  917. yield "'
  918. ";
  919. // line 288
  920. yield " ";
  921. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  922. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  923. yield from [];
  924. }
  925. // line 327
  926. /**
  927. * @return iterable<null|scalar|\Stringable>
  928. */
  929. public function block_structuredData(array $context, array $blocks = []): iterable
  930. {
  931. $macros = $this->macros;
  932. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  933. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "structuredData"));
  934. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  935. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "structuredData"));
  936. // line 328
  937. yield " ";
  938. yield from $this->load("components/atoms/structured-data/structured-data.html.twig", 328)->unwrap()->yield(CoreExtension::merge($context, ["structuredData" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("structured_data_default")]));
  939. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  940. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  941. yield from [];
  942. }
  943. /**
  944. * @codeCoverageIgnore
  945. */
  946. public function getTemplateName(): string
  947. {
  948. return "pages/base.html.twig";
  949. }
  950. /**
  951. * @codeCoverageIgnore
  952. */
  953. public function isTraitable(): bool
  954. {
  955. return false;
  956. }
  957. /**
  958. * @codeCoverageIgnore
  959. */
  960. public function getDebugInfo(): array
  961. {
  962. return array ( 1126 => 328, 1113 => 327, 1102 => 288, 1097 => 285, 1093 => 284, 1089 => 283, 1085 => 282, 1081 => 281, 1078 => 280, 1076 => 272, 1063 => 271, 1050 => 324, 1048 => 320, 1044 => 319, 1041 => 318, 1036 => 316, 1033 => 315, 1031 => 314, 1023 => 313, 1017 => 310, 1014 => 309, 1009 => 306, 1005 => 305, 1001 => 304, 997 => 303, 993 => 302, 989 => 301, 985 => 300, 981 => 299, 977 => 298, 973 => 297, 969 => 296, 965 => 295, 961 => 294, 957 => 293, 953 => 292, 949 => 291, 945 => 289, 943 => 271, 940 => 270, 938 => 269, 936 => 193, 929 => 188, 916 => 177, 913 => 176, 910 => 175, 897 => 174, 886 => 160, 873 => 159, 862 => 156, 849 => 155, 838 => 154, 835 => 145, 822 => 144, 811 => 142, 808 => 141, 795 => 140, 784 => 157, 781 => 155, 779 => 144, 776 => 143, 773 => 140, 760 => 139, 749 => 137, 746 => 136, 733 => 135, 711 => 133, 700 => 131, 697 => 130, 684 => 129, 670 => 126, 657 => 125, 646 => 123, 643 => 122, 630 => 121, 619 => 158, 617 => 139, 614 => 138, 612 => 135, 609 => 134, 607 => 133, 604 => 132, 602 => 129, 599 => 128, 597 => 125, 594 => 124, 592 => 121, 588 => 119, 575 => 118, 563 => 101, 550 => 100, 536 => 97, 533 => 96, 520 => 95, 507 => 87, 502 => 86, 489 => 85, 466 => 84, 455 => 83, 452 => 82, 439 => 81, 428 => 80, 425 => 79, 412 => 78, 401 => 77, 398 => 76, 385 => 75, 367 => 72, 360 => 67, 347 => 66, 334 => 63, 331 => 62, 303 => 40, 295 => 34, 291 => 32, 276 => 18, 273 => 16, 270 => 15, 268 => 14, 265 => 13, 252 => 12, 241 => 10, 238 => 9, 225 => 8, 211 => 332, 209 => 327, 207 => 174, 201 => 171, 198 => 170, 192 => 168, 188 => 167, 186 => 165, 184 => 164, 181 => 163, 179 => 162, 176 => 161, 173 => 159, 171 => 118, 165 => 116, 161 => 114, 158 => 113, 155 => 112, 152 => 111, 149 => 110, 146 => 109, 143 => 108, 141 => 107, 139 => 106, 136 => 105, 134 => 104, 131 => 103, 129 => 100, 127 => 95, 119 => 89, 117 => 85, 112 => 84, 109 => 81, 106 => 78, 103 => 75, 100 => 66, 98 => 12, 95 => 11, 93 => 8, 89 => 6, 87 => 5, 85 => 4, 83 => 3, 75 => 2, 72 => 1,);
  963. }
  964. public function getSourceContext(): Source
  965. {
  966. return new Source("<!DOCTYPE html>
  967. <html {% if 'html_lang_param' != 'html_lang_param'|trans %}lang=\"{{ 'html_lang_param'|trans }}\" {% endif %}>
  968. {% set isIE = 'Trident' in app.request.headers.get('User-Agent') or 'MSIE' in app.request.headers.get('User-Agent') %}
  969. {% set isPunchout = (app.request.cookies.get(\"isPunchout\") == \"oci\" or app.request.cookies.get(\"isPunchout\") == \"cxml\") %}
  970. {% set categoryTree = getCategoryTree() %}
  971. <head>
  972. {% block gtmDataLayer %}
  973. {% include('components/atoms/gtm-data-layer/gtm-data-layer.html.twig') %}
  974. {% endblock %}
  975. {% block globalJavaScript %}
  976. {% if not app.getRequest().attributes.get('storyblok_preview') and not isPunchout %}
  977. {% if (\"C0002:1\" in app.request.cookies.get(\"OptanonConsent\")|default) %}
  978. <script type=\"text/javascript\">
  979. {# Start VWO Async SmartCode #}
  980. window._vwo_code = window._vwo_code || (function(){
  981. var account_id=609860,
  982. settings_tolerance=1500,
  983. library_tolerance=2000,
  984. use_existing_jquery=false,
  985. is_spa=1,
  986. hide_element='body',
  987. /* DO NOT EDIT BELOW THIS LINE */
  988. f=false,d=document,code={use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){
  989. window.settings_timer=setTimeout(function () {_vwo_code.finish() },settings_tolerance);var a=d.createElement('style'),b=hide_element?hide_element+'{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}':'',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&f='+(+is_spa)+'&r='+Math.random());return settings_timer; }};window._vwo_settings_timer = code.init(); return code; }());
  990. {# End VWO Async SmartCode #}
  991. </script>
  992. {% endif %}
  993. <!-- OneTrust Cookies Consent Notice -->
  994. <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\"
  995. data-document-language=\"true\"
  996. type=\"text/javascript\"
  997. charset=\"UTF-8\"
  998. data-domain-script=\"{{ 'cookie_consent_domain_id'|trans }}{% if app.environment != 'prod' %}-test{% endif %}\" >
  999. </script>
  1000. <script type=\"text/javascript\">
  1001. function OptanonWrapper() {
  1002. if (OnetrustActiveGroups.indexOf('C0002') != -1) {
  1003. gtag('consent', 'update', {'analytics_storage': 'granted'})
  1004. };
  1005. if (OnetrustActiveGroups.indexOf('C0003') != -1) {
  1006. window.emos3.send({'privacy_mode': 3});
  1007. }else {
  1008. window.emos3.send({'privacy_mode': 'reset'});
  1009. }
  1010. if (OnetrustActiveGroups.indexOf('C0004') != -1) {
  1011. gtag('consent', 'update', {'ad_storage': 'granted'})
  1012. gtag('consent', 'update', {'ad_user_data': 'granted'});
  1013. gtag('consent', 'update', {'ad_personalization': 'granted'});
  1014. };
  1015. window.emos3InitialSend();
  1016. }
  1017. </script>
  1018. {% endif %}
  1019. {% include('components/atoms/global-java-script/global-java-script.html.twig') %}
  1020. <script src=\"https://integrations.etrusted.com/applications/widget.js/v2\" defer async></script>
  1021. {% endblock %}
  1022. {% block gtm %}
  1023. <!-- Google Tag Manager -->
  1024. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  1025. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  1026. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  1027. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  1028. })(window,document,'script','dataLayer','{% if isPunchout %}{{ 'gtm_id_oci'|trans }}{% else %}{{ 'gtm_id'|trans }}{% endif %}');</script>
  1029. <!-- End Google Tag Manager -->
  1030. {% endblock %}
  1031. {% block meta %}
  1032. {% include 'components/organisms/meta/meta.html.twig' %}
  1033. {% endblock %}
  1034. {% block openGraph %}
  1035. {% include 'components/organisms/open-graph/open-graph.html.twig' %}
  1036. {% endblock %}
  1037. {% block favicon %}
  1038. {% include 'components/organisms/favicon/favicon.html.twig' %}
  1039. {% endblock %}
  1040. <title>{% block title %}{{ metaInformation.title|default('meta_title_default'|trans) }}{% endblock %}</title>
  1041. {% block stylesheets %}
  1042. {{ encore_entry_link_tags('vendor') }}
  1043. {{ encore_entry_link_tags('app') }}
  1044. {% endblock %}
  1045. <link rel=\"preconnect\" href=\"//widgets.crosssell.info\">
  1046. <link rel=\"preconnect\" href=\"//cdn.cookielaw.org\">
  1047. <link rel=\"preconnect\" href=\"//in.hotjar.com\">
  1048. </head>
  1049. <body>
  1050. {% block gtmNoScript %}
  1051. <!-- Google Tag Manager (noscript) -->
  1052. <noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id={{ 'gtm_id'|trans }}\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>
  1053. <!-- End Google Tag Manager (noscript) -->
  1054. {% endblock %}
  1055. {% block econdaTracing %}
  1056. {% include('components/atoms/econda-tracking/econda-tracking.html.twig')%}
  1057. {% endblock %}
  1058. {% include 'components/atoms/page-loader/page-loader.html.twig' %}
  1059. {% set hotlineType = 'is--company' %}
  1060. {% if breadcrumbs is defined and breadcrumbs is iterable%}
  1061. {% if breadcrumbs|last['branch']|default == 'cp' %}
  1062. {% set hotlineType = 'is--cp' %}
  1063. {% elseif breadcrumbs|last['branch']|default == 'company' %}
  1064. {% set hotlineType = 'is--company' %}
  1065. {% elseif breadcrumbs|last['branch']|default == 'engineered-solutions' %}
  1066. {% set hotlineType = 'is--es' %}
  1067. {% endif %}
  1068. {% endif %}
  1069. <div id=\"app\" class=\"{{ hotlineType }}\">
  1070. <div class=\"app__inner\">
  1071. {% block body %}
  1072. <to-the-top></to-the-top>
  1073. {% block flash_messages %}
  1074. {% include 'components/atoms/toast/toast.html.twig' %}
  1075. {% endblock %}
  1076. {% block header %}
  1077. {{ include('components/organisms/header/header.html.twig') }}
  1078. {% endblock %}
  1079. {% block breadcrumb %}
  1080. {% include('components/molecules/breadcrumb/breadcrumb.html.twig') %}
  1081. {% endblock %}
  1082. <main>
  1083. {% block content %}{% endblock %}
  1084. </main>
  1085. {% block footer %}
  1086. {% include 'components/organisms/footer/footer.html.twig' %}
  1087. {% endblock %}
  1088. {% block offcanvas %}
  1089. {% block offcanvasMobileMenu %}
  1090. {% include 'components/organisms/vertical-menu/vertical-menu.html.twig' %}
  1091. {% endblock %}
  1092. {% block offcanvasAccountMenu %}
  1093. {% embed 'components/organisms/offside/offside.html.twig' with {
  1094. 'id': 'accountMenu',
  1095. 'header': 'offcanvas_account_menu_headline'|trans,
  1096. 'aria-labeldby': 'offcanvas_account_menu_headline'|trans,
  1097. } %}
  1098. {% block offcanvasContent %}
  1099. {% include 'components/organisms/offcanvas-account/offcanvas-account.html.twig' %}
  1100. {% endblock %}
  1101. {% endembed %}
  1102. {% endblock %}
  1103. {% block offcanvasCart %}
  1104. {% endblock %}
  1105. {% endblock %}
  1106. {% endblock %}
  1107. {% block modal %}
  1108. {% endblock %}
  1109. {% if cms_globals.slot_sticky_banner is defined %}
  1110. {% set stickyBanner %}
  1111. {% include 'components/organisms/storyblok/storyblok.html.twig' with {
  1112. 'componentData': cms_globals.slot_sticky_banner
  1113. } %}
  1114. {% endset %}
  1115. {{ setPageEndHtml('sticky-banner', stickyBanner) }}
  1116. {% endif %}
  1117. </div>
  1118. {{ getPageEndHtml() }}
  1119. </div>
  1120. {% block javascripts %}
  1121. {% include('components/molecules/breadcrumb/breadcrumb-schema.html.twig') %}
  1122. {% if app.getRequest().attributes.get('storyblok_preview') %}
  1123. <script src=\"//app.storyblok.com/f/storyblok-v2-latest.js\" defer></script>
  1124. <script>
  1125. window.addEventListener('load', function() {
  1126. const storyblokInstance = new window.StoryblokBridge()
  1127. storyblokInstance.on(['change', 'published'], function() {
  1128. window.location.reload();
  1129. });
  1130. });
  1131. </script>
  1132. {% endif %}
  1133. <script type=\"text/javascript\" defer=\"defer\" src=\"https://l.ecn-ldr.de/loader/loader.js\" client-key=\"00002954-63be81d4-fc18-3e36-996c-72cbbe3e697d\" container-id=\"5937\"></script>
  1134. <script>
  1135. {% set jsTranslations = {
  1136. 'form_transmission_error': 'form_transmission_error'|trans,
  1137. 'line_item_subtotal': 'line_item_subtotal'|trans,
  1138. 'line_item_voucher': 'line_item_voucher'|trans,
  1139. 'line_item_shipping': 'line_item_shipping'|trans,
  1140. 'line_item_shipping_free': 'line_item_shipping_free'|trans,
  1141. 'line_item_tax': 'line_item_tax'|trans,
  1142. 'line_item_tax_info': 'line_item_tax_info'|transFallbackEmptyText,
  1143. 'line_item_sum': 'line_item_sum'|trans,
  1144. 'direct_order_search_placeholder': 'direct_order_search_placeholder'|trans,
  1145. 'add': 'add'|trans,
  1146. 'service_url_denios_assets':'image_service_url_denios_assets'|trans,
  1147. 'service_url_storyblok':'image_service_url_storyblok'|trans,
  1148. 'image_url_denios_assets':'image_url_denios_assets'|trans,
  1149. 'image_url_storyblok':'image_url_storyblok'|trans,
  1150. 'back': 'back'|trans,
  1151. 'header_vat_excluding': 'header_vat_excluding'|trans,
  1152. 'header_vat_including': 'header_vat_including'|trans,
  1153. 'header_direct_order': 'header_direct_order'|trans,
  1154. 'account_new_password_requirement': 'account_new_password_requirement'|trans,
  1155. 'password_requirement_min_length': 'password_min_length'|trans,
  1156. 'password_requirement_min_uppercase': 'password_min_uppercase'|trans,
  1157. 'password_requirement_min_lowercase': 'password_min_lowercase'|trans,
  1158. 'password_requirement_min_numbers': 'password_min_numbers'|trans,
  1159. 'header_account_label': 'header_account_label'|trans,
  1160. 'loading': 'loading'|trans,
  1161. 'voucher_apply': 'voucher_apply'|trans,
  1162. 'voucher_hint': 'voucher_hint'|trans,
  1163. 'voucher_input_placeholder': 'voucher_input_placeholder'|trans,
  1164. 'to_the_top': 'button_to_the_top'|trans,
  1165. 'language_switcher_json': 'header_language_switcher'|trans([],'json'),
  1166. 'messages.formservice_required_validation_message': 'formservice_required_validation_message'|trans,
  1167. 'messages.formservice_email_validation_message': 'formservice_email_validation_message'|trans,
  1168. 'messages.formservice_date_validation_message': 'formservice_date_validation_message'|trans,
  1169. 'messages.formservice_date_after_validation_message': 'formservice_date_after_validation_message'|trans,
  1170. 'messages.formservice_date_before_validation_message': 'formservice_date_before_validation_message'|trans,
  1171. 'messages.formservice_date_days_of_week_validation_message': 'formservice_date_days_of_week_validation_message'|trans,
  1172. 'messages.formservice_frc_validation_message': 'formservice_frc_validation_message'|trans,
  1173. 'form_reference_button': 'form_reference_button'|trans,
  1174. 'form_reference_technical_error': 'form_reference_technical_error'|trans,
  1175. 'form_time_format': 'form_time_format'|trans,
  1176. 'download': 'form_reference_download_button'|trans,
  1177. 'dvs_type_translation': 'dvs_type_translation'|trans([],'json'),
  1178. 'line_item_extra_info': 'line_item_extra_info'|transFallbackEmptyText,
  1179. 'book_appointment': 'book_appointment'|transFallbackEmptyText,
  1180. 'load_more':'pagination_more_text'|trans,
  1181. 'listing_filter_button':'listing_filter_button'|trans,
  1182. 'filter_show_more': 'filter_show_more'|trans,
  1183. 'filter_show_less': 'filter_show_less'|trans,
  1184. 'listing_sorting': 'listing_sorting'|trans,
  1185. 'listing_filter_active_filter_reset' : 'listing_filter_active_filter_reset'|trans,
  1186. 'reset': 'reset' | trans,
  1187. 'product_sku': 'product_sku'|trans,
  1188. 'category_label': 'category_label'|trans,
  1189. 'header_search_products': 'header_search_products'|trans,
  1190. 'header_search_suggest_terms': 'header_search_suggest_terms'|trans,
  1191. 'header_search_categories': 'header_search_categories'|trans,
  1192. 'header_search_placeholder': 'header_search_placeholder'|trans,
  1193. 'show_more_options': 'show_more_options'|trans,
  1194. 'show_less_options': 'show_less_options'|trans,
  1195. 'product_this': 'product_this'|trans,
  1196. 'product_similar': 'product_similar'|trans,
  1197. 'product_show': 'product_show'|trans,
  1198. 'compare_products': 'compare_products'|trans,
  1199. 'show_more': 'show_more'|trans,
  1200. 'show_less': 'show_less'|trans,
  1201. 'pagination_product_counter': 'pagination_product_counter'|trans,
  1202. 'successful': 'successful'|trans,
  1203. 'quantity': 'offcanvas_cart_line_item_quantity'|trans,
  1204. 'add_to_basket_successfully': 'add_to_basket_successfully'|trans,
  1205. 'add_to_basket': 'add_to_basket'|trans,
  1206. 'menu': 'mobile_menu_title'|trans,
  1207. 'next': 'next'|trans,
  1208. 'search': 'search'|trans,
  1209. 'close': 'close'|trans
  1210. } %}
  1211. {# ️️️⚠️ ↑↑↑: When adding a new snippet, update the TypeScript declaration as well! ↑↑↑ ⚠️️ #}
  1212. {% block javascriptTranslations %}
  1213. {# This block and the above variable jsTranslations is now extendable, like this:
  1214. {% block javascriptTranslations %}
  1215. {% set jsTranslations = jsTranslations|merge({
  1216. 'NEW_ENTRY': 'NEW_ENTRY'|trans,
  1217. }) %}
  1218. {{ parent() }}
  1219. {% endblock %}
  1220. #}
  1221. window.translations = {{ jsTranslations|json_encode|raw }};
  1222. window.currentLocaleWithHyphen = '{{ storeContext.localeInfo.getCurrentLocaleWithHyphen }}'
  1223. window.currencyCode = '{{ 0|currencyCode }}'
  1224. window.storeKey = '{{ storeKey() }}'
  1225. window.storeAlias = '{{ storeContext.getAlias }}'
  1226. {# window.environmentShortString = '{{ environmentShortString() }}' #}
  1227. {% endblock %}
  1228. window.controllerUrls = {
  1229. 'urlAddToShoppingList': '{{ path('app_shopping_list_add') }}',
  1230. 'urlRemoveFromShoppingList': '{{ path('app_shopping_list_remove') }}',
  1231. 'current': '{{ app.request.uri }}',
  1232. 'cart': '{{ path('checkout_cart_index') }}',
  1233. 'cartCount': '{{ path('checkout_cart_get_items_count') }}',
  1234. 'directOrder': '{{ path('checkout_cart_index') }}?directOrder=true',
  1235. 'categoryTree': '{{ path('app_get_category_tree') }}',
  1236. 'urlService': '{{ app.request.server.get('URLSERVICE') }}',
  1237. 'imageService': '{{ app.request.server.get('IMAGESERVICE') }}',
  1238. 'currentLanguage': '{{ storeContext.localeInfo.currentLocale|default }}',
  1239. 'defaultLanguage': '{{ storeContext.localeInfo.defaultLocale|default }}',
  1240. 'academyApiUrl': '{{ app.request.server.get('ACADEMYSERVICE')|default }}',
  1241. 'productAttributeLabel': '{{ path('app_get_product_attribute_label_by_key') }}',
  1242. 'productSkusByPriceChannel': '{{ path('app_get_product_skus_by_channel') }}',
  1243. 'loadMenuSlot': '{{ path('app_get_menu_slot') }}',
  1244. 'loggingUrl': '{{ path('checkout_order_logging') }}'
  1245. }
  1246. {# ️️️⚠️ ↑↑↑: When adding a new URL, update the TypeScript declaration as well! ↑↑↑ ⚠️️ #}
  1247. window.useUsSkuPattern = Boolean({{ storeContext.isAmericaSkuFormat|default(0) }});
  1248. /** @type {boolean} */
  1249. window.isPreview = {% if app.getRequest().attributes.get('storyblok_preview') %}true{% else %}false{% endif %};
  1250. {% if app.request.cookies.get(\"isPunchout\") == \"oci\" or app.request.cookies.get(\"isPunchout\") == \"cxml\" %}
  1251. window.isPunchout = true;
  1252. window.priceChannel = '{{ storeContext.getPriceChannelId }}';
  1253. {% endif %}
  1254. </script>
  1255. {{ encore_entry_script_tags('app') }}
  1256. {{ encore_entry_script_tags('friendly-captcha-v2', null, '_default', {
  1257. type: 'module',
  1258. async: true,
  1259. defer: true
  1260. }) }}
  1261. {% endblock %}
  1262. {% block structuredData %}
  1263. {% include('components/atoms/structured-data/structured-data.html.twig') with {
  1264. 'structuredData': 'structured_data_default'|trans
  1265. } %}
  1266. {% endblock %}
  1267. </body>
  1268. </html>
  1269. ", "pages/base.html.twig", "/var/www/html/templates/default/pages/base.html.twig");
  1270. }
  1271. }
  1272. /* pages/base.html.twig */
  1273. class __TwigTemplate_21486f01b30cad6cd04ce42bcdc9ee2a___1226573272 extends Template
  1274. {
  1275. private Source $source;
  1276. /**
  1277. * @var array<string, Template>
  1278. */
  1279. private array $macros = [];
  1280. public function __construct(Environment $env)
  1281. {
  1282. parent::__construct($env);
  1283. $this->source = $this->getSourceContext();
  1284. $this->blocks = [
  1285. 'offcanvasContent' => [$this, 'block_offcanvasContent'],
  1286. ];
  1287. }
  1288. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  1289. {
  1290. // line 145
  1291. return "components/organisms/offside/offside.html.twig";
  1292. }
  1293. protected function doDisplay(array $context, array $blocks = []): iterable
  1294. {
  1295. $macros = $this->macros;
  1296. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1297. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/base.html.twig"));
  1298. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1299. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/base.html.twig"));
  1300. $this->parent = $this->load("components/organisms/offside/offside.html.twig", 145);
  1301. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  1302. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1303. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1304. }
  1305. // line 150
  1306. /**
  1307. * @return iterable<null|scalar|\Stringable>
  1308. */
  1309. public function block_offcanvasContent(array $context, array $blocks = []): iterable
  1310. {
  1311. $macros = $this->macros;
  1312. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1313. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasContent"));
  1314. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1315. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "offcanvasContent"));
  1316. // line 151
  1317. yield " ";
  1318. yield from $this->load("components/organisms/offcanvas-account/offcanvas-account.html.twig", 151)->unwrap()->yield($context);
  1319. // line 152
  1320. yield " ";
  1321. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1322. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1323. yield from [];
  1324. }
  1325. /**
  1326. * @codeCoverageIgnore
  1327. */
  1328. public function getTemplateName(): string
  1329. {
  1330. return "pages/base.html.twig";
  1331. }
  1332. /**
  1333. * @codeCoverageIgnore
  1334. */
  1335. public function isTraitable(): bool
  1336. {
  1337. return false;
  1338. }
  1339. /**
  1340. * @codeCoverageIgnore
  1341. */
  1342. public function getDebugInfo(): array
  1343. {
  1344. return array ( 1564 => 152, 1561 => 151, 1548 => 150, 1525 => 145, 1126 => 328, 1113 => 327, 1102 => 288, 1097 => 285, 1093 => 284, 1089 => 283, 1085 => 282, 1081 => 281, 1078 => 280, 1076 => 272, 1063 => 271, 1050 => 324, 1048 => 320, 1044 => 319, 1041 => 318, 1036 => 316, 1033 => 315, 1031 => 314, 1023 => 313, 1017 => 310, 1014 => 309, 1009 => 306, 1005 => 305, 1001 => 304, 997 => 303, 993 => 302, 989 => 301, 985 => 300, 981 => 299, 977 => 298, 973 => 297, 969 => 296, 965 => 295, 961 => 294, 957 => 293, 953 => 292, 949 => 291, 945 => 289, 943 => 271, 940 => 270, 938 => 269, 936 => 193, 929 => 188, 916 => 177, 913 => 176, 910 => 175, 897 => 174, 886 => 160, 873 => 159, 862 => 156, 849 => 155, 838 => 154, 835 => 145, 822 => 144, 811 => 142, 808 => 141, 795 => 140, 784 => 157, 781 => 155, 779 => 144, 776 => 143, 773 => 140, 760 => 139, 749 => 137, 746 => 136, 733 => 135, 711 => 133, 700 => 131, 697 => 130, 684 => 129, 670 => 126, 657 => 125, 646 => 123, 643 => 122, 630 => 121, 619 => 158, 617 => 139, 614 => 138, 612 => 135, 609 => 134, 607 => 133, 604 => 132, 602 => 129, 599 => 128, 597 => 125, 594 => 124, 592 => 121, 588 => 119, 575 => 118, 563 => 101, 550 => 100, 536 => 97, 533 => 96, 520 => 95, 507 => 87, 502 => 86, 489 => 85, 466 => 84, 455 => 83, 452 => 82, 439 => 81, 428 => 80, 425 => 79, 412 => 78, 401 => 77, 398 => 76, 385 => 75, 367 => 72, 360 => 67, 347 => 66, 334 => 63, 331 => 62, 303 => 40, 295 => 34, 291 => 32, 276 => 18, 273 => 16, 270 => 15, 268 => 14, 265 => 13, 252 => 12, 241 => 10, 238 => 9, 225 => 8, 211 => 332, 209 => 327, 207 => 174, 201 => 171, 198 => 170, 192 => 168, 188 => 167, 186 => 165, 184 => 164, 181 => 163, 179 => 162, 176 => 161, 173 => 159, 171 => 118, 165 => 116, 161 => 114, 158 => 113, 155 => 112, 152 => 111, 149 => 110, 146 => 109, 143 => 108, 141 => 107, 139 => 106, 136 => 105, 134 => 104, 131 => 103, 129 => 100, 127 => 95, 119 => 89, 117 => 85, 112 => 84, 109 => 81, 106 => 78, 103 => 75, 100 => 66, 98 => 12, 95 => 11, 93 => 8, 89 => 6, 87 => 5, 85 => 4, 83 => 3, 75 => 2, 72 => 1,);
  1345. }
  1346. public function getSourceContext(): Source
  1347. {
  1348. return new Source("<!DOCTYPE html>
  1349. <html {% if 'html_lang_param' != 'html_lang_param'|trans %}lang=\"{{ 'html_lang_param'|trans }}\" {% endif %}>
  1350. {% set isIE = 'Trident' in app.request.headers.get('User-Agent') or 'MSIE' in app.request.headers.get('User-Agent') %}
  1351. {% set isPunchout = (app.request.cookies.get(\"isPunchout\") == \"oci\" or app.request.cookies.get(\"isPunchout\") == \"cxml\") %}
  1352. {% set categoryTree = getCategoryTree() %}
  1353. <head>
  1354. {% block gtmDataLayer %}
  1355. {% include('components/atoms/gtm-data-layer/gtm-data-layer.html.twig') %}
  1356. {% endblock %}
  1357. {% block globalJavaScript %}
  1358. {% if not app.getRequest().attributes.get('storyblok_preview') and not isPunchout %}
  1359. {% if (\"C0002:1\" in app.request.cookies.get(\"OptanonConsent\")|default) %}
  1360. <script type=\"text/javascript\">
  1361. {# Start VWO Async SmartCode #}
  1362. window._vwo_code = window._vwo_code || (function(){
  1363. var account_id=609860,
  1364. settings_tolerance=1500,
  1365. library_tolerance=2000,
  1366. use_existing_jquery=false,
  1367. is_spa=1,
  1368. hide_element='body',
  1369. /* DO NOT EDIT BELOW THIS LINE */
  1370. f=false,d=document,code={use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){
  1371. window.settings_timer=setTimeout(function () {_vwo_code.finish() },settings_tolerance);var a=d.createElement('style'),b=hide_element?hide_element+'{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}':'',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&f='+(+is_spa)+'&r='+Math.random());return settings_timer; }};window._vwo_settings_timer = code.init(); return code; }());
  1372. {# End VWO Async SmartCode #}
  1373. </script>
  1374. {% endif %}
  1375. <!-- OneTrust Cookies Consent Notice -->
  1376. <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\"
  1377. data-document-language=\"true\"
  1378. type=\"text/javascript\"
  1379. charset=\"UTF-8\"
  1380. data-domain-script=\"{{ 'cookie_consent_domain_id'|trans }}{% if app.environment != 'prod' %}-test{% endif %}\" >
  1381. </script>
  1382. <script type=\"text/javascript\">
  1383. function OptanonWrapper() {
  1384. if (OnetrustActiveGroups.indexOf('C0002') != -1) {
  1385. gtag('consent', 'update', {'analytics_storage': 'granted'})
  1386. };
  1387. if (OnetrustActiveGroups.indexOf('C0003') != -1) {
  1388. window.emos3.send({'privacy_mode': 3});
  1389. }else {
  1390. window.emos3.send({'privacy_mode': 'reset'});
  1391. }
  1392. if (OnetrustActiveGroups.indexOf('C0004') != -1) {
  1393. gtag('consent', 'update', {'ad_storage': 'granted'})
  1394. gtag('consent', 'update', {'ad_user_data': 'granted'});
  1395. gtag('consent', 'update', {'ad_personalization': 'granted'});
  1396. };
  1397. window.emos3InitialSend();
  1398. }
  1399. </script>
  1400. {% endif %}
  1401. {% include('components/atoms/global-java-script/global-java-script.html.twig') %}
  1402. <script src=\"https://integrations.etrusted.com/applications/widget.js/v2\" defer async></script>
  1403. {% endblock %}
  1404. {% block gtm %}
  1405. <!-- Google Tag Manager -->
  1406. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  1407. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  1408. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  1409. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  1410. })(window,document,'script','dataLayer','{% if isPunchout %}{{ 'gtm_id_oci'|trans }}{% else %}{{ 'gtm_id'|trans }}{% endif %}');</script>
  1411. <!-- End Google Tag Manager -->
  1412. {% endblock %}
  1413. {% block meta %}
  1414. {% include 'components/organisms/meta/meta.html.twig' %}
  1415. {% endblock %}
  1416. {% block openGraph %}
  1417. {% include 'components/organisms/open-graph/open-graph.html.twig' %}
  1418. {% endblock %}
  1419. {% block favicon %}
  1420. {% include 'components/organisms/favicon/favicon.html.twig' %}
  1421. {% endblock %}
  1422. <title>{% block title %}{{ metaInformation.title|default('meta_title_default'|trans) }}{% endblock %}</title>
  1423. {% block stylesheets %}
  1424. {{ encore_entry_link_tags('vendor') }}
  1425. {{ encore_entry_link_tags('app') }}
  1426. {% endblock %}
  1427. <link rel=\"preconnect\" href=\"//widgets.crosssell.info\">
  1428. <link rel=\"preconnect\" href=\"//cdn.cookielaw.org\">
  1429. <link rel=\"preconnect\" href=\"//in.hotjar.com\">
  1430. </head>
  1431. <body>
  1432. {% block gtmNoScript %}
  1433. <!-- Google Tag Manager (noscript) -->
  1434. <noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id={{ 'gtm_id'|trans }}\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>
  1435. <!-- End Google Tag Manager (noscript) -->
  1436. {% endblock %}
  1437. {% block econdaTracing %}
  1438. {% include('components/atoms/econda-tracking/econda-tracking.html.twig')%}
  1439. {% endblock %}
  1440. {% include 'components/atoms/page-loader/page-loader.html.twig' %}
  1441. {% set hotlineType = 'is--company' %}
  1442. {% if breadcrumbs is defined and breadcrumbs is iterable%}
  1443. {% if breadcrumbs|last['branch']|default == 'cp' %}
  1444. {% set hotlineType = 'is--cp' %}
  1445. {% elseif breadcrumbs|last['branch']|default == 'company' %}
  1446. {% set hotlineType = 'is--company' %}
  1447. {% elseif breadcrumbs|last['branch']|default == 'engineered-solutions' %}
  1448. {% set hotlineType = 'is--es' %}
  1449. {% endif %}
  1450. {% endif %}
  1451. <div id=\"app\" class=\"{{ hotlineType }}\">
  1452. <div class=\"app__inner\">
  1453. {% block body %}
  1454. <to-the-top></to-the-top>
  1455. {% block flash_messages %}
  1456. {% include 'components/atoms/toast/toast.html.twig' %}
  1457. {% endblock %}
  1458. {% block header %}
  1459. {{ include('components/organisms/header/header.html.twig') }}
  1460. {% endblock %}
  1461. {% block breadcrumb %}
  1462. {% include('components/molecules/breadcrumb/breadcrumb.html.twig') %}
  1463. {% endblock %}
  1464. <main>
  1465. {% block content %}{% endblock %}
  1466. </main>
  1467. {% block footer %}
  1468. {% include 'components/organisms/footer/footer.html.twig' %}
  1469. {% endblock %}
  1470. {% block offcanvas %}
  1471. {% block offcanvasMobileMenu %}
  1472. {% include 'components/organisms/vertical-menu/vertical-menu.html.twig' %}
  1473. {% endblock %}
  1474. {% block offcanvasAccountMenu %}
  1475. {% embed 'components/organisms/offside/offside.html.twig' with {
  1476. 'id': 'accountMenu',
  1477. 'header': 'offcanvas_account_menu_headline'|trans,
  1478. 'aria-labeldby': 'offcanvas_account_menu_headline'|trans,
  1479. } %}
  1480. {% block offcanvasContent %}
  1481. {% include 'components/organisms/offcanvas-account/offcanvas-account.html.twig' %}
  1482. {% endblock %}
  1483. {% endembed %}
  1484. {% endblock %}
  1485. {% block offcanvasCart %}
  1486. {% endblock %}
  1487. {% endblock %}
  1488. {% endblock %}
  1489. {% block modal %}
  1490. {% endblock %}
  1491. {% if cms_globals.slot_sticky_banner is defined %}
  1492. {% set stickyBanner %}
  1493. {% include 'components/organisms/storyblok/storyblok.html.twig' with {
  1494. 'componentData': cms_globals.slot_sticky_banner
  1495. } %}
  1496. {% endset %}
  1497. {{ setPageEndHtml('sticky-banner', stickyBanner) }}
  1498. {% endif %}
  1499. </div>
  1500. {{ getPageEndHtml() }}
  1501. </div>
  1502. {% block javascripts %}
  1503. {% include('components/molecules/breadcrumb/breadcrumb-schema.html.twig') %}
  1504. {% if app.getRequest().attributes.get('storyblok_preview') %}
  1505. <script src=\"//app.storyblok.com/f/storyblok-v2-latest.js\" defer></script>
  1506. <script>
  1507. window.addEventListener('load', function() {
  1508. const storyblokInstance = new window.StoryblokBridge()
  1509. storyblokInstance.on(['change', 'published'], function() {
  1510. window.location.reload();
  1511. });
  1512. });
  1513. </script>
  1514. {% endif %}
  1515. <script type=\"text/javascript\" defer=\"defer\" src=\"https://l.ecn-ldr.de/loader/loader.js\" client-key=\"00002954-63be81d4-fc18-3e36-996c-72cbbe3e697d\" container-id=\"5937\"></script>
  1516. <script>
  1517. {% set jsTranslations = {
  1518. 'form_transmission_error': 'form_transmission_error'|trans,
  1519. 'line_item_subtotal': 'line_item_subtotal'|trans,
  1520. 'line_item_voucher': 'line_item_voucher'|trans,
  1521. 'line_item_shipping': 'line_item_shipping'|trans,
  1522. 'line_item_shipping_free': 'line_item_shipping_free'|trans,
  1523. 'line_item_tax': 'line_item_tax'|trans,
  1524. 'line_item_tax_info': 'line_item_tax_info'|transFallbackEmptyText,
  1525. 'line_item_sum': 'line_item_sum'|trans,
  1526. 'direct_order_search_placeholder': 'direct_order_search_placeholder'|trans,
  1527. 'add': 'add'|trans,
  1528. 'service_url_denios_assets':'image_service_url_denios_assets'|trans,
  1529. 'service_url_storyblok':'image_service_url_storyblok'|trans,
  1530. 'image_url_denios_assets':'image_url_denios_assets'|trans,
  1531. 'image_url_storyblok':'image_url_storyblok'|trans,
  1532. 'back': 'back'|trans,
  1533. 'header_vat_excluding': 'header_vat_excluding'|trans,
  1534. 'header_vat_including': 'header_vat_including'|trans,
  1535. 'header_direct_order': 'header_direct_order'|trans,
  1536. 'account_new_password_requirement': 'account_new_password_requirement'|trans,
  1537. 'password_requirement_min_length': 'password_min_length'|trans,
  1538. 'password_requirement_min_uppercase': 'password_min_uppercase'|trans,
  1539. 'password_requirement_min_lowercase': 'password_min_lowercase'|trans,
  1540. 'password_requirement_min_numbers': 'password_min_numbers'|trans,
  1541. 'header_account_label': 'header_account_label'|trans,
  1542. 'loading': 'loading'|trans,
  1543. 'voucher_apply': 'voucher_apply'|trans,
  1544. 'voucher_hint': 'voucher_hint'|trans,
  1545. 'voucher_input_placeholder': 'voucher_input_placeholder'|trans,
  1546. 'to_the_top': 'button_to_the_top'|trans,
  1547. 'language_switcher_json': 'header_language_switcher'|trans([],'json'),
  1548. 'messages.formservice_required_validation_message': 'formservice_required_validation_message'|trans,
  1549. 'messages.formservice_email_validation_message': 'formservice_email_validation_message'|trans,
  1550. 'messages.formservice_date_validation_message': 'formservice_date_validation_message'|trans,
  1551. 'messages.formservice_date_after_validation_message': 'formservice_date_after_validation_message'|trans,
  1552. 'messages.formservice_date_before_validation_message': 'formservice_date_before_validation_message'|trans,
  1553. 'messages.formservice_date_days_of_week_validation_message': 'formservice_date_days_of_week_validation_message'|trans,
  1554. 'messages.formservice_frc_validation_message': 'formservice_frc_validation_message'|trans,
  1555. 'form_reference_button': 'form_reference_button'|trans,
  1556. 'form_reference_technical_error': 'form_reference_technical_error'|trans,
  1557. 'form_time_format': 'form_time_format'|trans,
  1558. 'download': 'form_reference_download_button'|trans,
  1559. 'dvs_type_translation': 'dvs_type_translation'|trans([],'json'),
  1560. 'line_item_extra_info': 'line_item_extra_info'|transFallbackEmptyText,
  1561. 'book_appointment': 'book_appointment'|transFallbackEmptyText,
  1562. 'load_more':'pagination_more_text'|trans,
  1563. 'listing_filter_button':'listing_filter_button'|trans,
  1564. 'filter_show_more': 'filter_show_more'|trans,
  1565. 'filter_show_less': 'filter_show_less'|trans,
  1566. 'listing_sorting': 'listing_sorting'|trans,
  1567. 'listing_filter_active_filter_reset' : 'listing_filter_active_filter_reset'|trans,
  1568. 'reset': 'reset' | trans,
  1569. 'product_sku': 'product_sku'|trans,
  1570. 'category_label': 'category_label'|trans,
  1571. 'header_search_products': 'header_search_products'|trans,
  1572. 'header_search_suggest_terms': 'header_search_suggest_terms'|trans,
  1573. 'header_search_categories': 'header_search_categories'|trans,
  1574. 'header_search_placeholder': 'header_search_placeholder'|trans,
  1575. 'show_more_options': 'show_more_options'|trans,
  1576. 'show_less_options': 'show_less_options'|trans,
  1577. 'product_this': 'product_this'|trans,
  1578. 'product_similar': 'product_similar'|trans,
  1579. 'product_show': 'product_show'|trans,
  1580. 'compare_products': 'compare_products'|trans,
  1581. 'show_more': 'show_more'|trans,
  1582. 'show_less': 'show_less'|trans,
  1583. 'pagination_product_counter': 'pagination_product_counter'|trans,
  1584. 'successful': 'successful'|trans,
  1585. 'quantity': 'offcanvas_cart_line_item_quantity'|trans,
  1586. 'add_to_basket_successfully': 'add_to_basket_successfully'|trans,
  1587. 'add_to_basket': 'add_to_basket'|trans,
  1588. 'menu': 'mobile_menu_title'|trans,
  1589. 'next': 'next'|trans,
  1590. 'search': 'search'|trans,
  1591. 'close': 'close'|trans
  1592. } %}
  1593. {# ️️️⚠️ ↑↑↑: When adding a new snippet, update the TypeScript declaration as well! ↑↑↑ ⚠️️ #}
  1594. {% block javascriptTranslations %}
  1595. {# This block and the above variable jsTranslations is now extendable, like this:
  1596. {% block javascriptTranslations %}
  1597. {% set jsTranslations = jsTranslations|merge({
  1598. 'NEW_ENTRY': 'NEW_ENTRY'|trans,
  1599. }) %}
  1600. {{ parent() }}
  1601. {% endblock %}
  1602. #}
  1603. window.translations = {{ jsTranslations|json_encode|raw }};
  1604. window.currentLocaleWithHyphen = '{{ storeContext.localeInfo.getCurrentLocaleWithHyphen }}'
  1605. window.currencyCode = '{{ 0|currencyCode }}'
  1606. window.storeKey = '{{ storeKey() }}'
  1607. window.storeAlias = '{{ storeContext.getAlias }}'
  1608. {# window.environmentShortString = '{{ environmentShortString() }}' #}
  1609. {% endblock %}
  1610. window.controllerUrls = {
  1611. 'urlAddToShoppingList': '{{ path('app_shopping_list_add') }}',
  1612. 'urlRemoveFromShoppingList': '{{ path('app_shopping_list_remove') }}',
  1613. 'current': '{{ app.request.uri }}',
  1614. 'cart': '{{ path('checkout_cart_index') }}',
  1615. 'cartCount': '{{ path('checkout_cart_get_items_count') }}',
  1616. 'directOrder': '{{ path('checkout_cart_index') }}?directOrder=true',
  1617. 'categoryTree': '{{ path('app_get_category_tree') }}',
  1618. 'urlService': '{{ app.request.server.get('URLSERVICE') }}',
  1619. 'imageService': '{{ app.request.server.get('IMAGESERVICE') }}',
  1620. 'currentLanguage': '{{ storeContext.localeInfo.currentLocale|default }}',
  1621. 'defaultLanguage': '{{ storeContext.localeInfo.defaultLocale|default }}',
  1622. 'academyApiUrl': '{{ app.request.server.get('ACADEMYSERVICE')|default }}',
  1623. 'productAttributeLabel': '{{ path('app_get_product_attribute_label_by_key') }}',
  1624. 'productSkusByPriceChannel': '{{ path('app_get_product_skus_by_channel') }}',
  1625. 'loadMenuSlot': '{{ path('app_get_menu_slot') }}',
  1626. 'loggingUrl': '{{ path('checkout_order_logging') }}'
  1627. }
  1628. {# ️️️⚠️ ↑↑↑: When adding a new URL, update the TypeScript declaration as well! ↑↑↑ ⚠️️ #}
  1629. window.useUsSkuPattern = Boolean({{ storeContext.isAmericaSkuFormat|default(0) }});
  1630. /** @type {boolean} */
  1631. window.isPreview = {% if app.getRequest().attributes.get('storyblok_preview') %}true{% else %}false{% endif %};
  1632. {% if app.request.cookies.get(\"isPunchout\") == \"oci\" or app.request.cookies.get(\"isPunchout\") == \"cxml\" %}
  1633. window.isPunchout = true;
  1634. window.priceChannel = '{{ storeContext.getPriceChannelId }}';
  1635. {% endif %}
  1636. </script>
  1637. {{ encore_entry_script_tags('app') }}
  1638. {{ encore_entry_script_tags('friendly-captcha-v2', null, '_default', {
  1639. type: 'module',
  1640. async: true,
  1641. defer: true
  1642. }) }}
  1643. {% endblock %}
  1644. {% block structuredData %}
  1645. {% include('components/atoms/structured-data/structured-data.html.twig') with {
  1646. 'structuredData': 'structured_data_default'|trans
  1647. } %}
  1648. {% endblock %}
  1649. </body>
  1650. </html>
  1651. ", "pages/base.html.twig", "/var/www/html/templates/default/pages/base.html.twig");
  1652. }
  1653. }