<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* Product/detail.twig */
class __TwigTemplate_94c956d92b9ad846edf2971ae2d59ff2 extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
$this->sandbox = $this->env->getExtension('\Twig\Extension\SandboxExtension');
$this->checkSecurity();
}
protected function doGetParent(array $context)
{
// line 11
return "default_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
// line 13
$context["body_class"] = "product_page";
// line 11
$this->parent = $this->loadTemplate("default_frame.twig", "Product/detail.twig", 11);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 15
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 16
echo " <style>
.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
.item_visual .slide-item {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
min-height: 100vw;
text-align: center;
}
.item_visual .slide-item img {
max-height: 100vw;
width: auto;
margin: auto;
}
.item_visual .slide-item span {
display: block;
padding-top: 100%;
position: relative;
width: 100%;
}
.item_visual .slide-item span img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
@media only screen and (min-width: 768px) {
.item_visual .slide-item {
min-height: 0;
}
.item_visual .slide-item img {
max-height: 100%;
}
}
</style>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 127
public function block_javascript($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
// line 128
echo " <script>
eccube.classCategories = ";
// line 129
echo $this->extensions['Customize\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 129, $this->source); })()), 129, $this->source));
echo ";
eccube.productStockInfo = {};
eccube.productStockInfo.stockMax = ";
// line 131
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 131, $this->source); })()), "StockMax", [], "any", false, false, true, 131), 131, $this->source), "html", null, true);
echo ";
eccube.productStockInfo.stockUnlimitedMax = ";
// line 132
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 132, $this->source); })()), "getStockUnlimitedMax", [], "method", false, false, true, 132)) {
echo "1";
} else {
echo "0";
}
echo ";
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
";
// line 143
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 143)) {
// line 144
echo " fnSetClassCategories(
\$('#form1'), ";
// line 145
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 145, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 145), "vars", [], "any", false, false, true, 145), "value", [], "any", false, false, true, 145), 145, $this->source));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 147
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 147)) {
// line 148
echo " eccube.checkStock(\$('#form1'), ";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 148, $this->source); })()), "id", [], "any", false, false, true, 148), 148, $this->source), "html", null, true);
echo ", ";
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 148, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 148), "vars", [], "any", false, false, true, 148), "value", [], "any", false, false, true, 148), 148, $this->source));
echo ", null);
";
}
// line 150
echo " </script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
\$('.item_visual').slick({
dots: false,
arrows: true,
asNavFor: '.item_nav',
responsive: [{
breakpoint: 768,
settings: {
dots: false
}
}]
});
\$('.item_nav').slick({
\t\t\t\tasNavFor: '.item_visual',
\t\t\t\tarrows: false,
\t\t\t\tfocusOnSelect: true,
\t\t\t\tslidesToShow: 5,
\t\t\t\tslidesToScroll: 1,
\t\t\t\tcenterMode: false,
\t\t\t\tcenterPadding: '0px'
\t\t\t});
/*
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
*/
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 191
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 191)) {
// line 192
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 194
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 200
echo "
";
// line 201
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 201)) {
// line 202
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 204
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 210
echo "
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 213
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html", null, true);
echo "');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').html(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"";
// line 240
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
echo "\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('";
// line 247
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 261
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 262
echo " <div class=\"ym-topicpath\">
<ul>
<li><a href=\"";
// line 264
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "\">HOME</a></li>
<li><a href=\"";
// line 265
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "products/list\">商品一覧</a></li>
";
// line 266
if ( !twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 266, $this->source); })()), "ProductCategories", [], "any", false, false, true, 266))) {
// line 267
echo " ";
$context["ProductCategory"] = twig_first($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 267, $this->source); })()), "ProductCategories", [], "any", false, false, true, 267), 267, $this->source));
// line 268
echo " <li><a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?category_id=";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["ProductCategory"]) || array_key_exists("ProductCategory", $context) ? $context["ProductCategory"] : (function () { throw new RuntimeError('Variable "ProductCategory" does not exist.', 268, $this->source); })()), "Category", [], "any", false, false, true, 268), "id", [], "any", false, false, true, 268), 268, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["ProductCategory"]) || array_key_exists("ProductCategory", $context) ? $context["ProductCategory"] : (function () { throw new RuntimeError('Variable "ProductCategory" does not exist.', 268, $this->source); })()), "Category", [], "any", false, false, true, 268), "name", [], "any", false, false, true, 268), 268, $this->source), "html", null, true);
echo "</a>
</li>
";
}
// line 271
echo " <li>";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 271, $this->source); })()), "name", [], "any", false, false, true, 271), 271, $this->source), "html", null, true);
echo "</li>
</ul>
</div>
<div class=\"ec-productRole\">
<!--<div class=\"ym-product_tags\">
\t\t\t\t<span class=\"ym-tag ym-tag_price\">特別価格</span>
\t\t\t</div>-->
\t\t\t<div class=\"ec-productRole__title\">
\t\t\t\t<h2 class=\"ec-headingTitle\">";
// line 280
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 280, $this->source); })()), "name", [], "any", false, false, true, 280), 280, $this->source), "html", null, true);
echo "</h2>
\t\t\t</div>
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ym-slider\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual\">
";
// line 287
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 287, $this->source); })()), "ProductImage", [], "any", false, false, true, 287));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
// line 288
echo " <div class=\"slide-item\"><span><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 288, $this->source), "save_image"), "html", null, true);
echo "\"></span></div>
";
$context['_iterated'] = true;
}
if (!$context['_iterated']) {
// line 290
echo " <div class=\"slide-item\"><span><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Customize\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\"/></span></div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 292
echo " </div>
<div class=\"item_nav\">
";
// line 294
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 294, $this->source); })()), "ProductImage", [], "any", false, false, true, 294));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
// line 295
echo " <div class=\"slideThumb\" data-index=\"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, true, 295), 295, $this->source), "html", null, true);
echo "\"><span><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 295, $this->source), "save_image"), "html", null, true);
echo "\"></span></div>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 297
echo " </div>
</div>
</div>
<div class=\"ec-productRole__description\">
";
// line 301
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 301, $this->source); })()), "description_detail", [], "any", false, false, true, 301), 301, $this->source));
echo "
</div>
</div>
<div class=\"ec-grid2__cell\">
<div class=\"ec-productRole__profile ym-productRole__profile ym-bg_gray\">
";
// line 307
echo " ";
// line 314
echo " ";
// line 315
echo " <div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">";
// line 316
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 316, $this->source); })()), "name", [], "any", false, false, true, 316), 316, $this->source), "html", null, true);
echo "</h2>
</div>
";
// line 319
echo " <ul class=\"ec-productRole__tags\">
";
// line 320
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 320, $this->source); })()), "Tags", [], "any", false, false, true, 320));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 321
echo " <li class=\"ec-productRole__tag tag_";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Tag"], "id", [], "any", false, false, true, 321), 321, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed($context["Tag"], 321, $this->source), "html", null, true);
echo "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 323
echo " </ul>
<div class=\"ym-productRole__price\">
";
// line 326
echo " <div class=\"ym-price_regular\">
";
// line 327
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 327, $this->source); })()), "hasProductClass", [], "any", false, false, true, 327)) {
// line 328
echo "<div class=\"ec-productRole__priceRegular\">
";
// line 329
if (( !(null === twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 329, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 329)) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 329, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 329) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 329, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 329)))) {
// line 330
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 330, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 330), 330, $this->source)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 331
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 332
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 332, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 332)) && !(null === twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 332, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 332)))) {
// line 333
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 333, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 333), 333, $this->source)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 333, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 333), 333, $this->source)), "html", null, true);
echo "</span></span>
<!--<span class=\"ec-productRole__priceRegularTax\">";
// line 334
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>-->
";
}
// line 336
echo " </div>
";
} else {
// line 338
echo " ";
if ( !(null === twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 338, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 338))) {
// line 339
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 339, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 339), 339, $this->source)), "html", null, true);
echo "</span>
<!--<span class=\"ec-productRole__priceRegularTax\">";
// line 340
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>-->
";
}
// line 342
echo " ";
}
// line 343
echo " </div>
";
// line 345
echo " <div class=\"ec-productRole__price\">
<!--<span class=\"ym-tag ym-tag_price\">特別価格</span>-->
";
// line 347
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 347, $this->source); })()), "hasProductClass", [], "any", false, false, true, 347)) {
// line 348
if ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 348, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 348) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 348, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 348))) {
// line 349
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 350
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 350, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 350), 350, $this->source)), "html", null, true);
echo "</span>
<!--<span class=\"ec-price__tax\">";
// line 351
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>-->
</div>
";
} else {
// line 354
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 355
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 355, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 355), 355, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 355, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 355), 355, $this->source)), "html", null, true);
echo "</span>
<!--<span class=\"ec-price__tax\">";
// line 356
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>-->
</div>
";
}
// line 359
echo " ";
} else {
// line 360
echo " <div class=\"ec-price\">
<span class=\"ec-price__price\">";
// line 361
echo twig_escape_filter($this->env, $this->extensions['Customize\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 361, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 361), 361, $this->source)), "html", null, true);
echo "</span>
<!--<span class=\"ec-price__tax\">";
// line 362
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>-->
</div>
";
}
// line 365
echo "<?php if (false): ?>\t\t\t\t\t\t\t
\t\t\t\t\t\t";
// line 366
if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("add_priceinfo", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 366, $this->source); })()), "id", [], "any", false, false, true, 366))) {
// line 367
echo "\t\t\t\t\t\t<div style=\"margin: 10px 5px 0;\">
\t\t\t\t\t\t\t";
// line 368
echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("add_priceinfo", $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 368, $this->source); })()), "id", [], "any", false, false, true, 368), 368, $this->source));
echo "
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 371
echo "<?php endif; ?>
</div>
</div>
<form action=\"";
// line 376
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_cart", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 376, $this->source); })()), "id", [], "any", false, false, true, 376)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 377
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 377, $this->source); })()), "stock_find", [], "any", false, false, true, 377)) {
// line 378
echo " <div class=\"ec-productRole__actions\">
";
// line 379
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 379)) {
// line 380
echo " <div class=\"ec-select\">
<label class=\"ym-label\"></label>
";
// line 382
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 382, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 382), 382, $this->source), 'widget');
echo "
";
// line 383
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 383, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 383), 383, $this->source), 'errors');
echo "
</div>
";
// line 385
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 385)) {
// line 386
echo " <div class=\"ec-select\">
<label class=\"ym-label\"></label>
";
// line 388
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 388, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 388), 388, $this->source), 'widget');
echo "
";
// line 389
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 389, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 389), 389, $this->source), 'errors');
echo "
</div>
";
}
// line 392
echo " ";
}
// line 393
echo " <div class=\"ec-numberInput\"><span class=\"ym-label\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html", null, true);
echo "</span>
";
// line 394
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 394, $this->source); })()), "quantity", [], "any", false, false, true, 394), 394, $this->source), 'widget');
echo "
<span class=\"fc-red ym-quantity_desc\" data-stock=\"";
// line 395
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 395, $this->source); })()), "StockMax", [], "any", false, false, true, 395), 395, $this->source), "html", null, true);
echo "\" data-max=\"10\">
";
// line 396
if (((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 396, $this->source); })()), "StockMax", [], "any", false, false, true, 396) <= 10) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 396, $this->source); })()), "getStockUnlimitedMax", [], "method", false, false, true, 396) == 0))) {
echo "在庫残りわずか!";
}
// line 397
echo " </span>
";
// line 398
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 398, $this->source); })()), "quantity", [], "any", false, false, true, 398), 398, $this->source), 'errors');
echo "
</div>
</div>
<div class=\"ec-productRole__btn ym-btn_cart\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
";
// line 403
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html", null, true);
echo "
</button>
</div>
";
} else {
// line 407
echo " <div class=\"ec-productRole__btn ym-btn_cart\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
<?php if (false): ?>
\t\t\t\t\t\t\t\t\t";
// line 410
if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("soldout_message", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 410, $this->source); })()), "id", [], "any", false, false, true, 410))) {
// line 411
echo "\t\t\t\t\t\t\t\t\t\t";
echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("soldout_message", $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 411, $this->source); })()), "id", [], "any", false, false, true, 411), 411, $this->source));
echo "
\t\t\t\t\t\t\t\t\t";
} else {
// line 413
echo " \t";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("売り切れました"), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t";
}
// line 415
echo "<?php endif; ?>
</button>
</div>
";
}
// line 419
echo "
";
// line 420
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 420, $this->source); })()), 420, $this->source), 'rest');
echo "
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 425
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html", null, true);
echo "\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">";
// line 426
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html", null, true);
echo "</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">";
// line 429
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html", null, true);
echo "</span>
<a href=\"";
// line 430
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
echo "\" class=\"ec-inlineBtn--action\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html", null, true);
echo "</a>
</div>
</div>
</div>
</div>
</div>
";
// line 436
if (twig_get_attribute($this->env, $this->source, (isset($context["BaseInfo"]) || array_key_exists("BaseInfo", $context) ? $context["BaseInfo"] : (function () { throw new RuntimeError('Variable "BaseInfo" does not exist.', 436, $this->source); })()), "option_favorite_product", [], "any", false, false, true, 436)) {
// line 437
echo " <form action=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_favorite", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 437, $this->source); })()), "id", [], "any", false, false, true, 437)]), "html", null, true);
echo "\" method=\"post\">
<div class=\"ec-productRole__btn ym-btn_favorite\">
";
// line 439
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 439, $this->source); })()) == false)) {
// line 440
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
";
// line 441
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html", null, true);
echo "
</button>
";
} else {
// line 444
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">";
// line 445
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html", null, true);
echo "
</button>
";
}
// line 448
echo " </div>
</form>
";
}
// line 451
echo " <div class=\"ym-product_sns fc-product_sns\"></div>
<p class=\"ym-guice_link\"><a href=\"/guide\">ご利用ガイド</a></p>
</div>
</div>
</div>
";
// line 456
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 456, $this->source); })()), "freearea", [], "any", false, false, true, 456)) {
// line 457
echo "\t\t <div class=\"ec-productRole__description\">
\t\t\t<div class=\"ym-product_description\">
\t\t\t\t<p class=\"ym-heading ym-heading_lv2\">商品情報</p>
\t\t\t";
// line 460
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, twig_template_from_string($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 460, $this->source); })()), "freearea", [], "any", false, false, true, 460), 460, $this->source)));
echo "
<?php if (false): ?>
\t\t\t";
// line 462
if (($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 462, $this->source); })()), "id", [], "any", false, false, true, 462)) || $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 462, $this->source); })()), "id", [], "any", false, false, true, 462)))) {
// line 463
echo "\t\t\t\t<p class=\"ym-heading ym-heading_lv2\">サイズ詳細</p>
\t\t\t\t";
// line 464
if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 464, $this->source); })()), "id", [], "any", false, false, true, 464))) {
// line 465
echo "\t\t\t\t\t";
echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail", $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 465, $this->source); })()), "id", [], "any", false, false, true, 465), 465, $this->source));
echo "
\t\t\t\t";
}
// line 467
echo "\t\t\t\t";
if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image", twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 467, $this->source); })()), "id", [], "any", false, false, true, 467))) {
// line 468
echo "\t\t\t\t\t<div class=\"ym-scroll\" style=\"margin-top: 20px;\">
\t\t\t\t\t\t<img src=\"";
// line 469
echo twig_escape_filter($this->env, $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image", $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 469, $this->source); })()), "id", [], "any", false, false, true, 469), 469, $this->source)), "html", null, true);
echo "\" alt=\"\">
\t\t\t\t\t</div>
\t\t\t\t";
}
// line 472
echo "\t\t\t";
}
// line 473
echo "<?php endif; ?>
\t\t\t </div>
\t\t</div>
";
}
// line 477
echo " </div>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
public function getTemplateName()
{
return "Product/detail.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 929 => 477, 923 => 473, 920 => 472, 914 => 469, 911 => 468, 908 => 467, 902 => 465, 900 => 464, 897 => 463, 895 => 462, 890 => 460, 885 => 457, 883 => 456, 876 => 451, 871 => 448, 865 => 445, 862 => 444, 856 => 441, 853 => 440, 851 => 439, 845 => 437, 843 => 436, 832 => 430, 828 => 429, 822 => 426, 818 => 425, 810 => 420, 807 => 419, 801 => 415, 795 => 413, 789 => 411, 787 => 410, 782 => 407, 775 => 403, 767 => 398, 764 => 397, 760 => 396, 756 => 395, 752 => 394, 747 => 393, 744 => 392, 738 => 389, 734 => 388, 730 => 386, 728 => 385, 723 => 383, 719 => 382, 715 => 380, 713 => 379, 710 => 378, 708 => 377, 704 => 376, 697 => 371, 691 => 368, 688 => 367, 686 => 366, 683 => 365, 677 => 362, 673 => 361, 670 => 360, 667 => 359, 661 => 356, 655 => 355, 652 => 354, 646 => 351, 642 => 350, 639 => 349, 637 => 348, 635 => 347, 631 => 345, 628 => 343, 625 => 342, 620 => 340, 613 => 339, 610 => 338, 606 => 336, 601 => 334, 592 => 333, 590 => 332, 586 => 331, 579 => 330, 577 => 329, 574 => 328, 572 => 327, 569 => 326, 565 => 323, 554 => 321, 550 => 320, 547 => 319, 542 => 316, 539 => 315, 537 => 314, 535 => 307, 527 => 301, 521 => 297, 502 => 295, 485 => 294, 481 => 292, 472 => 290, 464 => 288, 459 => 287, 449 => 280, 436 => 271, 425 => 268, 422 => 267, 420 => 266, 416 => 265, 412 => 264, 408 => 262, 398 => 261, 375 => 247, 365 => 240, 335 => 213, 330 => 210, 321 => 204, 317 => 202, 315 => 201, 312 => 200, 303 => 194, 299 => 192, 297 => 191, 254 => 150, 246 => 148, 244 => 147, 239 => 145, 236 => 144, 234 => 143, 216 => 132, 212 => 131, 207 => 129, 204 => 128, 194 => 127, 75 => 16, 65 => 15, 54 => 11, 52 => 13, 39 => 11,);
}
public function getSourceContext()
{
return new Source("{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'product_page' %}
{% block stylesheet %}
<style>
.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
.item_visual .slide-item {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
min-height: 100vw;
text-align: center;
}
.item_visual .slide-item img {
max-height: 100vw;
width: auto;
margin: auto;
}
.item_visual .slide-item span {
display: block;
padding-top: 100%;
position: relative;
width: 100%;
}
.item_visual .slide-item span img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
@media only screen and (min-width: 768px) {
.item_visual .slide-item {
min-height: 0;
}
.item_visual .slide-item img {
max-height: 100%;
}
}
</style>
{% endblock %}
{% block javascript %}
<script>
eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
eccube.productStockInfo = {};
eccube.productStockInfo.stockMax = {{ Product.StockMax }};
eccube.productStockInfo.stockUnlimitedMax = {% if Product.getStockUnlimitedMax() %}1{% else %}0{% endif %};
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
{% if form.classcategory_id2 is defined %}
fnSetClassCategories(
\$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
);
{% elseif form.classcategory_id1 is defined %}
eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
{% endif %}
</script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
\$('.item_visual').slick({
dots: false,
arrows: true,
asNavFor: '.item_nav',
responsive: [{
breakpoint: 768,
settings: {
dots: false
}
}]
});
\$('.item_nav').slick({
\t\t\t\tasNavFor: '.item_visual',
\t\t\t\tarrows: false,
\t\t\t\tfocusOnSelect: true,
\t\t\t\tslidesToShow: 5,
\t\t\t\tslidesToScroll: 1,
\t\t\t\tcenterMode: false,
\t\t\t\tcenterPadding: '0px'
\t\t\t});
/*
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
*/
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').html(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"{{ url('block_cart') }}\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('{{ 'カートへの追加に失敗しました。'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
{% endblock %}
{% block main %}
<div class=\"ym-topicpath\">
<ul>
<li><a href=\"{{ url('homepage') }}\">HOME</a></li>
<li><a href=\"{{ url('homepage') }}products/list\">商品一覧</a></li>
{% if Product.ProductCategories is not empty %}
{% set ProductCategory = Product.ProductCategories|first %}
<li><a href=\"{{ url('product_list') }}?category_id={{ ProductCategory.Category.id }}\">{{ ProductCategory.Category.name }}</a>
</li>
{% endif %}
<li>{{ Product.name }}</li>
</ul>
</div>
<div class=\"ec-productRole\">
<!--<div class=\"ym-product_tags\">
\t\t\t\t<span class=\"ym-tag ym-tag_price\">特別価格</span>
\t\t\t</div>-->
\t\t\t<div class=\"ec-productRole__title\">
\t\t\t\t<h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
\t\t\t</div>
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ym-slider\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual\">
{% for ProductImage in Product.ProductImage %}
<div class=\"slide-item\"><span><img src=\"{{ asset(ProductImage, 'save_image') }}\"></span></div>
{% else %}
<div class=\"slide-item\"><span><img src=\"{{ asset(''|no_image_product, 'save_image') }}\"/></span></div>
{% endfor %}
</div>
<div class=\"item_nav\">
{% for ProductImage in Product.ProductImage %}
<div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><span><img src=\"{{ asset(ProductImage, 'save_image') }}\"></span></div>
{% endfor %}
</div>
</div>
</div>
<div class=\"ec-productRole__description\">
{{ Product.description_detail|raw|nl2br }}
</div>
</div>
<div class=\"ec-grid2__cell\">
<div class=\"ec-productRole__profile ym-productRole__profile ym-bg_gray\">
{# 商品コード #}
{#
{% if Product.code_min is not empty %}
<div class=\"ec-productRole__code\">
{{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
</div>
{% endif %}
#}
{# 商品名 #}
<div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
</div>
{# タグ #}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
<div class=\"ym-productRole__price\">
{# 通常価格 #}
<div class=\"ym-price_regular\">
{% if Product.hasProductClass -%}
<div class=\"ec-productRole__priceRegular\">
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
<!--<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>-->
{% endif %}
</div>
{% else %}
{% if Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
<!--<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>-->
{% endif %}
{% endif %}
</div>
{# 販売価格 #}
<div class=\"ec-productRole__price\">
<!--<span class=\"ym-tag ym-tag_price\">特別価格</span>-->
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
<!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
</div>
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
<!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
</div>
{% endif %}
<?php if (false): ?>\t\t\t\t\t\t\t
\t\t\t\t\t\t{% if TabaCustomFieldsProduct('add_priceinfo', Product.id) %}
\t\t\t\t\t\t<div style=\"margin: 10px 5px 0;\">
\t\t\t\t\t\t\t{{ TabaCustomFieldsProduct('add_priceinfo', Product.id)|raw }}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
<?php endif; ?>
</div>
</div>
<form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
{% if Product.stock_find %}
<div class=\"ec-productRole__actions\">
{% if form.classcategory_id1 is defined %}
<div class=\"ec-select\">
<label class=\"ym-label\"></label>
{{ form_widget(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"ec-select\">
<label class=\"ym-label\"></label>
{{ form_widget(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"ec-numberInput\"><span class=\"ym-label\">{{ '数量'|trans }}</span>
{{ form_widget(form.quantity) }}
<span class=\"fc-red ym-quantity_desc\" data-stock=\"{{Product.StockMax}}\" data-max=\"10\">
{% if Product.StockMax <= 10 and Product.getStockUnlimitedMax() == 0 %}在庫残りわずか!{% endif %}
</span>
{{ form_errors(form.quantity) }}
</div>
</div>
<div class=\"ec-productRole__btn ym-btn_cart\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
{{ 'カートに入れる'|trans }}
</button>
</div>
{% else %}
<div class=\"ec-productRole__btn ym-btn_cart\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
<?php if (false): ?>
\t\t\t\t\t\t\t\t\t{% if TabaCustomFieldsProduct('soldout_message', Product.id) %}
\t\t\t\t\t\t\t\t\t\t{{ TabaCustomFieldsProduct('soldout_message', Product.id)|raw }}
\t\t\t\t\t\t\t\t\t{% else %}
\t{{ '売り切れました'|trans }}
\t\t\t\t\t\t\t\t\t{% endif %}
<?php endif; ?>
</button>
</div>
{% endif %}
{{ form_rest(form) }}
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
</div>
</div>
</div>
</div>
</div>
{% if BaseInfo.option_favorite_product %}
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<div class=\"ec-productRole__btn ym-btn_favorite\">
{% if is_favorite == false %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
{{ 'お気に入りに追加'|trans }}
</button>
{% else %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
</button>
{% endif %}
</div>
</form>
{% endif %}
<div class=\"ym-product_sns fc-product_sns\"></div>
<p class=\"ym-guice_link\"><a href=\"/guide\">ご利用ガイド</a></p>
</div>
</div>
</div>
{% if Product.freearea %}
\t\t <div class=\"ec-productRole__description\">
\t\t\t<div class=\"ym-product_description\">
\t\t\t\t<p class=\"ym-heading ym-heading_lv2\">商品情報</p>
\t\t\t{{ include(template_from_string(Product.freearea)) }}
<?php if (false): ?>
\t\t\t{% if TabaCustomFieldsProduct('size_detail', Product.id) or TabaCustomFieldsProduct('side_image', Product.id) %}
\t\t\t\t<p class=\"ym-heading ym-heading_lv2\">サイズ詳細</p>
\t\t\t\t{% if TabaCustomFieldsProduct('size_detail', Product.id) %}
\t\t\t\t\t{{TabaCustomFieldsProduct('size_detail', Product.id)|raw}}
\t\t\t\t{% endif %}
\t\t\t\t{% if TabaCustomFieldsProduct('side_image', Product.id) %}
\t\t\t\t\t<div class=\"ym-scroll\" style=\"margin-top: 20px;\">
\t\t\t\t\t\t<img src=\"{{TabaCustomFieldsProduct('side_image', Product.id)}}\" alt=\"\">
\t\t\t\t\t</div>
\t\t\t\t{% endif %}
\t\t\t{% endif %}
<?php endif; ?>
\t\t\t </div>
\t\t</div>
{% endif %}
</div>
{% endblock %}
", "Product/detail.twig", "/home/dober/testman.biz/public_html/yamaria-ec-demo/app/template/yamaria/Product/detail.twig");
}
public function checkSecurity()
{
static $tags = array("set" => 13, "if" => 132, "for" => 287);
static $filters = array("raw" => 129, "escape" => 131, "json_encode" => 145, "trans" => 194, "first" => 267, "no_image_product" => 290, "nl2br" => 301, "price" => 330);
static $functions = array("class_categories_as_json" => 129, "url" => 240, "asset" => 288, "TabaCustomFieldsProduct" => 366, "form_widget" => 382, "form_errors" => 383, "form_rest" => 420, "include" => 460, "template_from_string" => 460);
try {
$this->sandbox->checkSecurity(
['set', 'if', 'for'],
['raw', 'escape', 'json_encode', 'trans', 'first', 'no_image_product', 'nl2br', 'price'],
['class_categories_as_json', 'url', 'asset', 'TabaCustomFieldsProduct', 'form_widget', 'form_errors', 'form_rest', 'include', 'template_from_string']
);
} catch (SecurityError $e) {
$e->setSourceContext($this->source);
if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
$e->setTemplateLine($tags[$e->getTagName()]);
} elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
$e->setTemplateLine($filters[$e->getFilterName()]);
} elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
$e->setTemplateLine($functions[$e->getFunctionName()]);
}
throw $e;
}
}
}