var/cache/dev/twig/4f/4f3b2f701c5c935e907b75903353f7c4.php line 267

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. /* Block/lm_category_item_list.twig */
  14. class __TwigTemplate_7eeb9e3a7012b3f30359d7e0f5c11cad 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""Block/lm_category_item_list.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""Block/lm_category_item_list.twig"));
  35.         // line 1
  36.         echo "<style>
  37.     #item-list-db #search_settings {
  38.         display: flex;
  39.         background-color: #f2f2f2;
  40.         border-top: none;
  41.         border-bottom: none;
  42.         letter-spacing: .1em;
  43.         margin-bottom: 5px;
  44.         padding: 14px 10px;
  45.     }
  46.     #item-list-db #search_settings .search-settings-box > * {
  47.         vertical-align: middle;
  48.     }
  49.     #item-list-db #search_settings .search-settings-box > span {
  50.         color: #333;
  51.         font-size: 14px;
  52.         line-height: 24px;
  53.     }
  54.     #item-list-db #search_settings .search-settings-box-left {
  55.         width: 40%;
  56.     }
  57.     #item-list-db #search_settings .search-settings-box-right {
  58.         width: 60%;
  59.         text-align: right;
  60.     }
  61.     #item-list-db #search_settings .search-settings-box-right > span {
  62.         margin-left: 2em;
  63.     }
  64.     #item-list-db #search_settings .search-settings-box-right select {
  65.         -webkit-appearance: none;
  66.         border-radius: 0;
  67.         font-size: 14px;
  68.         width: 130px;
  69.         padding-left: 2px;
  70.         height: 24px;
  71.     }
  72.     #item-list-db #search_settings .search-settings-box-right .search-settings-box-select-wrap {
  73.         display: inline-block;
  74.         position: relative;
  75.     }
  76.     #item-list-db #search_settings .search-settings-box-right .search-settings-box-select-wrap:after {
  77.         position: absolute;
  78.         content: '';
  79.         width: 4px;
  80.         height: 4px;
  81.         border: 2px solid;
  82.         border-color: #565656 #565656 transparent transparent;
  83.         transform: rotate(135deg);
  84.         top: 5px;
  85.         right: 6px;
  86.     }
  87.     #item-list-db .item-list-pagination .item-list-pagination-prev-next:before {
  88.         width: 10px;
  89.         height: 10px;
  90.     }
  91.     #item-list-db #glist  {
  92.         width: 100%;
  93.     }
  94. </style>
  95. <div id=\"item-list-db\">
  96.     ";
  97.         // line 62
  98.         $context["list_anchor_id"] = "list_mark";
  99.         // line 63
  100.         echo "    ";
  101.         $context["category_name_p"] = "";
  102.         // line 64
  103.         echo "    ";
  104.         $context["category_name"] = twig_get_attribute($this->env$this->source, (isset($context["data"]) || array_key_exists("data"$context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.'64$this->source); })()), "main_category_name", [], "any"falsefalsetrue64);
  105.         // line 65
  106.         echo "
  107.     ";
  108.         // line 66
  109.         if ((array_key_exists("isMainCategory"$context) && (isset($context["isMainCategory"]) || array_key_exists("isMainCategory"$context) ? $context["isMainCategory"] : (function () { throw new RuntimeError('Variable "isMainCategory" does not exist.'66$this->source); })()))) {
  110.             // line 67
  111.             echo "        ";
  112.             if ((array_key_exists("main_h3"$context) && ((isset($context["main_h3"]) || array_key_exists("main_h3"$context) ? $context["main_h3"] : (function () { throw new RuntimeError('Variable "main_h3" does not exist.'67$this->source); })()) != ""))) {
  113.                 // line 68
  114.                 echo "            ";
  115.                 $context["category_name"] = (isset($context["main_h3"]) || array_key_exists("main_h3"$context) ? $context["main_h3"] : (function () { throw new RuntimeError('Variable "main_h3" does not exist.'68$this->source); })());
  116.                 // line 69
  117.                 echo "        ";
  118.             } elseif ((array_key_exists("main_breadcrumb"$context) && ((isset($context["main_breadcrumb"]) || array_key_exists("main_breadcrumb"$context) ? $context["main_breadcrumb"] : (function () { throw new RuntimeError('Variable "main_breadcrumb" does not exist.'69$this->source); })()) != ""))) {
  119.                 // line 70
  120.                 echo "            ";
  121.                 $context["category_name"] = (isset($context["main_breadcrumb"]) || array_key_exists("main_breadcrumb"$context) ? $context["main_breadcrumb"] : (function () { throw new RuntimeError('Variable "main_breadcrumb" does not exist.'70$this->source); })());
  122.                 // line 71
  123.                 echo "        ";
  124.             }
  125.             // line 72
  126.             echo "        ";
  127.             $context["category_name_p"] = (isset($context["category_name"]) || array_key_exists("category_name"$context) ? $context["category_name"] : (function () { throw new RuntimeError('Variable "category_name" does not exist.'72$this->source); })());
  128.             // line 73
  129.             echo "    ";
  130.         } else {
  131.             // line 74
  132.             echo "        ";
  133.             if ((array_key_exists("category_h3"$context) && ((isset($context["category_h3"]) || array_key_exists("category_h3"$context) ? $context["category_h3"] : (function () { throw new RuntimeError('Variable "category_h3" does not exist.'74$this->source); })()) != ""))) {
  134.                 // line 75
  135.                 echo "            ";
  136.                 $context["category_name"] = (isset($context["category_h3"]) || array_key_exists("category_h3"$context) ? $context["category_h3"] : (function () { throw new RuntimeError('Variable "category_h3" does not exist.'75$this->source); })());
  137.                 // line 76
  138.                 echo "            ";
  139.                 $context["category_name_p"] = (isset($context["category_name"]) || array_key_exists("category_name"$context) ? $context["category_name"] : (function () { throw new RuntimeError('Variable "category_name" does not exist.'76$this->source); })());
  140.                 // line 77
  141.                 echo "        ";
  142.             } elseif ((array_key_exists("category_h1"$context) && ((isset($context["category_h1"]) || array_key_exists("category_h1"$context) ? $context["category_h1"] : (function () { throw new RuntimeError('Variable "category_h1" does not exist.'77$this->source); })()) != ""))) {
  143.                 // line 78
  144.                 echo "            ";
  145.                 $context["category_name"] = (isset($context["category_h1"]) || array_key_exists("category_h1"$context) ? $context["category_h1"] : (function () { throw new RuntimeError('Variable "category_h1" does not exist.'78$this->source); })());
  146.                 // line 79
  147.                 echo "            ";
  148.                 $context["category_name_p"] = (isset($context["category_name"]) || array_key_exists("category_name"$context) ? $context["category_name"] : (function () { throw new RuntimeError('Variable "category_name" does not exist.'79$this->source); })());
  149.                 // line 80
  150.                 echo "        ";
  151.             } else {
  152.                 // line 81
  153.                 echo "            ";
  154.                 $context["category_name"] = (isset($context["seoKeywordTDK"]) || array_key_exists("seoKeywordTDK"$context) ? $context["seoKeywordTDK"] : (function () { throw new RuntimeError('Variable "seoKeywordTDK" does not exist.'81$this->source); })());
  155.                 // line 82
  156.                 echo "            ";
  157.                 $context["category_name_p"] = $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPhpFunctions("str_replace"" 全商品"""$this->sandbox->ensureToStringAllowed((isset($context["category_name"]) || array_key_exists("category_name"$context) ? $context["category_name"] : (function () { throw new RuntimeError('Variable "category_name" does not exist.'82$this->source); })()), 82$this->source));
  158.                 // line 83
  159.                 echo "        ";
  160.             }
  161.             // line 84
  162.             echo "    ";
  163.         }
  164.         // line 85
  165.         echo "
  166.     <!-- 並び順、ページングのさいは、商品DBにアンカーする -->
  167.     <script>
  168.         \$( function(){
  169.             \$('#search_settings option').each( function(){
  170.                 var \$option = \$(this);
  171.                 \$option.val( \$option.val() + '#";
  172.         // line 91
  173.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["list_anchor_id"]) || array_key_exists("list_anchor_id"$context) ? $context["list_anchor_id"] : (function () { throw new RuntimeError('Variable "list_anchor_id" does not exist.'91$this->source); })()), 91$this->source), "html"nulltrue);
  174.         echo "');
  175.             });
  176.             \$('.item-list-pagination .item-list-pagination-page > a').each( function(){
  177.                 var \$a = \$(this);
  178.                 \$a.attr('href', \$a.attr('href')+'#";
  179.         // line 95
  180.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["list_anchor_id"]) || array_key_exists("list_anchor_id"$context) ? $context["list_anchor_id"] : (function () { throw new RuntimeError('Variable "list_anchor_id" does not exist.'95$this->source); })()), 95$this->source), "html"nulltrue);
  181.         echo "');
  182.             });
  183.             // 固定ヘッダー分のスクロールを調整
  184.             if( location.href.match(/#";
  185.         // line 99
  186.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["list_anchor_id"]) || array_key_exists("list_anchor_id"$context) ? $context["list_anchor_id"] : (function () { throw new RuntimeError('Variable "list_anchor_id" does not exist.'99$this->source); })()), 99$this->source), "html"nulltrue);
  187.         echo "/) ){
  188.                 // spはheader-navがないが、固定ヘッダー自体ないのでreturn falseで抜ける=そのままアンカーされればよい
  189.                 var \$fixedHeader = \$('#header-nav');
  190.                 if( \$fixedHeader.length === 0 ) return false;
  191.                 var \$anchor = \$('#";
  192.         // line 104
  193.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["list_anchor_id"]) || array_key_exists("list_anchor_id"$context) ? $context["list_anchor_id"] : (function () { throw new RuntimeError('Variable "list_anchor_id" does not exist.'104$this->source); })()), 104$this->source), "html"nulltrue);
  194.         echo "');
  195.                 setTimeout( function(){
  196.                     \$(window).scrollTop( \$anchor.offset().top - \$fixedHeader.outerHeight());\t// 10は微調整
  197.                 }, 800 );
  198.             }
  199.         });
  200.     </script>
  201.     <a id=\"";
  202.         // line 112
  203.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["list_anchor_id"]) || array_key_exists("list_anchor_id"$context) ? $context["list_anchor_id"] : (function () { throw new RuntimeError('Variable "list_anchor_id" does not exist.'112$this->source); })()), 112$this->source), "html"nulltrue);
  204.         echo "\"></a>
  205.     <div id=\"item-list-header\" class=\"item-all\">
  206.         <h2 id=\"heading-item-list\">";
  207.         // line 114
  208.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["category"]) || array_key_exists("category"$context) ? $context["category"] : (function () { throw new RuntimeError('Variable "category" does not exist.'114$this->source); })()), "titleForItemList", [], "any"falsefalsetrue114), 114$this->source), "html"nulltrue);
  209.         echo "商品一覧</h2>
  210.         <div id=\"search_settings\">
  211.             <div class=\"search-settings-box search-settings-box-left\">
  212.                 <span>対象商品 ";
  213.         // line 117
  214.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["detailData"]) || array_key_exists("detailData"$context) ? $context["detailData"] : (function () { throw new RuntimeError('Variable "detailData" does not exist.'117$this->source); })()), "item_count", [], "any"falsefalsetrue117), 117$this->source), "html"nulltrue);
  215.         echo "件</span>
  216.             </div>
  217.             <div class=\"search-settings-box search-settings-box-right\">
  218.                 ";
  219.         // line 121
  220.         $this->loadTemplate("Common/DisplayOrderPulldown.twig""Block/lm_category_item_list.twig"121)->display($context);
  221.         // line 122
  222.         echo "                ";
  223.         $this->loadTemplate("Common/DisplayItemPulldown.twig""Block/lm_category_item_list.twig"122)->display($context);
  224.         // line 123
  225.         echo "            </div>
  226.         </div>
  227.         ";
  228.         // line 125
  229.         if ( !twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'125$this->source); })()), "request", [], "any"falsefalsetrue125), "query", [], "any"falsefalsetrue125), "get", [=> "no"], "method"falsefalsetrue125)) {
  230.             // line 126
  231.             echo "            <p>";
  232.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["category"]) || array_key_exists("category"$context) ? $context["category"] : (function () { throw new RuntimeError('Variable "category" does not exist.'126$this->source); })()), "titleForItemList", [], "any"falsefalsetrue126), 126$this->source), "html"nulltrue);
  233.             echo "を販売するユニフォームの通販。常時20万点以上の豊富な品揃え。プリント・刺繍加工も対応中!</p>
  234.         ";
  235.         }
  236.         // line 128
  237.         echo "    </div>
  238.     <!-- 検索結果が0件の場合 -->
  239.     ";
  240.         // line 132
  241.         if (((array_key_exists("detailData"$context) && twig_get_attribute($this->env$this->source, ($context["detailData"] ?? null), "item_count", [], "any"truetruetrue132)) && (twig_get_attribute($this->env$this->source, (isset($context["detailData"]) || array_key_exists("detailData"$context) ? $context["detailData"] : (function () { throw new RuntimeError('Variable "detailData" does not exist.'132$this->source); })()), "item_count", [], "any"falsefalsetrue132) == 0))) {
  242.             // line 133
  243.             echo "        <div class=\"item-not-found\">該当する条件の商品は見つかりませんでした。</div>
  244.     ";
  245.         } else {
  246.             // line 135
  247.             echo "        ";
  248.             $context["col_count"] = twig_get_attribute($this->env$this->source, (isset($context["detailData"]) || array_key_exists("detailData"$context) ? $context["detailData"] : (function () { throw new RuntimeError('Variable "detailData" does not exist.'135$this->source); })()), "col_count", [], "any"falsefalsetrue135);
  249.             // line 136
  250.             echo "        ";
  251.             echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/product_item_list_common.twig");
  252.             echo "
  253.     ";
  254.         }
  255.         // line 138
  256.         echo "</div>
  257. ";
  258.         
  259.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  260.         
  261.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  262.     }
  263.     public function getTemplateName()
  264.     {
  265.         return "Block/lm_category_item_list.twig";
  266.     }
  267.     public function isTraitable()
  268.     {
  269.         return false;
  270.     }
  271.     public function getDebugInfo()
  272.     {
  273.         return array (  272 => 138,  266 => 136,  263 => 135,  259 => 133,  257 => 132,  251 => 128,  245 => 126,  243 => 125,  239 => 123,  236 => 122,  234 => 121,  227 => 117,  221 => 114,  216 => 112,  205 => 104,  197 => 99,  190 => 95,  183 => 91,  175 => 85,  172 => 84,  169 => 83,  166 => 82,  163 => 81,  160 => 80,  157 => 79,  154 => 78,  151 => 77,  148 => 76,  145 => 75,  142 => 74,  139 => 73,  136 => 72,  133 => 71,  130 => 70,  127 => 69,  124 => 68,  121 => 67,  119 => 66,  116 => 65,  113 => 64,  110 => 63,  108 => 62,  45 => 1,);
  274.     }
  275.     public function getSourceContext()
  276.     {
  277.         return new Source("<style>
  278.     #item-list-db #search_settings {
  279.         display: flex;
  280.         background-color: #f2f2f2;
  281.         border-top: none;
  282.         border-bottom: none;
  283.         letter-spacing: .1em;
  284.         margin-bottom: 5px;
  285.         padding: 14px 10px;
  286.     }
  287.     #item-list-db #search_settings .search-settings-box > * {
  288.         vertical-align: middle;
  289.     }
  290.     #item-list-db #search_settings .search-settings-box > span {
  291.         color: #333;
  292.         font-size: 14px;
  293.         line-height: 24px;
  294.     }
  295.     #item-list-db #search_settings .search-settings-box-left {
  296.         width: 40%;
  297.     }
  298.     #item-list-db #search_settings .search-settings-box-right {
  299.         width: 60%;
  300.         text-align: right;
  301.     }
  302.     #item-list-db #search_settings .search-settings-box-right > span {
  303.         margin-left: 2em;
  304.     }
  305.     #item-list-db #search_settings .search-settings-box-right select {
  306.         -webkit-appearance: none;
  307.         border-radius: 0;
  308.         font-size: 14px;
  309.         width: 130px;
  310.         padding-left: 2px;
  311.         height: 24px;
  312.     }
  313.     #item-list-db #search_settings .search-settings-box-right .search-settings-box-select-wrap {
  314.         display: inline-block;
  315.         position: relative;
  316.     }
  317.     #item-list-db #search_settings .search-settings-box-right .search-settings-box-select-wrap:after {
  318.         position: absolute;
  319.         content: '';
  320.         width: 4px;
  321.         height: 4px;
  322.         border: 2px solid;
  323.         border-color: #565656 #565656 transparent transparent;
  324.         transform: rotate(135deg);
  325.         top: 5px;
  326.         right: 6px;
  327.     }
  328.     #item-list-db .item-list-pagination .item-list-pagination-prev-next:before {
  329.         width: 10px;
  330.         height: 10px;
  331.     }
  332.     #item-list-db #glist  {
  333.         width: 100%;
  334.     }
  335. </style>
  336. <div id=\"item-list-db\">
  337.     {% set list_anchor_id = 'list_mark' %}
  338.     {% set category_name_p = '' %}
  339.     {% set category_name = data.main_category_name %}
  340.     {% if isMainCategory is defined and isMainCategory %}
  341.         {% if main_h3 is defined and main_h3 != '' %}
  342.             {% set category_name = main_h3 %}
  343.         {% elseif main_breadcrumb is defined and main_breadcrumb != '' %}
  344.             {% set category_name = main_breadcrumb %}
  345.         {% endif %}
  346.         {% set category_name_p = category_name %}
  347.     {% else %}
  348.         {% if category_h3 is defined and category_h3 != '' %}
  349.             {% set category_name = category_h3 %}
  350.             {% set category_name_p = category_name %}
  351.         {% elseif category_h1 is defined and category_h1 != '' %}
  352.             {% set category_name = category_h1 %}
  353.             {% set category_name_p = category_name %}
  354.         {% else %}
  355.             {% set category_name = seoKeywordTDK %}
  356.             {% set category_name_p = php_str_replace(\" 全商品\", \"\", category_name) %}
  357.         {% endif %}
  358.     {% endif %}
  359.     <!-- 並び順、ページングのさいは、商品DBにアンカーする -->
  360.     <script>
  361.         \$( function(){
  362.             \$('#search_settings option').each( function(){
  363.                 var \$option = \$(this);
  364.                 \$option.val( \$option.val() + '#{{ list_anchor_id }}');
  365.             });
  366.             \$('.item-list-pagination .item-list-pagination-page > a').each( function(){
  367.                 var \$a = \$(this);
  368.                 \$a.attr('href', \$a.attr('href')+'#{{ list_anchor_id }}');
  369.             });
  370.             // 固定ヘッダー分のスクロールを調整
  371.             if( location.href.match(/#{{ list_anchor_id }}/) ){
  372.                 // spはheader-navがないが、固定ヘッダー自体ないのでreturn falseで抜ける=そのままアンカーされればよい
  373.                 var \$fixedHeader = \$('#header-nav');
  374.                 if( \$fixedHeader.length === 0 ) return false;
  375.                 var \$anchor = \$('#{{ list_anchor_id }}');
  376.                 setTimeout( function(){
  377.                     \$(window).scrollTop( \$anchor.offset().top - \$fixedHeader.outerHeight());\t// 10は微調整
  378.                 }, 800 );
  379.             }
  380.         });
  381.     </script>
  382.     <a id=\"{{ list_anchor_id }}\"></a>
  383.     <div id=\"item-list-header\" class=\"item-all\">
  384.         <h2 id=\"heading-item-list\">{{ category.titleForItemList }}商品一覧</h2>
  385.         <div id=\"search_settings\">
  386.             <div class=\"search-settings-box search-settings-box-left\">
  387.                 <span>対象商品 {{ detailData.item_count }}件</span>
  388.             </div>
  389.             <div class=\"search-settings-box search-settings-box-right\">
  390.                 {% include 'Common/DisplayOrderPulldown.twig' %}
  391.                 {% include 'Common/DisplayItemPulldown.twig' %}
  392.             </div>
  393.         </div>
  394.         {% if not app.request.query.get('no') %}
  395.             <p>{{ category.titleForItemList }}を販売するユニフォームの通販。常時20万点以上の豊富な品揃え。プリント・刺繍加工も対応中!</p>
  396.         {% endif %}
  397.     </div>
  398.     <!-- 検索結果が0件の場合 -->
  399.     {% if detailData is defined and detailData.item_count is defined and detailData.item_count == 0 %}
  400.         <div class=\"item-not-found\">該当する条件の商品は見つかりませんでした。</div>
  401.     {% else %}
  402.         {% set col_count = detailData.col_count %}
  403.         {{ include('Block/product_item_list_common.twig') }}
  404.     {% endif %}
  405. </div>
  406. ""Block/lm_category_item_list.twig""/var/www/html/app/template/default/Block/lm_category_item_list.twig");
  407.     }
  408.     
  409.     public function checkSecurity()
  410.     {
  411.         static $tags = array("set" => 62"if" => 66"include" => 121);
  412.         static $filters = array("escape" => 91);
  413.         static $functions = array("php_str_replace" => 82"include" => 136);
  414.         try {
  415.             $this->sandbox->checkSecurity(
  416.                 ['set''if''include'],
  417.                 ['escape'],
  418.                 ['php_str_replace''include']
  419.             );
  420.         } catch (SecurityError $e) {
  421.             $e->setSourceContext($this->source);
  422.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  423.                 $e->setTemplateLine($tags[$e->getTagName()]);
  424.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  425.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  426.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  427.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  428.             }
  429.             throw $e;
  430.         }
  431.     }
  432. }