var/cache/dev/twig/29/29f7351472eaf6bdcf8645a57a626916.php line 294

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Item/GoodsSetPurchase/main.twig */
  14. class __TwigTemplate_d94fdd958ad75b2aabe4cb79786ad998 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->parent false;
  23.         $this->blocks = [
  24.         ];
  25.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  26.         $this->checkSecurity();
  27.     }
  28.     protected function doDisplay(array $context, array $blocks = [])
  29.     {
  30.         $macros $this->macros;
  31.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  32.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Item/GoodsSetPurchase/main.twig"));
  33.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  34.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Item/GoodsSetPurchase/main.twig"));
  35.         // line 1
  36.         echo "<style>
  37.     .btn-v2 {
  38.         position: relative;
  39.         display: block;
  40.         padding: 1.30rem 1.00rem;
  41.         width: min(500px, 500 / 805 * 100vw);
  42.         margin: 1.00rem auto 1.00rem;
  43.         font-size: 2.6rem;
  44.         font-weight: bold;
  45.         border-radius: 0.75rem;
  46.         border: 2px solid transparent;
  47.         box-shadow: 0.15rem 0.2rem 0.1rem 0 rgba(0, 0, 0, 0.4);
  48.         box-sizing: border-box;
  49.     }
  50.     .btn-v2::after {
  51.         color: #333;
  52.         position: absolute;
  53.         content: attr(alt);
  54.         top: 116%;
  55.         left: 0;
  56.         width: 100%;
  57.         text-align: center;
  58.         font-size: 1.00rem;
  59.         font-weight: normal;
  60.     }
  61.     .btn-v2.forward {
  62.         color: white;
  63.         background: rgb(249,131,0);
  64.         background: linear-gradient(180deg, rgba(249,131,0,1) 0%, rgba(235,86,8,1) 50%);
  65.     }
  66.     .btn-v2.forward:hover {
  67.         color: rgba(235,86,8,1);
  68.         background: white;
  69.         border: 2px solid rgba(235,86,8,1);
  70.     }
  71.     .gsp-checkout-guide {
  72.         color: #333;
  73.         font-size: 1.5rem;
  74.         text-align: center;
  75.         line-height: 2.5rem;
  76.         margin: 2rem 0 8rem;
  77.     }
  78.     #cartin-button-guide {
  79.         position: relative;
  80.         background-image: url('https://img0.land-mark.biz/ut_img/public_images/itempage/goods-set-purchase/guidance.png');
  81.         background-size: cover;
  82.         width: min(751px, 751 / 805 * 100vw);
  83.         height: min(301px, 301 / 805 * 100vw);
  84.         margin: 0 auto;
  85.     }
  86.     #cartin-button-guide > button {
  87.         position: absolute;
  88.     }
  89.     #cartin-button-guide > button.guide_next_item {
  90.         left: min(405px, 405 / 805 * 100vw);
  91.         top: min(132px, 132 / 805 * 100vw);
  92.         width: min(202px, 202 / 805 * 100vw);
  93.         height: min(42px, 42 / 805 * 100vw);
  94.     }
  95.     #cartin-button-guide > button.guide_add_to_cart {
  96.         left: min(153px, 153 / 805 * 100vw);
  97.         top: min(197px, 197 / 805 * 100vw);
  98.         width: min(202px, 202 / 805 * 100vw);
  99.         height: min(42px, 42 / 805 * 100vw);
  100.     }
  101.     #label-get-started {
  102.         background-color: #118B0A;
  103.         color: white;
  104.         text-align: center;
  105.         font-size: min(23px, 23 / 805 * 100vw);
  106.         width: min(805px, 805 / 805 * 100vw);
  107.         height: min(50px, 50 / 805 * 100vw);
  108.         line-height: min(50px, 50 / 805 * 100vw);
  109.         margin: min(30px, 30 / 805 * 100vw) 0 min(7px, 7 / 805 * 100vw) 0;
  110.     }
  111.     @media screen and (max-width: 768px) {
  112.         .btn-v2 {
  113.             width: 98%;
  114.         }
  115.     }
  116. </style>
  117. ";
  118.         // line 84
  119.         $this->loadTemplate("Item/NewCartArea/style.twig""Item/GoodsSetPurchase/main.twig"84)->display(twig_to_array([]));
  120.         // line 85
  121.         echo "
  122. <style>
  123.     .item-info > .item-row {
  124.         display: grid;
  125.         grid-template-columns : 120px auto;
  126.         padding: 0.75rem 1.0rem;
  127.     }
  128.     .item-info > .item-row > .item-col.head {
  129.         font-size: 14px;
  130.     }
  131.     .item-info > .item-row > .item-col,
  132.     .item-info > .item-row > .item-col.price .price-text {
  133.         font-size: 17px;
  134.     }
  135.     .item-info > .item-row > .item-col.price {
  136.         font-size: 23px;
  137.         color: red;
  138.     }
  139.     @media screen and (max-width: 768px) {
  140.         .item-info > .item-row {
  141.             grid-template-columns : 8.25rem 1fr;
  142.             padding: 0;
  143.         }
  144.         .item-info > .item-row > .item-col.head {
  145.             font-size: 1.1rem;
  146.         }
  147.         .item-info > .item-row > .item-col,
  148.         .item-info > .item-row > .item-col.price .price-text {
  149.             font-size: 1.25rem;
  150.         }
  151.         .item-info > .item-row > .item-col.price {
  152.             font-size: 1.85rem;
  153.             color: red;
  154.         }
  155.     }
  156. </style><style>
  157.     .sokujitsu-hassou-banner {
  158.         background-color: #EFFCFF;
  159.         border: 1px solid #C1C1C1;
  160.         font-size: 1.5rem;
  161.         padding: 2.0rem;
  162.         width: auto;
  163.         margin: 0.5rem auto;
  164.         margin-top: 1.5rem;
  165.     }
  166.     .sokujitsu-hassou-banner > .title,
  167.     .sokujitsu-hassou-banner > .description {
  168.         text-align: center;
  169.     }
  170.     .sokujitsu-hassou-banner > .title {
  171.         font-size: 1.75em;
  172.         color: #1026DB;
  173.     }
  174.     .sokujitsu-hassou-banner > .description {
  175.         font-size: 1.25em;
  176.         color: white;
  177.         background-color: #449ADC;
  178.         width: 85%;
  179.         margin: 0.75em auto;
  180.         padding: 0.5em;
  181.     }
  182.     .sokujitsu-hassou-banner > dl {
  183.         position: relative;
  184.         margin: 0;
  185.         overflow: hidden;
  186.         transition: all 0.5s linear;
  187.     }
  188.     .sokujitsu-hassou-banner > dl.closed {
  189.         height: 3.0em;
  190.     }
  191.     .sokujitsu-hassou-banner > dl.closed > dd {
  192.         opacity: 0.25;
  193.     }
  194.     .sokujitsu-hassou-banner > dl.opened {
  195.         height: auto;
  196.     }
  197.     .sokujitsu-hassou-banner > dl.closed > dt.overlay {
  198.         position: absolute;
  199.         display: inline-block;
  200.         cursor: pointer;
  201.         bottom: 0;
  202.         left: 50%;
  203.         transform: translate(-50%);
  204.         height: 2em;
  205.         color: white;
  206.         border-radius: 2rem;
  207.         padding: .5rem 5rem;
  208.         background: #1291DE;
  209.     }
  210.     .sokujitsu-hassou-banner > dl > dt:nth-of-type(n+2) {
  211.         margin-top: 1.0em;
  212.     }
  213.     .sokujitsu-hassou-banner > dl > dt,
  214.     .sokujitsu-hassou-banner > dl > dd {
  215.         font-weight: normal;
  216.     }
  217.     .sokujitsu-hassou-banner > dl > dt {
  218.         color: #1026DB;
  219.     }
  220.     .sokujitsu-hassou-banner > dl > dd {
  221.         color: #333;
  222.     }
  223.     @media screen and (max-width: 768px) {
  224.         .sokujitsu-hassou-banner {
  225.             font-size: 1.0rem;
  226.             padding: 1.0rem;
  227.         }
  228.     }
  229. </style>
  230. ";
  231.         // line 195
  232.         $this->loadTemplate("Item/NewCartArea/script.twig""Item/GoodsSetPurchase/main.twig"195)->display(twig_to_array([]));
  233.         // line 196
  234.         echo "
  235. <div id=\"cartin-button-guide\" class=\"anchor-wrapper\"></div>
  236. <div id=\"label-get-started\">セット商品を購入する</div>
  237. <div>
  238.     <form id=\"dummy\"></form>
  239.     <form id=\"form-goods-set-purchase\">
  240.         <input type=\"hidden\" name=\"goodsId\" value=\"";
  241.         // line 207
  242.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["goods"]) || array_key_exists("goods"$context) ? $context["goods"] : (function () { throw new RuntimeError('Variable "goods" does not exist.'207$this->source); })()), "goodsId", [], "any"falsefalsetrue207), 207$this->source), "html"nulltrue);
  243.         echo "\">
  244.     ";
  245.         // line 209
  246.         $context['_parent'] = $context;
  247.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["item"]) || array_key_exists("item"$context) ? $context["item"] : (function () { throw new RuntimeError('Variable "item" does not exist.'209$this->source); })()), "goods", [], "any"falsefalsetrue209), "childrenAsGoodsSetPurchase", [], "any"falsefalsetrue209));
  248.         $context['loop'] = [
  249.           'parent' => $context['_parent'],
  250.           'index0' => 0,
  251.           'index'  => 1,
  252.           'first'  => true,
  253.         ];
  254.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  255.             $length count($context['_seq']);
  256.             $context['loop']['revindex0'] = $length 1;
  257.             $context['loop']['revindex'] = $length;
  258.             $context['loop']['length'] = $length;
  259.             $context['loop']['last'] = === $length;
  260.         }
  261.         foreach ($context['_seq'] as $context["_key"] => $context["child"]) {
  262.             // line 210
  263.             echo "
  264.         ";
  265.             // line 211
  266.             $context["child"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["child"], "goodsChild", [], "any"falsefalsetrue211), "item", [], "any"falsefalsetrue211);
  267.             // line 212
  268.             echo "
  269.         ";
  270.             // line 213
  271.             $this->loadTemplate("Item/Common/new_main.twig""Item/GoodsSetPurchase/main.twig"213)->display(twig_to_array(["item" => $context["child"], "goods" => twig_get_attribute($this->env$this->source$context["child"], "goods", [], "any"falsefalsetrue213)]));
  272.             // line 214
  273.             echo "
  274.         ";
  275.             // line 215
  276.             $this->loadTemplate("Item/GoodsSetPurchase/new_cart_area.twig""Item/GoodsSetPurchase/main.twig"215)->display(twig_to_array(["loop" => $context["loop"], "parent" => (isset($context["item"]) || array_key_exists("item"$context) ? $context["item"] : (function () { throw new RuntimeError('Variable "item" does not exist.'215$this->source); })()), "item" => $context["child"], "skuMap" => (isset($context["skuMap"]) || array_key_exists("skuMap"$context) ? $context["skuMap"] : (function () { throw new RuntimeError('Variable "skuMap" does not exist.'215$this->source); })()), "visibleSizes" => (isset($context["visibleSizes"]) || array_key_exists("visibleSizes"$context) ? $context["visibleSizes"] : (function () { throw new RuntimeError('Variable "visibleSizes" does not exist.'215$this->source); })())]));
  277.             // line 216
  278.             echo "
  279.     ";
  280.             ++$context['loop']['index0'];
  281.             ++$context['loop']['index'];
  282.             $context['loop']['first'] = false;
  283.             if (isset($context['loop']['length'])) {
  284.                 --$context['loop']['revindex0'];
  285.                 --$context['loop']['revindex'];
  286.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  287.             }
  288.         }
  289.         $_parent $context['_parent'];
  290.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['child'], $context['_parent'], $context['loop']);
  291.         $context array_intersect_key($context$_parent) + $_parent;
  292.         // line 218
  293.         echo "
  294.     <div class=\"anchor-wrapper gsp-checkout-guide\">
  295.         <a class=\"anchor\"></a>
  296.         <div>
  297.             <p>セット商品の選択は以上です。</p>
  298.             <p>ご注文を進めるには下記からお進みください。</p>
  299.         </div>
  300.         <button type=\"button\" class=\"btn-v2 forward btn_add_to_cart add-to-cart\" alt=\"※まだご注文は確定しませんので、ご安心ください。\"><span class=\"muji\"></span>カートに入れる</button>
  301.     </div>
  302.     </form>
  303. </div>
  304. ";
  305.         
  306.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  307.         
  308.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  309.     }
  310.     public function getTemplateName()
  311.     {
  312.         return "Item/GoodsSetPurchase/main.twig";
  313.     }
  314.     public function isTraitable()
  315.     {
  316.         return false;
  317.     }
  318.     public function getDebugInfo()
  319.     {
  320.         return array (  311 => 218,  296 => 216,  294 => 215,  291 => 214,  289 => 213,  286 => 212,  284 => 211,  281 => 210,  264 => 209,  259 => 207,  246 => 196,  244 => 195,  132 => 85,  130 => 84,  45 => 1,);
  321.     }
  322.     public function getSourceContext()
  323.     {
  324.         return new Source("<style>
  325.     .btn-v2 {
  326.         position: relative;
  327.         display: block;
  328.         padding: 1.30rem 1.00rem;
  329.         width: min(500px, 500 / 805 * 100vw);
  330.         margin: 1.00rem auto 1.00rem;
  331.         font-size: 2.6rem;
  332.         font-weight: bold;
  333.         border-radius: 0.75rem;
  334.         border: 2px solid transparent;
  335.         box-shadow: 0.15rem 0.2rem 0.1rem 0 rgba(0, 0, 0, 0.4);
  336.         box-sizing: border-box;
  337.     }
  338.     .btn-v2::after {
  339.         color: #333;
  340.         position: absolute;
  341.         content: attr(alt);
  342.         top: 116%;
  343.         left: 0;
  344.         width: 100%;
  345.         text-align: center;
  346.         font-size: 1.00rem;
  347.         font-weight: normal;
  348.     }
  349.     .btn-v2.forward {
  350.         color: white;
  351.         background: rgb(249,131,0);
  352.         background: linear-gradient(180deg, rgba(249,131,0,1) 0%, rgba(235,86,8,1) 50%);
  353.     }
  354.     .btn-v2.forward:hover {
  355.         color: rgba(235,86,8,1);
  356.         background: white;
  357.         border: 2px solid rgba(235,86,8,1);
  358.     }
  359.     .gsp-checkout-guide {
  360.         color: #333;
  361.         font-size: 1.5rem;
  362.         text-align: center;
  363.         line-height: 2.5rem;
  364.         margin: 2rem 0 8rem;
  365.     }
  366.     #cartin-button-guide {
  367.         position: relative;
  368.         background-image: url('https://img0.land-mark.biz/ut_img/public_images/itempage/goods-set-purchase/guidance.png');
  369.         background-size: cover;
  370.         width: min(751px, 751 / 805 * 100vw);
  371.         height: min(301px, 301 / 805 * 100vw);
  372.         margin: 0 auto;
  373.     }
  374.     #cartin-button-guide > button {
  375.         position: absolute;
  376.     }
  377.     #cartin-button-guide > button.guide_next_item {
  378.         left: min(405px, 405 / 805 * 100vw);
  379.         top: min(132px, 132 / 805 * 100vw);
  380.         width: min(202px, 202 / 805 * 100vw);
  381.         height: min(42px, 42 / 805 * 100vw);
  382.     }
  383.     #cartin-button-guide > button.guide_add_to_cart {
  384.         left: min(153px, 153 / 805 * 100vw);
  385.         top: min(197px, 197 / 805 * 100vw);
  386.         width: min(202px, 202 / 805 * 100vw);
  387.         height: min(42px, 42 / 805 * 100vw);
  388.     }
  389.     #label-get-started {
  390.         background-color: #118B0A;
  391.         color: white;
  392.         text-align: center;
  393.         font-size: min(23px, 23 / 805 * 100vw);
  394.         width: min(805px, 805 / 805 * 100vw);
  395.         height: min(50px, 50 / 805 * 100vw);
  396.         line-height: min(50px, 50 / 805 * 100vw);
  397.         margin: min(30px, 30 / 805 * 100vw) 0 min(7px, 7 / 805 * 100vw) 0;
  398.     }
  399.     @media screen and (max-width: 768px) {
  400.         .btn-v2 {
  401.             width: 98%;
  402.         }
  403.     }
  404. </style>
  405. {% include 'Item/NewCartArea/style.twig' with {} only %}
  406. <style>
  407.     .item-info > .item-row {
  408.         display: grid;
  409.         grid-template-columns : 120px auto;
  410.         padding: 0.75rem 1.0rem;
  411.     }
  412.     .item-info > .item-row > .item-col.head {
  413.         font-size: 14px;
  414.     }
  415.     .item-info > .item-row > .item-col,
  416.     .item-info > .item-row > .item-col.price .price-text {
  417.         font-size: 17px;
  418.     }
  419.     .item-info > .item-row > .item-col.price {
  420.         font-size: 23px;
  421.         color: red;
  422.     }
  423.     @media screen and (max-width: 768px) {
  424.         .item-info > .item-row {
  425.             grid-template-columns : 8.25rem 1fr;
  426.             padding: 0;
  427.         }
  428.         .item-info > .item-row > .item-col.head {
  429.             font-size: 1.1rem;
  430.         }
  431.         .item-info > .item-row > .item-col,
  432.         .item-info > .item-row > .item-col.price .price-text {
  433.             font-size: 1.25rem;
  434.         }
  435.         .item-info > .item-row > .item-col.price {
  436.             font-size: 1.85rem;
  437.             color: red;
  438.         }
  439.     }
  440. </style><style>
  441.     .sokujitsu-hassou-banner {
  442.         background-color: #EFFCFF;
  443.         border: 1px solid #C1C1C1;
  444.         font-size: 1.5rem;
  445.         padding: 2.0rem;
  446.         width: auto;
  447.         margin: 0.5rem auto;
  448.         margin-top: 1.5rem;
  449.     }
  450.     .sokujitsu-hassou-banner > .title,
  451.     .sokujitsu-hassou-banner > .description {
  452.         text-align: center;
  453.     }
  454.     .sokujitsu-hassou-banner > .title {
  455.         font-size: 1.75em;
  456.         color: #1026DB;
  457.     }
  458.     .sokujitsu-hassou-banner > .description {
  459.         font-size: 1.25em;
  460.         color: white;
  461.         background-color: #449ADC;
  462.         width: 85%;
  463.         margin: 0.75em auto;
  464.         padding: 0.5em;
  465.     }
  466.     .sokujitsu-hassou-banner > dl {
  467.         position: relative;
  468.         margin: 0;
  469.         overflow: hidden;
  470.         transition: all 0.5s linear;
  471.     }
  472.     .sokujitsu-hassou-banner > dl.closed {
  473.         height: 3.0em;
  474.     }
  475.     .sokujitsu-hassou-banner > dl.closed > dd {
  476.         opacity: 0.25;
  477.     }
  478.     .sokujitsu-hassou-banner > dl.opened {
  479.         height: auto;
  480.     }
  481.     .sokujitsu-hassou-banner > dl.closed > dt.overlay {
  482.         position: absolute;
  483.         display: inline-block;
  484.         cursor: pointer;
  485.         bottom: 0;
  486.         left: 50%;
  487.         transform: translate(-50%);
  488.         height: 2em;
  489.         color: white;
  490.         border-radius: 2rem;
  491.         padding: .5rem 5rem;
  492.         background: #1291DE;
  493.     }
  494.     .sokujitsu-hassou-banner > dl > dt:nth-of-type(n+2) {
  495.         margin-top: 1.0em;
  496.     }
  497.     .sokujitsu-hassou-banner > dl > dt,
  498.     .sokujitsu-hassou-banner > dl > dd {
  499.         font-weight: normal;
  500.     }
  501.     .sokujitsu-hassou-banner > dl > dt {
  502.         color: #1026DB;
  503.     }
  504.     .sokujitsu-hassou-banner > dl > dd {
  505.         color: #333;
  506.     }
  507.     @media screen and (max-width: 768px) {
  508.         .sokujitsu-hassou-banner {
  509.             font-size: 1.0rem;
  510.             padding: 1.0rem;
  511.         }
  512.     }
  513. </style>
  514. {% include 'Item/NewCartArea/script.twig' with {} only %}
  515. <div id=\"cartin-button-guide\" class=\"anchor-wrapper\"></div>
  516. <div id=\"label-get-started\">セット商品を購入する</div>
  517. <div>
  518.     <form id=\"dummy\"></form>
  519.     <form id=\"form-goods-set-purchase\">
  520.         <input type=\"hidden\" name=\"goodsId\" value=\"{{ goods.goodsId }}\">
  521.     {% for child in item.goods.childrenAsGoodsSetPurchase %}
  522.         {% set child = child.goodsChild.item %}
  523.         {% include 'Item/Common/new_main.twig' with { item: child, goods: child.goods } only %}
  524.         {% include 'Item/GoodsSetPurchase/new_cart_area.twig' with { loop: loop, parent: item, item: child, skuMap: skuMap, visibleSizes: visibleSizes } only %}
  525.     {% endfor %}
  526.     <div class=\"anchor-wrapper gsp-checkout-guide\">
  527.         <a class=\"anchor\"></a>
  528.         <div>
  529.             <p>セット商品の選択は以上です。</p>
  530.             <p>ご注文を進めるには下記からお進みください。</p>
  531.         </div>
  532.         <button type=\"button\" class=\"btn-v2 forward btn_add_to_cart add-to-cart\" alt=\"※まだご注文は確定しませんので、ご安心ください。\"><span class=\"muji\"></span>カートに入れる</button>
  533.     </div>
  534.     </form>
  535. </div>
  536. ""Item/GoodsSetPurchase/main.twig""/var/www/html/app/template/default/Item/GoodsSetPurchase/main.twig");
  537.     }
  538.     
  539.     public function checkSecurity()
  540.     {
  541.         static $tags = array("include" => 84"for" => 209"set" => 211);
  542.         static $filters = array("escape" => 207);
  543.         static $functions = array();
  544.         try {
  545.             $this->sandbox->checkSecurity(
  546.                 ['include''for''set'],
  547.                 ['escape'],
  548.                 []
  549.             );
  550.         } catch (SecurityError $e) {
  551.             $e->setSourceContext($this->source);
  552.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  553.                 $e->setTemplateLine($tags[$e->getTagName()]);
  554.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  555.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  556.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  557.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  558.             }
  559.             throw $e;
  560.         }
  561.     }
  562. }