<?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_2e4da2e068045176ca8b287bdb03159f 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: 10px;
}
.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;
}
@media only screen and (min-width: 768px) {
.ec-sliderItemRole {
margin-bottom: 3rem ;
}
}
.ec-sliderItemRole .slideThumb {
width: 10%;
}
.ec-sliderItemRole .slideThumb img {
width: 90%;
}
/* ///////////////////詳細情報1/////////////////// */
.ec-productRole__movie {
width: 100%;
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
@media only screen and (min-width: 768px) {
.ec-productRole__movie {
grid-template-columns: repeat(3, 1fr);
}
}
.ec-productRole__movie iframe {
width: 100%;
aspect-ratio: 16 / 9;
}
.movie-caption {
font-size: 16px;
}
/* 住所 */
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-address {
font-size: 28px;
font-weight: bold;
padding: 1rem 0;
border-bottom: 1px dotted #ccc;
}
}
/* 価格 */
.ec-productRole .ec-productRole__price {
color:var(--e-global-color-global_color_5);
padding-top:0px;
font-size: 30px;
}
/* 説明テキスト */
.ec-productRole .ec-productRole__description {
margin-top: 20px;
}
/* 購入ボタン */
@media only screen and (min-width: 768px) {
.ec-productRole .ec-productRole__btn {
text-align: center;
min-width: 350px;
width: 40%;
margin:0 auto;
}
}
.blueprint-image {
width: 100%;
max-width: 768px;
margin: 15px auto;
}
.ec-grid3__cell.product-image {
margin: 5px 15px;
}
.detail-top-image {
width: 100%;
max-width: 1080px;
margin: 15px auto;
}
/* ///////////////////詳細情報2/////////////////// */
/* 見出し_下グリーンライン */
.ec-productRole__kofun-content h2 {
font-size: 20px;
font-weight: bold;
color: var(--e-global-color-global_color_4);
margin-top: 4rem;
margin-bottom: 1rem;
padding-bottom: 0.5rem;
background: linear-gradient(to right,
var(--e-global-color-global_color_1) 0%,
var(--e-global-color-global_color_1) 20%,
#ddd 20%,
#ddd 100%);
background-size: 100% 3px;
background-repeat: no-repeat;
background-position: bottom;
}
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-content h2 {
font-size: 26px;
}
}
/* 見出し_左横グリーンライン */
.ec-productRole__kofun-content h3 {
font-size: 20px;
font-weight: bold;
color: var(--e-global-color-global_color_4);
margin-top: 4rem;
margin-bottom: 1rem;
padding-left: 0.5rem;
border-left: 10px solid var(--e-global-color-global_color_1);
line-height: 1.8;
}
/* おすすめポイント */
.ec-productRole__kofun-appeal-points .title {
font-size: 18px;
font-weight: bold;
color: var(--e-global-color-global_color_9);
background-color: var(--e-global-color-global_color_1);
padding: 0.5rem 4rem 0.5rem 1rem;
margin: 2rem 1rem 0 1rem;
width: fit-content;
border-radius: 6px 6px 0 0; /* 上側の角だけを丸く */
}
.ec-productRole__kofun-appeal-points .content {
margin: 0 1rem;
padding: 1rem;
background-color: var(--e-global-color-global_color_7);
border-radius: 4px;
}
.ec-productRole__kofun-content {
padding-bottom: 20px;
margin-bottom: 20px;
}
.ec-productRole__kofun-content .content {
display: flex;
align-items: flex-start;
}
.ec-productRole__kofun-content.basicline .content {
padding: 0.5rem 0;
border-bottom: 1px dotted #ccc;
}
.tab-content.active .content {
padding: 0.5rem 0;
border-bottom: 1px dotted #ccc;
}
.ec-productRole__kofun-content.buy_process .content {
line-height:1.8;
padding-left:0.5rem;
}
.ec-productRole__kofun-content .content-group {
margin-top: 1rem;
}
.ec-productRole__kofun-content .content span.label {
display: inline-block;
width: 120px; /* 項目名の幅を固定 */
color: var(--e-global-color-global_color_5);
font-weight: bold;
flex-shrink: 0;
}
.ec-productRole__kofun-content.base-info .label::before {
content: \"【\";
}
.ec-productRole__kofun-content.base-info .label::after {
content: \"】\";
}
.ec-productRole__kofun-content.basicline a {
color: #333 !important;
text-decoration: underline !important;
}
.ec-productRole__kofun-content.basicline a:hover {
color: var(--e-global-color-global_color_2) !important;
}
.ec-productRole__kofun-content .content span.label2 {
display: inline-block;
width: 120px; /* 項目名の幅を固定 */
color: var(--e-global-color-global_color_1);
font-weight: bold;
flex-shrink: 0;
}
.ec-productRole__kofun-content .content.note {
margin-top: 1rem;
font-size: 0.9em;
line-height:1.5;
}
.ec-productRole__kofun-content .content.sub {
padding-left: 1.5rem;
margin-bottom: 1rem;
font-size: 0.9em;
line-height:1.5;
}
.ec-productRole__kofun-content .content.link {
margin-top: 1rem;
}
.warning {
color: red;
}
.value {
display: flex;
flex-direction: column;
}
.ec-productRole__kofun-content.description-detail {
margin-top: 50px;
}
.ec-productRole__kofun-content.description-detail strong {
font-size: 30px;
color: var(--e-global-color-global_color_2);
}
/* 価格表 */
.ec-productRole__kofun-content.price-table .header {
display: flex;
align-items: flex-start;
font-weight: bold;
padding: 0.8rem;
border-bottom: 1px dashed var(--e-global-color-global_color_2);
}
.ec-productRole__kofun-content.price-table .content {
padding: 0.8em;
border-bottom: 1px dashed var(--e-global-color-global_color_2);
}
.ec-productRole__kofun-content.price-table span.label {
width: 30%;
}
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-content.price-table span.label {
width: 320px;
}
}
.ec-productRole__kofun-content.price-table .note {
padding-top: 1rem;
font-size: 0.9em;
}
/* タブ切り替え用のスタイル追加 */
.tab-container {
margin: 2rem 0;
}
.tab-buttons {
display: flex;
position: relative;
z-index: 1;
}
.tab-button {
padding: 1rem 2rem;
background: #ffffff;
border: none;
border-bottom: 1px solid var(--e-global-color-global_color_2);
cursor: pointer;
font-size: 16px;
font-weight: bold;
margin-right: 4px;
margin-bottom: -1px;
position: relative;
}
.tab-button.active {
background: #ECF2D3;
border: 1px solid var(--e-global-color-global_color_2);
border-bottom: none;
}
.tab-content {
display: none;
padding: 2rem;
background: #ECF2D3;
border: 1px solid var(--e-global-color-global_color_2);
}
.tab-content.active {
display: block;
}
.fee-note {
margin-top: 1rem;
font-size: 0.9em;
color: #666;
}
.ec-productRole__kofun-content.scroll-to-checkout {
text-align: center;
margin-top: 50px;
}
.ec-productRole__kofun-content.scroll-to-checkout a span {
text-decoration: inherit;
display: inline-block;
}
.ec-productRole__kofun-content.scroll-to-checkout a {
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
font-weight: bold;
border-radius: 3px;
color: #ffffff;
fill: #ffffff;
text-align: center;
transition: all .3s;
background-color: #000000;
padding: 20px;
width: 300px;
height: 45px;
}
@media only screen and (max-width: 768px) {
.ec-productRole__kofun-content.scroll-to-checkout a {
font-size: 17px;
padding: 20px 22px;
}
}
.ec-productRole__stock {
display: none;
}
.ec-productRole__kofun-content.visit-reservation {
text-align: center;
margin-top: 50px;
}
.ec-productRole__kofun-content.visit-reservation a {
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
font-weight: bold;
border-radius: 3px;
color: #ffffff;
fill: #ffffff;
text-align: center;
transition: all .3s;
background-color: #000000;
padding: 20px;
width: 300px;
height: 45px;
text-decoration: none;
}
@media only screen and (max-width: 768px) {
.ec-productRole__kofun-content.visit-reservation a {
font-size: 17px;
padding: 20px 22px;
}
}
</style>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 469
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 470
echo " <script>
eccube.classCategories = ";
// line 471
echo $this->extensions['Customize\Twig\Extension\CustomEccubeExtension']->getExtendedClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 471, $this->source); })()), 471, $this->source));
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 482
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 482)) {
// line 483
echo " fnSetClassCategories(
\$('#form1'), ";
// line 484
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.', 484, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 484), "vars", [], "any", false, false, true, 484), "value", [], "any", false, false, true, 484), 484, $this->source));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 486
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 486)) {
// line 487
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.', 487, $this->source); })()), "id", [], "any", false, false, true, 487), 487, $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.', 487, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 487), "vars", [], "any", false, false, true, 487), "value", [], "any", false, false, true, 487), 487, $this->source));
echo ", null);
";
}
// line 489
echo " </script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\$('.slide-item').height(baseHeight * rate); // 余白を削除する
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: false,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
// タブ切り替え用のJavaScript
\$('.tab-button').on('click', function() {
// すべてのタブとコンテンツからactiveクラスを削除
\$('.tab-button').removeClass('active');
\$('.tab-content').removeClass('active');
// クリックされたタブとそれに対応するコンテンツにactiveクラスを追加
\$(this).addClass('active');
const tabId = \$(this).data('tab');
\$('#' + tabId).addClass('active');
});
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 565
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 565)) {
// line 566
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 568
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.product_class_unselected"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 574
echo "
";
// line 575
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 575)) {
// line 576
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 578
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.product_class_unselected"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 584
echo "
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 587
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.invalid_quantity"), "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').text(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"";
// line 614
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 621
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_cart_error"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
\$('.scroll-to-checkout a').on('click', function(e) {
e.preventDefault();
const targetId = \$(this).attr('href');
const targetPosition = \$(targetId).offset().top;
\$('html, body').animate({
scrollTop: targetPosition
}, 600); // 800ミリ秒かけてスクロール
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"";
// line 650
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.', 650, $this->source); })()), "name", [], "any", false, false, true, 650), 650, $this->source), "html", null, true);
echo "\",
\"image\": [
";
// line 652
$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.', 652, $this->source); })()), "ProductImage", [], "any", false, false, true, 652));
$context['_iterated'] = false;
$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["img"]) {
// line 653
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["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 653, $this->source); })()), "request", [], "any", false, false, true, 653), "schemeAndHttpHost", [], "any", false, false, true, 653), 653, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 653, $this->source), "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 653)) {
echo ",";
}
// line 654
echo "
";
$context['_iterated'] = true;
++$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'];
}
}
if (!$context['_iterated']) {
// line 656
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["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 656, $this->source); })()), "request", [], "any", false, false, true, 656), "schemeAndHttpHost", [], "any", false, false, true, 656), 656, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\"
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 658
echo " ],
\"description\": \"";
// line 659
echo twig_escape_filter($this->env, twig_slice($this->env, twig_replace_filter(((twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", true, true, true, 659)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, true, 659), 659, $this->source), $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.', 659, $this->source); })()), "description_detail", [], "any", false, false, true, 659), 659, $this->source))) : (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.', 659, $this->source); })()), "description_detail", [], "any", false, false, true, 659))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 660
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.', 660, $this->source); })()), "code_min", [], "any", false, false, true, 660)) {
// line 661
echo " \"sku\": \"";
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.', 661, $this->source); })()), "code_min", [], "any", false, false, true, 661), 661, $this->source), "html", null, true);
echo "\",
";
}
// line 663
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 665
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["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.', 665, $this->source); })()), "id", [], "any", false, false, true, 665)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 666
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config", $context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.', 666, $this->source); })()), "currency", [], "any", false, false, true, 666), 666, $this->source), "html", null, true);
echo "\",
\"price\": ";
// line 667
((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.', 667, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 667)) ? (print (twig_escape_filter($this->env, 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.', 667, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 667), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 668
echo ((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.', 668, $this->source); })()), "stock_find", [], "any", false, false, true, 668)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
<script>
\$(function() {
// 規格1が変更されたとき
\$('#classcategory_id1').on('change', function() {
updateStock();
});
// 規格2が変更されたとき
\$('#classcategory_id2').on('change', function() {
updateStock();
});
// 初期表示時
updateStock();
// 在庫表示を更新する関数
function updateStock() {
// 現在選択されているProductClassのデータを取得
var productClassId = \$('#ProductClass').val();
if (!productClassId) {
\$('#selected-stock-quantity').text('";
// line 693
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.please_select_product_class"), "html", null, true);
echo "');
return;
}
// 選択された商品規格の情報を取得
var classCategory1 = \$('#classcategory_id1').val() || '__unselected';
var classCategory2 = \$('#classcategory_id2').val() || '';
// 商品規格情報を取得
var productClass = null;
if (eccube.classCategories[classCategory1]) {
if (classCategory2 && eccube.classCategories[classCategory1]['#' + classCategory2]) {
productClass = eccube.classCategories[classCategory1]['#' + classCategory2];
} else if (eccube.classCategories[classCategory1]['#']) {
productClass = eccube.classCategories[classCategory1]['#'];
}
}
if (!productClass) {
\$('#selected-stock-quantity').text('";
// line 712
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.please_select_product_class"), "html", null, true);
echo "');
return;
}
// 在庫表示を更新
var stockQuantityElement = \$('#selected-stock-quantity');
if (productClass.stock !== null && productClass.stock > 0) {
stockQuantityElement.text(productClass.stock);
} else {
stockQuantityElement.text('";
// line 722
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.out_of_stock"), "html", null, true);
echo "');
}
}
});
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 729
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 730
echo " <div class=\"ec-productRole\">
<div class=\"ec-pageHeader\">
<h1 class=\"km_pagetitle\">";
// line 732
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.', 732, $this->source); })()), "name", [], "any", false, false, true, 732), 732, $this->source), "html", null, true);
echo "</h1>
</div>
<div class=\"detail-top-image\">
<img src=\"";
// line 736
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 736, $this->source); })()), "ProductImage", [], "any", false, false, true, 736), 0, [], "array", false, false, true, 736), 736, $this->source), "save_image"), "html", null, true);
echo "\">
</div>
<div class=\"ec-productRole__profile\">
";
// line 741
echo " ";
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.', 741, $this->source); })()), "kofun_product_type", [], "any", false, false, true, 741) && (twig_get_attribute($this->env, $this->source, 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.', 741, $this->source); })()), "kofun_product_type", [], "any", false, false, true, 741), "id", [], "any", false, false, true, 741) == 1))) {
// line 742
echo " <div class=\"ec-productRole__kofun-address\">
";
// line 743
(((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "Kofun", [], "any", false, true, true, 743), "Pref", [], "any", false, true, true, 743), "name", [], "any", true, true, true, 743) && !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "Kofun", [], "any", false, true, true, 743), "Pref", [], "any", false, true, true, 743), "name", [], "any", false, false, true, 743)))) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "Kofun", [], "any", false, true, true, 743), "Pref", [], "any", false, true, true, 743), "name", [], "any", false, false, true, 743), "html", null, true))) : (print ("")));
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["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 743, $this->source); })()), "Kofun", [], "any", false, false, true, 743), "addr01", [], "any", false, false, true, 743), 743, $this->source), "html", null, true);
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["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 743, $this->source); })()), "Kofun", [], "any", false, false, true, 743), "addr02", [], "any", false, false, true, 743), 743, $this->source), "html", null, true);
echo "
</div>
";
}
// line 746
echo " ";
// line 747
echo " ";
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.', 747, $this->source); })()), "Tags", [], "any", false, false, true, 747))) {
// line 748
echo " <ul class=\"ec-productRole__tags\">
";
// line 749
$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.', 749, $this->source); })()), "Tags", [], "any", false, false, true, 749));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 750
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, 750), 750, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed($context["Tag"], 750, $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 752
echo " </ul>
";
}
// line 754
echo " ";
// line 755
echo " ";
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.', 755, $this->source); })()), "hasProductClass", [], "any", false, false, true, 755)) {
// line 756
echo "<div class=\"ec-productRole__priceRegular\">
";
// line 757
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.', 757, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 757)) && (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.', 757, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 757) == 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.', 757, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 757)))) {
// line 758
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 758, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 758), 758, $this->source)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 759
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 760
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 760, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 760)) && !(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.', 760, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 760)))) {
// line 761
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 761, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 761), 761, $this->source)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 761, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 761), 761, $this->source)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 762
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 764
echo " </div>
";
} else {
// line 766
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.', 766, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 766))) {
// line 767
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 767, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 767), 767, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 768
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 770
echo " ";
}
// line 771
echo " ";
// line 772
echo " <div class=\"ec-productRole__price\">
";
// line 773
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.', 773, $this->source); })()), "hasProductClass", [], "any", false, false, true, 773)) {
// line 774
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.', 774, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 774) == 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.', 774, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 774))) {
// line 775
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 776
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 776, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 776), 776, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 777
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
} else {
// line 780
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 781
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 781, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 781), 781, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 781, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 781), 781, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 782
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
}
// line 785
echo " ";
} else {
// line 786
echo " <div class=\"ec-price\">
<span class=\"ec-price__price\">";
// line 787
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 787, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 787), 787, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 788
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
}
// line 791
echo " </div>
</div>
";
// line 794
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.', 794, $this->source); })()), "kofun_product_type", [], "any", false, false, true, 794) && (twig_get_attribute($this->env, $this->source, 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.', 794, $this->source); })()), "kofun_product_type", [], "any", false, false, true, 794), "id", [], "any", false, false, true, 794) == 1))) {
// line 795
echo " <div class=\"ec-productRole__kofun\">
<div class=\"ec-productRole__kofun-content description-detail\">
";
// line 798
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 798, $this->source); })()), "Kofun", [], "any", false, false, true, 798), "descriptionDetail", [], "any", false, false, true, 798), 798, $this->source));
echo "
</div>
<div class=\"ec-productRole__kofun-appeal-points\">
<div class=\"title\">";
// line 801
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.appeal_points_title"), "html", null, true);
echo "</div>
<div class=\"content\">
";
// line 803
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 803, $this->source); })()), "Kofun", [], "any", false, false, true, 803), "appealPoints", [], "any", false, false, true, 803), 803, $this->source));
echo "
</div>
</div>
<div class=\"ec-productRole__kofun-content scroll-to-checkout\">
<a href=\"#checkout\">
<span>ご購入はこちらから</span>
</a>
</div>
<div class=\"ec-productRole__kofun-content access\">
<h2>アクセス</h2>
<div class=\"content\">
";
// line 816
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 816, $this->source); })()), "Kofun", [], "any", false, false, true, 816), "access", [], "any", false, false, true, 816), 816, $this->source));
echo "
</div>
</div>
";
// line 820
if ((twig_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.', 820, $this->source); })()), "environment", [], "any", false, false, true, 820) == "prod")) {
// line 821
echo " ";
if ((twig_get_attribute($this->env, $this->source, 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.', 821, $this->source); })()), "Kofun", [], "any", false, false, true, 821), "id", [], "any", false, false, true, 821) == "bj0zQKulUcfULgr06dwy")) {
// line 822
echo " ";
$context["visit_url"] = "https://calendar.app.google/DSkdUAXqMmRxZnti8";
// line 823
echo " ";
} elseif ((twig_get_attribute($this->env, $this->source, 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.', 823, $this->source); })()), "Kofun", [], "any", false, false, true, 823), "id", [], "any", false, false, true, 823) == "FaUkQoWKRHRumqlKIvgg")) {
// line 824
echo " ";
$context["visit_url"] = "https://calendar.app.google/SasLwuKaFwQSZZrz7";
// line 825
echo " ";
}
// line 826
echo " ";
} elseif ((twig_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.', 826, $this->source); })()), "environment", [], "any", false, false, true, 826) == "dev")) {
// line 827
echo " ";
$context["visit_url"] = "https://calendar.app.google/ECkmJUvKpra9SSQU9";
// line 828
echo " ";
}
// line 829
echo "
";
// line 830
if (array_key_exists("visit_url", $context)) {
// line 831
echo " <div class=\"ec-productRole__kofun-content visit-reservation\">
<a href=\"";
// line 832
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["visit_url"]) || array_key_exists("visit_url", $context) ? $context["visit_url"] : (function () { throw new RuntimeError('Variable "visit_url" does not exist.', 832, $this->source); })()), 832, $this->source), "html", null, true);
echo "\" target=\"_blank\">
<span>見学のご予約はこちらから</span>
</a>
</div>
";
}
// line 837
echo "
<div class=\"ec-productRole__kofun-content basicline\">
<h2>基本情報</h2>
<div class=\"content\">
<span class=\"label\">";
// line 841
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__danka_duty"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 841, $this->source); })()), "Kofun", [], "any", false, false, true, 841), "dankaDuty", [], "any", false, false, true, 841), 841, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 844
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__religion"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 844, $this->source); })()), "Kofun", [], "any", false, false, true, 844), "religion", [], "any", false, false, true, 844), 844, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 847
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__successor"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 847, $this->source); })()), "Kofun", [], "any", false, false, true, 847), "successor", [], "any", false, false, true, 847), 847, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 850
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__ritual"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 850, $this->source); })()), "Kofun", [], "any", false, false, true, 850), "ritual", [], "any", false, false, true, 850), 850, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 853
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__features"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 853, $this->source); })()), "Kofun", [], "any", false, false, true, 853), "features", [], "any", false, false, true, 853), 853, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 856
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__facilities"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 856, $this->source); })()), "Kofun", [], "any", false, false, true, 856), "facilities", [], "any", false, false, true, 856), 856, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 859
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__business_hours"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 859, $this->source); })()), "Kofun", [], "any", false, false, true, 859), "businessHours", [], "any", false, false, true, 859), 859, $this->source));
echo "
</div>
<div class=\"content\">
<span class=\"label\">";
// line 862
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.base_info__holidays"), "html", null, true);
echo "</span>";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 862, $this->source); })()), "Kofun", [], "any", false, false, true, 862), "holidays", [], "any", false, false, true, 862), 862, $this->source));
echo "
</div>
</div>
<div class=\"ec-productRole__kofun-content basicline\">
<h2>古墳の概要</h2>
<div class=\"content\">
<span class=\"label\">【形状】</span>
<div class=\"value\">
";
// line 870
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 870, $this->source); })()), "Kofun", [], "any", false, false, true, 870), "shape", [], "any", false, false, true, 870), 870, $this->source));
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">【区画】</span>
<div class=\"value\">
<div>";
// line 876
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.kofun_summary__section_one_person", ["%count%" => twig_get_attribute($this->env, $this->source, 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.', 876, $this->source); })()), "Kofun", [], "any", false, false, true, 876), "onePersonSectionCount", [], "any", false, false, true, 876)]), "html", null, true);
echo "</div>
";
// line 877
if ((twig_get_attribute($this->env, $this->source, 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.', 877, $this->source); })()), "Kofun", [], "any", false, false, true, 877), "twoPersonSectionCount", [], "any", false, false, true, 877) > 0)) {
// line 878
echo " <div>";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.kofun_summary__section_two_person", ["%count%" => twig_get_attribute($this->env, $this->source, 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.', 878, $this->source); })()), "Kofun", [], "any", false, false, true, 878), "twoPersonSectionCount", [], "any", false, false, true, 878)]), "html", null, true);
echo "</div>
";
}
// line 880
echo " <div>";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.kofun_summary__section_communal", ["%count%" => twig_get_attribute($this->env, $this->source, 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.', 880, $this->source); })()), "Kofun", [], "any", false, false, true, 880), "communalSectionCount", [], "any", false, false, true, 880)]), "html", null, true);
echo "</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">【副葬品】</span>
<div class=\"value\">
";
// line 886
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 886, $this->source); })()), "Kofun", [], "any", false, false, true, 886), "burialGoods", [], "any", false, false, true, 886), 886, $this->source));
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">【販売開始日】</span>
<div class=\"value\">
";
// line 892
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 892, $this->source); })()), "Kofun", [], "any", false, false, true, 892), "salesStartDate", [], "any", false, false, true, 892), 892, $this->source));
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">【完成予定日】</span>
<div class=\"value\">
";
// line 898
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 898, $this->source); })()), "Kofun", [], "any", false, false, true, 898), "completionDate", [], "any", false, false, true, 898), 898, $this->source));
echo "
</div>
</div>
";
// line 901
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, 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.', 901, $this->source); })()), "Kofun", [], "any", false, false, true, 901), "BlueprintImage", [], "any", false, false, true, 901));
foreach ($context['_seq'] as $context["_key"] => $context["BlueprintImage"]) {
// line 902
echo " <div class=\"blueprint-image\">
<img src=\"";
// line 903
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["BlueprintImage"], 903, $this->source), "save_image"), "html", null, true);
echo "\">
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['BlueprintImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 906
echo " <div class=\"ec-grid3\">
";
// line 907
$context["descriptions"] = twig_split_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.', 907, $this->source); })()), "imageDescriptions", [], "any", false, false, true, 907), 907, $this->source), "|");
// line 908
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_slice($this->env, 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.', 908, $this->source); })()), "ProductImage", [], "any", false, false, true, 908), 1, 3));
$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 909
echo " <div class=\"ec-grid3__cell product-image\">
<img src=\"";
// line 910
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 910, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"\" loading=\"lazy\">
";
// line 911
if (twig_get_attribute($this->env, $this->source, ($context["descriptions"] ?? null), twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, true, 911), [], "array", true, true, true, 911)) {
// line 912
echo " <div class=\"product-image-description\">
";
// line 913
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["descriptions"]) || array_key_exists("descriptions", $context) ? $context["descriptions"] : (function () { throw new RuntimeError('Variable "descriptions" does not exist.', 913, $this->source); })()), twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, true, 913), [], "array", false, false, true, 913), 913, $this->source));
echo "
</div>
";
}
// line 916
echo " </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 918
echo " </div>
</div>
<div class=\"ec-productRole__kofun-content scroll-to-checkout\">
<a href=\"#checkout\">
<span>ご購入はこちらから</span>
</a>
</div>
";
// line 927
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.', 927, $this->source); })()), "movie_url", [], "any", false, false, true, 927)) {
// line 928
echo " <div class=\"ec-productRole__kofun-content introduction_movie\">
<h2>";
// line 929
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.introduction_movie"), "html", null, true);
echo "</h2>
<div class=\"ec-productRole__movie\">
";
// line 931
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_split_filter($this->env, 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.', 931, $this->source); })()), "movie_url", [], "any", false, false, true, 931), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["movie_url"]) {
// line 932
echo " <div class=\"movie-item\">
<iframe src=\"https://www.youtube.com/embed/";
// line 933
echo twig_escape_filter($this->env, twig_first($this->env, twig_split_filter($this->env, $this->sandbox->ensureToStringAllowed($context["movie_url"], 933, $this->source), ",")), "html", null, true);
echo "?mute=1&rel=0&loop=1\" frameborder=\"0\" allow=\"picture-in-picture\" allowfullscreen></iframe>
";
// line 934
if ((twig_length_filter($this->env, twig_split_filter($this->env, $context["movie_url"], ",")) > 1)) {
// line 935
echo " <div class=\"movie-caption\">
";
// line 936
echo twig_escape_filter($this->env, twig_last($this->env, twig_split_filter($this->env, $this->sandbox->ensureToStringAllowed($context["movie_url"], 936, $this->source), ",", 2)), "html", null, true);
echo "
</div>
";
}
// line 939
echo " </div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['movie_url'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 941
echo " </div>
</div>
";
}
// line 944
echo "
<div class=\"ec-productRole__kofun-content price-table\">
<h2>";
// line 946
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.price_table"), "html", null, true);
echo "</h2>
<div class=\"header\">
<span class=\"label\">";
// line 948
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.price_table_header__type"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 950
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.price_table_header__price"), "html", null, true);
echo "
</div>
</div>
";
// line 953
$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.', 953, $this->source); })()), "ProductClasses", [], "any", false, false, true, 953));
foreach ($context['_seq'] as $context["_key"] => $context["ProductClass"]) {
// line 954
echo " <div class=\"content\">
<span class=\"label\">";
// line 955
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 955), "Name", [], "any", false, false, true, 955), 955, $this->source), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 957
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.price_table_data__price", ["%price1%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "eternalUseFee", [], "any", false, false, true, 957), 957, $this->source)), "%price2%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "miscellaneousFee", [], "any", false, false, true, 957), 957, $this->source)), "%price3%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "Price02", [], "any", false, false, true, 957), 957, $this->source))]), "html", null, true);
echo "
</div>
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductClass'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 961
echo " <div class=\"note\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.price_table_note"), "html", null, true);
echo "</div>
</div>
<div class=\"ec-productRole__kofun-content\">
<h3>";
// line 964
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list"), "html", null, true);
echo "</h3>
<div class=\"tab-container\">
<div class=\"tab-buttons\">
<button class=\"tab-button active\" data-tab=\"eternal\">";
// line 967
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__eternal"), "html", null, true);
echo "</button>
<button class=\"tab-button\" data-tab=\"communal\">";
// line 968
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__communal"), "html", null, true);
echo "</button>
</div>
<div id=\"eternal\" class=\"tab-content active\">
";
// line 971
if ((twig_get_attribute($this->env, $this->source, 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.', 971, $this->source); })()), "Kofun", [], "any", false, false, true, 971), "eternalBurialFee", [], "any", false, false, true, 971) > 0)) {
// line 972
echo " <div class=\"content\">
<span class=\"label\">";
// line 973
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__burial"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 975
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__unit_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 975, $this->source); })()), "Kofun", [], "any", false, false, true, 975), "eternalBurialFee", [], "any", false, false, true, 975), 975, $this->source))]), "html", null, true);
echo "
<div class=\"fee-note\">";
// line 976
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__note"), "html", null, true);
echo "</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">";
// line 980
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__inscription"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 982
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__unit_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 982, $this->source); })()), "Kofun", [], "any", false, false, true, 982), "eternalInscriptionFee", [], "any", false, false, true, 982), 982, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">";
// line 986
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__maintenance"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 988
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__section_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 988, $this->source); })()), "Kofun", [], "any", false, false, true, 988), "eternalMaintenanceFee", [], "any", false, false, true, 988), 988, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content-group\">
<div class=\"content\">
<span class=\"label\">";
// line 993
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__eternal_single_misc"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 995
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__total_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 995, $this->source); })()), "Kofun", [], "any", false, false, true, 995), "singleMiscFee", [], "any", false, false, true, 995), 995, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">";
// line 999
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__eternal_double_misc"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1001
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__total_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1001, $this->source); })()), "Kofun", [], "any", false, false, true, 1001), "doubleMiscFee", [], "any", false, false, true, 1001), 1001, $this->source))]), "html", null, true);
echo "
</div>
</div>
</div>
";
} else {
// line 1006
echo " <div class=\"content\">
<span class=\"label\">諸費用</span>
<div class=\"value\">
入山費、納骨料、骨壺代、植栽維持費(管理費)合わせて";
// line 1009
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1009, $this->source); })()), "Kofun", [], "any", false, false, true, 1009), "eternalMaintenanceFee", [], "any", false, false, true, 1009), 1009, $this->source)), "html", null, true);
echo "円(税込)
<div class=\"fee-note\">※ 墓誌銘板および彫刻は含まれていません。</div>
</div>
</div>
";
}
// line 1014
echo " <div class=\"content-group\">
<h5>オプション</h5>
";
// line 1016
if ((twig_get_attribute($this->env, $this->source, 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.', 1016, $this->source); })()), "Kofun", [], "any", false, false, true, 1016), "eternalBurialFee", [], "any", false, false, true, 1016) > 0)) {
// line 1017
echo " <div class=\"content\">
<span class=\"label\">";
// line 1018
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__option_extension"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1020
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__option_extension_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1020, $this->source); })()), "Kofun", [], "any", false, false, true, 1020), "extensionFee", [], "any", false, false, true, 1020), 1020, $this->source))]), "html", null, true);
echo "
<div class=\"fee-note\">";
// line 1021
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__option_note"), "html", null, true);
echo "</div>
</div>
</div>
";
} else {
// line 1025
echo " <div class=\"content\">
<span class=\"label\">";
// line 1026
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__option_extension"), "html", null, true);
echo "</span>
<div class=\"value\">
20年まで10年間ごとに";
// line 1028
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1028, $this->source); })()), "Kofun", [], "any", false, false, true, 1028), "extensionFee", [], "any", false, false, true, 1028), 1028, $this->source)), "html", null, true);
echo "円(非課税)<br/>
永年使用は515,000円(非課税)
<div class=\"fee-note\">";
// line 1030
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__option_note"), "html", null, true);
echo "</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">墓誌彫刻</span>
<div class=\"value\">
22,000円(税込)
<div class=\"fee-note\">※ ご希望のお客様は古墳墓をご購入後、お問い合わせからお申し込みください。</div>
</div>
</div>
";
}
// line 1041
echo " </div>
</div>
<div id=\"communal\" class=\"tab-content\">
";
// line 1044
if ((twig_get_attribute($this->env, $this->source, 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.', 1044, $this->source); })()), "Kofun", [], "any", false, false, true, 1044), "communalBurialFee", [], "any", false, false, true, 1044) > 0)) {
// line 1045
echo " <div class=\"content\">
<span class=\"label\">";
// line 1046
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__burial"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1048
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1048, $this->source); })()), "Kofun", [], "any", false, false, true, 1048), "communalBurialFee", [], "any", false, false, true, 1048), 1048, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">";
// line 1052
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__inscription"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1054
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1054, $this->source); })()), "Kofun", [], "any", false, false, true, 1054), "communalInscriptionFee", [], "any", false, false, true, 1054), 1054, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content\">
<span class=\"label\">";
// line 1058
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__maintenance"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1060
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1060, $this->source); })()), "Kofun", [], "any", false, false, true, 1060), "communalMaintenanceFee", [], "any", false, false, true, 1060), 1060, $this->source))]), "html", null, true);
echo "
</div>
</div>
<div class=\"content-group\">
<div class=\"content\">
<span class=\"label\">";
// line 1065
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__communal_misc"), "html", null, true);
echo "</span>
<div class=\"value\">
";
// line 1067
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.kofun.fee_list__total_price", ["%price%" => twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1067, $this->source); })()), "Kofun", [], "any", false, false, true, 1067), "communalMiscFee", [], "any", false, false, true, 1067), 1067, $this->source))]), "html", null, true);
echo "
</div>
</div>
</div>
";
} else {
// line 1072
echo " <div class=\"content\">
<span class=\"label\">諸費用</span>
<div class=\"value\">
入山費、納骨料、植栽維持費(管理費)合わせて";
// line 1075
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1075, $this->source); })()), "Kofun", [], "any", false, false, true, 1075), "communalMaintenanceFee", [], "any", false, false, true, 1075), 1075, $this->source)), "html", null, true);
echo "円(税込)
</div>
</div>
";
}
// line 1079
echo " </div>
</div>
</div>
<div class=\"ec-productRole__kofun-content buy_process\">
<h2>古墳墓のお手続き</h2>
<div class=\"content\">
①料金表と霊園規則をご確認の上、ご注文ください。
</div>
<div class=\"content\">
②ご購入に際し、お申込者様の続柄確認書類をご提出いただきます。写真のアップロード、または郵送にてご提出をお願いいたします。
</div>
<div class=\"content sub\">
※続柄確認書類とはお申込者及び埋葬予定者の本籍地と世帯全員のお名前が記載されたものとなります。(住民票や戸籍謄本など)発行から3カ月以内
</div>
<div class=\"content\">
③お支払い確認後、霊園から「永代使用承諾証」をお送りいたします。
</div>
<div class=\"content link\">
";
// line 1097
if (twig_get_attribute($this->env, $this->source, 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.', 1097, $this->source); })()), "Kofun", [], "any", false, false, true, 1097), "termsFileName", [], "any", false, false, true, 1097)) {
// line 1098
echo " <a href=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, 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.', 1098, $this->source); })()), "Kofun", [], "any", false, false, true, 1098), "termsFileName", [], "any", false, false, true, 1098), 1098, $this->source), "terms_file"), "html", null, true);
echo "\" target=\"_blank\">墓地使用規則>></a>
";
} else {
// line 1100
echo " <div class=\"warning\">墓地使用規則がアップロードされていません。</div>
";
}
// line 1102
echo " </div>
</div>
</div>
";
}
// line 1106
echo " <div class=\"ec-productRole__description\">";
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.', 1106, $this->source); })()), "description_detail", [], "any", false, false, true, 1106), 1106, $this->source));
echo "
</div>
";
// line 1108
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.', 1108, $this->source); })()), "freearea", [], "any", false, false, true, 1108)) {
// line 1109
echo " <div class=\"ec-productRole__description\">
";
// line 1110
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.', 1110, $this->source); })()), "freearea", [], "any", false, false, true, 1110), 1110, $this->source)), array(), true, false, true);
echo "
</div>
";
}
// line 1113
echo "
<div class=\"ec-productRole__profile\" id=\"checkout\">
";
// line 1116
echo " ";
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.', 1116, $this->source); })()), "Tags", [], "any", false, false, true, 1116))) {
// line 1117
echo " <ul class=\"ec-productRole__tags\">
";
// line 1118
$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.', 1118, $this->source); })()), "Tags", [], "any", false, false, true, 1118));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 1119
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, 1119), 1119, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed($context["Tag"], 1119, $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 1121
echo " </ul>
";
}
// line 1123
echo " ";
// line 1124
echo " ";
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.', 1124, $this->source); })()), "hasProductClass", [], "any", false, false, true, 1124)) {
// line 1125
echo "<div class=\"ec-productRole__priceRegular\">
";
// line 1126
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.', 1126, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 1126)) && (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.', 1126, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 1126) == 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.', 1126, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 1126)))) {
// line 1127
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1127, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 1127), 1127, $this->source)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 1128
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 1129
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1129, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 1129)) && !(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.', 1129, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 1129)))) {
// line 1130
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1130, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 1130), 1130, $this->source)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1130, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 1130), 1130, $this->source)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 1131
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 1133
echo " </div>
";
} else {
// line 1135
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.', 1135, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 1135))) {
// line 1136
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1136, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 1136), 1136, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 1137
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 1139
echo " ";
}
// line 1140
echo " ";
// line 1141
echo " <div class=\"ec-productRole__price\">
";
// line 1142
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.', 1142, $this->source); })()), "hasProductClass", [], "any", false, false, true, 1142)) {
// line 1143
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.', 1143, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 1143) == 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.', 1143, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 1143))) {
// line 1144
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 1145
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1145, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 1145), 1145, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 1146
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
} else {
// line 1149
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 1150
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1150, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 1150), 1150, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1150, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 1150), 1150, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 1151
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
}
// line 1154
echo " ";
} else {
// line 1155
echo " <div class=\"ec-price\">
<span class=\"ec-price__price\">";
// line 1156
echo twig_escape_filter($this->env, $this->extensions['Eccube\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.', 1156, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 1156), 1156, $this->source)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 1157
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
}
// line 1160
echo " </div>
";
// line 1162
echo " ";
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.', 1162, $this->source); })()), "code_min", [], "any", false, false, true, 1162))) {
// line 1163
echo " <div class=\"ec-productRole__code\">
";
// line 1164
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.code"), "html", null, true);
echo ": <span class=\"product-code-default\">";
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.', 1164, $this->source); })()), "code_min", [], "any", false, false, true, 1164), 1164, $this->source), "html", null, true);
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.', 1164, $this->source); })()), "code_min", [], "any", false, false, true, 1164) != 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.', 1164, $this->source); })()), "code_max", [], "any", false, false, true, 1164))) {
echo " ~ ";
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.', 1164, $this->source); })()), "code_max", [], "any", false, false, true, 1164), 1164, $this->source), "html", null, true);
}
echo "</span>
</div>
";
}
// line 1167
echo " ";
// line 1168
echo " ";
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.', 1168, $this->source); })()), "ProductCategories", [], "any", false, false, true, 1168))) {
// line 1169
echo " <div class=\"ec-productRole__category\">
";
// line 1170
$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.', 1170, $this->source); })()), "ProductCategories", [], "any", false, false, true, 1170));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 1171
echo " <ul>
<li>
";
// line 1173
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductCategory"], "Category", [], "any", false, false, true, 1173), "path", [], "any", false, false, true, 1173));
$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["Category"]) {
// line 1174
echo " <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, $context["Category"], "id", [], "any", false, false, true, 1174), 1174, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Category"], "name", [], "any", false, false, true, 1174), 1174, $this->source), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 1174) == false)) {
// line 1175
echo " <span>></span>";
}
++$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['Category'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1177
echo " </li>
</ul>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1180
echo " </div>
";
}
// line 1182
echo " <form action=\"";
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.', 1182, $this->source); })()), "id", [], "any", false, false, true, 1182)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 1183
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.', 1183, $this->source); })()), "stock_find", [], "any", false, false, true, 1183)) {
// line 1184
echo " <div class=\"ec-productRole__actions\">
";
// line 1185
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 1185)) {
// line 1186
echo " <div class=\"ec-select\">
";
// line 1187
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.', 1187, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 1187), 1187, $this->source), 'row');
echo "
";
// line 1188
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.', 1188, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 1188), 1188, $this->source), 'errors');
echo "
</div>
";
// line 1190
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 1190)) {
// line 1191
echo " <div class=\"ec-select\">
";
// line 1192
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.', 1192, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 1192), 1192, $this->source), 'row');
echo "
";
// line 1193
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.', 1193, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 1193), 1193, $this->source), 'errors');
echo "
</div>
";
}
// line 1196
echo " ";
}
// line 1197
echo " <div class=\"ec-productRole__stock\" id=\"selected-product-stock\" style=\"margin-bottom: 10px;\">
<span>";
// line 1198
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.stock"), "html", null, true);
echo "</span>
<span class=\"ec-productRole__stockQuantity\" id=\"selected-stock-quantity\">
";
// line 1200
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.please_select_product_class"), "html", null, true);
echo "
</span>
</div>
<div class=\"ec-numberInput\"><span>";
// line 1203
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.quantity"), "html", null, true);
echo "</span>
";
// line 1204
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.', 1204, $this->source); })()), "quantity", [], "any", false, false, true, 1204), 1204, $this->source), 'widget');
echo "
";
// line 1205
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.', 1205, $this->source); })()), "quantity", [], "any", false, false, true, 1205), 1205, $this->source), 'errors');
echo "
</div>
</div>
";
// line 1208
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.', 1208, $this->source); })()), "isCanAddCart", [], "any", false, false, true, 1208)) {
// line 1209
echo " <div class=\"ec-productRole__btn\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
";
// line 1211
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_cart"), "html", null, true);
echo "
</button>
</div>
";
} else {
// line 1215
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 1217
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.can_not_add_cart"), "html", null, true);
echo "
</button>
</div>
";
}
// line 1221
echo " ";
} else {
// line 1222
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 1224
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.out_of_stock"), "html", null, true);
echo "
</button>
</div>
";
}
// line 1228
echo "
";
// line 1229
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.', 1229, $this->source); })()), 1229, $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 1234
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 1235
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_cart_complete"), "html", null, true);
echo "</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">";
// line 1238
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.continue"), "html", null, true);
echo "</span>
<a href=\"";
// line 1239
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("common.go_to_cart"), "html", null, true);
echo "</a>
</div>
</div>
</div>
</div>
</div>
";
// line 1245
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.', 1245, $this->source); })()), "option_favorite_product", [], "any", false, false, true, 1245)) {
// line 1246
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.', 1246, $this->source); })()), "id", [], "any", false, false, true, 1246)]), "html", null, true);
echo "\" method=\"post\">
<div class=\"ec-productRole__btn\">
";
// line 1248
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 1248, $this->source); })()) == false)) {
// line 1249
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
";
// line 1250
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_favorite"), "html", null, true);
echo "
</button>
";
} else {
// line 1253
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">";
// line 1254
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_favorite_alrady"), "html", null, true);
echo "
</button>
";
}
// line 1257
echo " </div>
</form>
";
}
// line 1260
echo " </div>
</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 ( 2200 => 1260, 2195 => 1257, 2189 => 1254, 2186 => 1253, 2180 => 1250, 2177 => 1249, 2175 => 1248, 2169 => 1246, 2167 => 1245, 2156 => 1239, 2152 => 1238, 2146 => 1235, 2142 => 1234, 2134 => 1229, 2131 => 1228, 2124 => 1224, 2120 => 1222, 2117 => 1221, 2110 => 1217, 2106 => 1215, 2099 => 1211, 2095 => 1209, 2093 => 1208, 2087 => 1205, 2083 => 1204, 2079 => 1203, 2073 => 1200, 2068 => 1198, 2065 => 1197, 2062 => 1196, 2056 => 1193, 2052 => 1192, 2049 => 1191, 2047 => 1190, 2042 => 1188, 2038 => 1187, 2035 => 1186, 2033 => 1185, 2030 => 1184, 2028 => 1183, 2023 => 1182, 2019 => 1180, 2011 => 1177, 1996 => 1175, 1987 => 1174, 1970 => 1173, 1966 => 1171, 1962 => 1170, 1959 => 1169, 1956 => 1168, 1954 => 1167, 1942 => 1164, 1939 => 1163, 1936 => 1162, 1933 => 1160, 1927 => 1157, 1923 => 1156, 1920 => 1155, 1917 => 1154, 1911 => 1151, 1905 => 1150, 1902 => 1149, 1896 => 1146, 1892 => 1145, 1889 => 1144, 1887 => 1143, 1885 => 1142, 1882 => 1141, 1880 => 1140, 1877 => 1139, 1872 => 1137, 1865 => 1136, 1862 => 1135, 1858 => 1133, 1853 => 1131, 1844 => 1130, 1842 => 1129, 1838 => 1128, 1831 => 1127, 1829 => 1126, 1826 => 1125, 1823 => 1124, 1821 => 1123, 1817 => 1121, 1806 => 1119, 1802 => 1118, 1799 => 1117, 1796 => 1116, 1792 => 1113, 1786 => 1110, 1783 => 1109, 1781 => 1108, 1775 => 1106, 1769 => 1102, 1765 => 1100, 1759 => 1098, 1757 => 1097, 1737 => 1079, 1730 => 1075, 1725 => 1072, 1717 => 1067, 1712 => 1065, 1704 => 1060, 1699 => 1058, 1692 => 1054, 1687 => 1052, 1680 => 1048, 1675 => 1046, 1672 => 1045, 1670 => 1044, 1665 => 1041, 1651 => 1030, 1646 => 1028, 1641 => 1026, 1638 => 1025, 1631 => 1021, 1627 => 1020, 1622 => 1018, 1619 => 1017, 1617 => 1016, 1613 => 1014, 1605 => 1009, 1600 => 1006, 1592 => 1001, 1587 => 999, 1580 => 995, 1575 => 993, 1567 => 988, 1562 => 986, 1555 => 982, 1550 => 980, 1543 => 976, 1539 => 975, 1534 => 973, 1531 => 972, 1529 => 971, 1523 => 968, 1519 => 967, 1513 => 964, 1506 => 961, 1496 => 957, 1491 => 955, 1488 => 954, 1484 => 953, 1478 => 950, 1473 => 948, 1468 => 946, 1464 => 944, 1459 => 941, 1452 => 939, 1446 => 936, 1443 => 935, 1441 => 934, 1437 => 933, 1434 => 932, 1429 => 931, 1424 => 929, 1421 => 928, 1419 => 927, 1408 => 918, 1393 => 916, 1387 => 913, 1384 => 912, 1382 => 911, 1378 => 910, 1375 => 909, 1357 => 908, 1355 => 907, 1352 => 906, 1343 => 903, 1340 => 902, 1336 => 901, 1330 => 898, 1321 => 892, 1312 => 886, 1302 => 880, 1296 => 878, 1294 => 877, 1290 => 876, 1281 => 870, 1268 => 862, 1260 => 859, 1252 => 856, 1244 => 853, 1236 => 850, 1228 => 847, 1220 => 844, 1212 => 841, 1206 => 837, 1198 => 832, 1195 => 831, 1193 => 830, 1190 => 829, 1187 => 828, 1184 => 827, 1181 => 826, 1178 => 825, 1175 => 824, 1172 => 823, 1169 => 822, 1166 => 821, 1164 => 820, 1157 => 816, 1141 => 803, 1136 => 801, 1130 => 798, 1125 => 795, 1123 => 794, 1118 => 791, 1112 => 788, 1108 => 787, 1105 => 786, 1102 => 785, 1096 => 782, 1090 => 781, 1087 => 780, 1081 => 777, 1077 => 776, 1074 => 775, 1072 => 774, 1070 => 773, 1067 => 772, 1065 => 771, 1062 => 770, 1057 => 768, 1050 => 767, 1047 => 766, 1043 => 764, 1038 => 762, 1029 => 761, 1027 => 760, 1023 => 759, 1016 => 758, 1014 => 757, 1011 => 756, 1008 => 755, 1006 => 754, 1002 => 752, 991 => 750, 987 => 749, 984 => 748, 981 => 747, 979 => 746, 971 => 743, 968 => 742, 965 => 741, 958 => 736, 951 => 732, 947 => 730, 937 => 729, 921 => 722, 908 => 712, 886 => 693, 858 => 668, 854 => 667, 850 => 666, 846 => 665, 842 => 663, 836 => 661, 834 => 660, 829 => 659, 826 => 658, 816 => 656, 802 => 654, 794 => 653, 776 => 652, 771 => 650, 739 => 621, 729 => 614, 699 => 587, 694 => 584, 685 => 578, 681 => 576, 679 => 575, 676 => 574, 667 => 568, 663 => 566, 661 => 565, 583 => 489, 575 => 487, 573 => 486, 568 => 484, 565 => 483, 563 => 482, 549 => 471, 546 => 470, 536 => 469, 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: 10px;
}
.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;
}
@media only screen and (min-width: 768px) {
.ec-sliderItemRole {
margin-bottom: 3rem ;
}
}
.ec-sliderItemRole .slideThumb {
width: 10%;
}
.ec-sliderItemRole .slideThumb img {
width: 90%;
}
/* ///////////////////詳細情報1/////////////////// */
.ec-productRole__movie {
width: 100%;
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
@media only screen and (min-width: 768px) {
.ec-productRole__movie {
grid-template-columns: repeat(3, 1fr);
}
}
.ec-productRole__movie iframe {
width: 100%;
aspect-ratio: 16 / 9;
}
.movie-caption {
font-size: 16px;
}
/* 住所 */
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-address {
font-size: 28px;
font-weight: bold;
padding: 1rem 0;
border-bottom: 1px dotted #ccc;
}
}
/* 価格 */
.ec-productRole .ec-productRole__price {
color:var(--e-global-color-global_color_5);
padding-top:0px;
font-size: 30px;
}
/* 説明テキスト */
.ec-productRole .ec-productRole__description {
margin-top: 20px;
}
/* 購入ボタン */
@media only screen and (min-width: 768px) {
.ec-productRole .ec-productRole__btn {
text-align: center;
min-width: 350px;
width: 40%;
margin:0 auto;
}
}
.blueprint-image {
width: 100%;
max-width: 768px;
margin: 15px auto;
}
.ec-grid3__cell.product-image {
margin: 5px 15px;
}
.detail-top-image {
width: 100%;
max-width: 1080px;
margin: 15px auto;
}
/* ///////////////////詳細情報2/////////////////// */
/* 見出し_下グリーンライン */
.ec-productRole__kofun-content h2 {
font-size: 20px;
font-weight: bold;
color: var(--e-global-color-global_color_4);
margin-top: 4rem;
margin-bottom: 1rem;
padding-bottom: 0.5rem;
background: linear-gradient(to right,
var(--e-global-color-global_color_1) 0%,
var(--e-global-color-global_color_1) 20%,
#ddd 20%,
#ddd 100%);
background-size: 100% 3px;
background-repeat: no-repeat;
background-position: bottom;
}
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-content h2 {
font-size: 26px;
}
}
/* 見出し_左横グリーンライン */
.ec-productRole__kofun-content h3 {
font-size: 20px;
font-weight: bold;
color: var(--e-global-color-global_color_4);
margin-top: 4rem;
margin-bottom: 1rem;
padding-left: 0.5rem;
border-left: 10px solid var(--e-global-color-global_color_1);
line-height: 1.8;
}
/* おすすめポイント */
.ec-productRole__kofun-appeal-points .title {
font-size: 18px;
font-weight: bold;
color: var(--e-global-color-global_color_9);
background-color: var(--e-global-color-global_color_1);
padding: 0.5rem 4rem 0.5rem 1rem;
margin: 2rem 1rem 0 1rem;
width: fit-content;
border-radius: 6px 6px 0 0; /* 上側の角だけを丸く */
}
.ec-productRole__kofun-appeal-points .content {
margin: 0 1rem;
padding: 1rem;
background-color: var(--e-global-color-global_color_7);
border-radius: 4px;
}
.ec-productRole__kofun-content {
padding-bottom: 20px;
margin-bottom: 20px;
}
.ec-productRole__kofun-content .content {
display: flex;
align-items: flex-start;
}
.ec-productRole__kofun-content.basicline .content {
padding: 0.5rem 0;
border-bottom: 1px dotted #ccc;
}
.tab-content.active .content {
padding: 0.5rem 0;
border-bottom: 1px dotted #ccc;
}
.ec-productRole__kofun-content.buy_process .content {
line-height:1.8;
padding-left:0.5rem;
}
.ec-productRole__kofun-content .content-group {
margin-top: 1rem;
}
.ec-productRole__kofun-content .content span.label {
display: inline-block;
width: 120px; /* 項目名の幅を固定 */
color: var(--e-global-color-global_color_5);
font-weight: bold;
flex-shrink: 0;
}
.ec-productRole__kofun-content.base-info .label::before {
content: \"【\";
}
.ec-productRole__kofun-content.base-info .label::after {
content: \"】\";
}
.ec-productRole__kofun-content.basicline a {
color: #333 !important;
text-decoration: underline !important;
}
.ec-productRole__kofun-content.basicline a:hover {
color: var(--e-global-color-global_color_2) !important;
}
.ec-productRole__kofun-content .content span.label2 {
display: inline-block;
width: 120px; /* 項目名の幅を固定 */
color: var(--e-global-color-global_color_1);
font-weight: bold;
flex-shrink: 0;
}
.ec-productRole__kofun-content .content.note {
margin-top: 1rem;
font-size: 0.9em;
line-height:1.5;
}
.ec-productRole__kofun-content .content.sub {
padding-left: 1.5rem;
margin-bottom: 1rem;
font-size: 0.9em;
line-height:1.5;
}
.ec-productRole__kofun-content .content.link {
margin-top: 1rem;
}
.warning {
color: red;
}
.value {
display: flex;
flex-direction: column;
}
.ec-productRole__kofun-content.description-detail {
margin-top: 50px;
}
.ec-productRole__kofun-content.description-detail strong {
font-size: 30px;
color: var(--e-global-color-global_color_2);
}
/* 価格表 */
.ec-productRole__kofun-content.price-table .header {
display: flex;
align-items: flex-start;
font-weight: bold;
padding: 0.8rem;
border-bottom: 1px dashed var(--e-global-color-global_color_2);
}
.ec-productRole__kofun-content.price-table .content {
padding: 0.8em;
border-bottom: 1px dashed var(--e-global-color-global_color_2);
}
.ec-productRole__kofun-content.price-table span.label {
width: 30%;
}
@media only screen and (min-width: 768px) {
.ec-productRole__kofun-content.price-table span.label {
width: 320px;
}
}
.ec-productRole__kofun-content.price-table .note {
padding-top: 1rem;
font-size: 0.9em;
}
/* タブ切り替え用のスタイル追加 */
.tab-container {
margin: 2rem 0;
}
.tab-buttons {
display: flex;
position: relative;
z-index: 1;
}
.tab-button {
padding: 1rem 2rem;
background: #ffffff;
border: none;
border-bottom: 1px solid var(--e-global-color-global_color_2);
cursor: pointer;
font-size: 16px;
font-weight: bold;
margin-right: 4px;
margin-bottom: -1px;
position: relative;
}
.tab-button.active {
background: #ECF2D3;
border: 1px solid var(--e-global-color-global_color_2);
border-bottom: none;
}
.tab-content {
display: none;
padding: 2rem;
background: #ECF2D3;
border: 1px solid var(--e-global-color-global_color_2);
}
.tab-content.active {
display: block;
}
.fee-note {
margin-top: 1rem;
font-size: 0.9em;
color: #666;
}
.ec-productRole__kofun-content.scroll-to-checkout {
text-align: center;
margin-top: 50px;
}
.ec-productRole__kofun-content.scroll-to-checkout a span {
text-decoration: inherit;
display: inline-block;
}
.ec-productRole__kofun-content.scroll-to-checkout a {
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
font-weight: bold;
border-radius: 3px;
color: #ffffff;
fill: #ffffff;
text-align: center;
transition: all .3s;
background-color: #000000;
padding: 20px;
width: 300px;
height: 45px;
}
@media only screen and (max-width: 768px) {
.ec-productRole__kofun-content.scroll-to-checkout a {
font-size: 17px;
padding: 20px 22px;
}
}
.ec-productRole__stock {
display: none;
}
.ec-productRole__kofun-content.visit-reservation {
text-align: center;
margin-top: 50px;
}
.ec-productRole__kofun-content.visit-reservation a {
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
font-weight: bold;
border-radius: 3px;
color: #ffffff;
fill: #ffffff;
text-align: center;
transition: all .3s;
background-color: #000000;
padding: 20px;
width: 300px;
height: 45px;
text-decoration: none;
}
@media only screen and (max-width: 768px) {
.ec-productRole__kofun-content.visit-reservation a {
font-size: 17px;
padding: 20px 22px;
}
}
</style>
{% endblock %}
{% block javascript %}
<script>
eccube.classCategories = {{ get_extended_class_categories_as_json(Product)|raw }};
// 規格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);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\$('.slide-item').height(baseHeight * rate); // 余白を削除する
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: false,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
// タブ切り替え用のJavaScript
\$('.tab-button').on('click', function() {
// すべてのタブとコンテンツからactiveクラスを削除
\$('.tab-button').removeClass('active');
\$('.tab-content').removeClass('active');
// クリックされたタブとそれに対応するコンテンツにactiveクラスを追加
\$(this).addClass('active');
const tabId = \$(this).data('tab');
\$('#' + tabId).addClass('active');
});
});
</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('{{ 'front.product.product_class_unselected'|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('{{ 'front.product.product_class_unselected'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('{{ 'front.product.invalid_quantity'|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').text(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('{{ 'front.product.add_cart_error'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
\$('.scroll-to-checkout a').on('click', function(e) {
e.preventDefault();
const targetId = \$(this).attr('href');
const targetPosition = \$(targetId).offset().top;
\$('html, body').animate({
scrollTop: targetPosition
}, 600); // 800ミリ秒かけてスクロール
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"{{ Product.name }}\",
\"image\": [
{% for img in Product.ProductImage %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
{% else %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
{% endfor %}
],
\"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
{% if Product.code_min %}
\"sku\": \"{{ Product.code_min }}\",
{% endif %}
\"offers\": {
\"@type\": \"Offer\",
\"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
\"priceCurrency\": \"{{ eccube_config.currency }}\",
\"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
\"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
}
}
</script>
<script>
\$(function() {
// 規格1が変更されたとき
\$('#classcategory_id1').on('change', function() {
updateStock();
});
// 規格2が変更されたとき
\$('#classcategory_id2').on('change', function() {
updateStock();
});
// 初期表示時
updateStock();
// 在庫表示を更新する関数
function updateStock() {
// 現在選択されているProductClassのデータを取得
var productClassId = \$('#ProductClass').val();
if (!productClassId) {
\$('#selected-stock-quantity').text('{{ 'front.product.please_select_product_class'|trans }}');
return;
}
// 選択された商品規格の情報を取得
var classCategory1 = \$('#classcategory_id1').val() || '__unselected';
var classCategory2 = \$('#classcategory_id2').val() || '';
// 商品規格情報を取得
var productClass = null;
if (eccube.classCategories[classCategory1]) {
if (classCategory2 && eccube.classCategories[classCategory1]['#' + classCategory2]) {
productClass = eccube.classCategories[classCategory1]['#' + classCategory2];
} else if (eccube.classCategories[classCategory1]['#']) {
productClass = eccube.classCategories[classCategory1]['#'];
}
}
if (!productClass) {
\$('#selected-stock-quantity').text('{{ 'front.product.please_select_product_class'|trans }}');
return;
}
// 在庫表示を更新
var stockQuantityElement = \$('#selected-stock-quantity');
if (productClass.stock !== null && productClass.stock > 0) {
stockQuantityElement.text(productClass.stock);
} else {
stockQuantityElement.text('{{ 'front.product.out_of_stock'|trans }}');
}
}
});
</script>
{% endblock %}
{% block main %}
<div class=\"ec-productRole\">
<div class=\"ec-pageHeader\">
<h1 class=\"km_pagetitle\">{{ Product.name }}</h1>
</div>
<div class=\"detail-top-image\">
<img src=\"{{ asset(Product.ProductImage[0], 'save_image') }}\">
</div>
<div class=\"ec-productRole__profile\">
{# 住所 #}
{% if Product.kofun_product_type and Product.kofun_product_type.id == 1 %}
<div class=\"ec-productRole__kofun-address\">
{{ Product.Kofun.Pref.name ?? '' }}{{ Product.Kofun.addr01 }}{{ Product.Kofun.addr02 }}
</div>
{% endif %}
{# タグ #}
{% if Product.Tags is not empty %}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
{% endif %}
{# 通常価格 #}
{% if Product.hasProductClass -%}
<div class=\"ec-productRole__priceRegular\">
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
</div>
{% else %}
{% if Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
{% endif %}
{# 販売価格 #}
<div class=\"ec-productRole__price\">
{% 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\">{{ 'common.tax_include'|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\">{{ 'common.tax_include'|trans }}</span>
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ 'common.tax_include'|trans }}</span>
</div>
{% endif %}
</div>
</div>
{% if Product.kofun_product_type and Product.kofun_product_type.id == 1 %}
<div class=\"ec-productRole__kofun\">
<div class=\"ec-productRole__kofun-content description-detail\">
{{ Product.Kofun.descriptionDetail|raw|nl2br }}
</div>
<div class=\"ec-productRole__kofun-appeal-points\">
<div class=\"title\">{{ 'front.kofun.appeal_points_title'|trans }}</div>
<div class=\"content\">
{{ Product.Kofun.appealPoints|raw|nl2br }}
</div>
</div>
<div class=\"ec-productRole__kofun-content scroll-to-checkout\">
<a href=\"#checkout\">
<span>ご購入はこちらから</span>
</a>
</div>
<div class=\"ec-productRole__kofun-content access\">
<h2>アクセス</h2>
<div class=\"content\">
{{ Product.Kofun.access|raw|nl2br }}
</div>
</div>
{% if app.environment == 'prod' %}
{% if Product.Kofun.id == 'bj0zQKulUcfULgr06dwy' %}
{% set visit_url = 'https://calendar.app.google/DSkdUAXqMmRxZnti8' %}
{% elseif Product.Kofun.id == 'FaUkQoWKRHRumqlKIvgg' %}
{% set visit_url = 'https://calendar.app.google/SasLwuKaFwQSZZrz7' %}
{% endif %}
{% elseif app.environment == 'dev' %}
{% set visit_url = 'https://calendar.app.google/ECkmJUvKpra9SSQU9' %}
{% endif %}
{% if visit_url is defined %}
<div class=\"ec-productRole__kofun-content visit-reservation\">
<a href=\"{{ visit_url }}\" target=\"_blank\">
<span>見学のご予約はこちらから</span>
</a>
</div>
{% endif %}
<div class=\"ec-productRole__kofun-content basicline\">
<h2>基本情報</h2>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__danka_duty'|trans }}</span>{{ Product.Kofun.dankaDuty|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__religion'|trans }}</span>{{ Product.Kofun.religion|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__successor'|trans }}</span>{{ Product.Kofun.successor|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__ritual'|trans }}</span>{{ Product.Kofun.ritual|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__features'|trans }}</span>{{ Product.Kofun.features|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__facilities'|trans }}</span>{{ Product.Kofun.facilities|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__business_hours'|trans }}</span>{{ Product.Kofun.businessHours|raw|nl2br }}
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.base_info__holidays'|trans }}</span>{{ Product.Kofun.holidays|raw|nl2br }}
</div>
</div>
<div class=\"ec-productRole__kofun-content basicline\">
<h2>古墳の概要</h2>
<div class=\"content\">
<span class=\"label\">【形状】</span>
<div class=\"value\">
{{ Product.Kofun.shape|raw|nl2br }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">【区画】</span>
<div class=\"value\">
<div>{{ 'front.kofun.kofun_summary__section_one_person'|trans({'%count%': Product.Kofun.onePersonSectionCount}) }}</div>
{% if (Product.Kofun.twoPersonSectionCount > 0) %}
<div>{{ 'front.kofun.kofun_summary__section_two_person'|trans({'%count%': Product.Kofun.twoPersonSectionCount}) }}</div>
{% endif %}
<div>{{ 'front.kofun.kofun_summary__section_communal'|trans({'%count%': Product.Kofun.communalSectionCount}) }}</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">【副葬品】</span>
<div class=\"value\">
{{ Product.Kofun.burialGoods|raw|nl2br }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">【販売開始日】</span>
<div class=\"value\">
{{ Product.Kofun.salesStartDate|raw|nl2br }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">【完成予定日】</span>
<div class=\"value\">
{{ Product.Kofun.completionDate|raw|nl2br }}
</div>
</div>
{% for BlueprintImage in Product.Kofun.BlueprintImage %}
<div class=\"blueprint-image\">
<img src=\"{{ asset(BlueprintImage, 'save_image') }}\">
</div>
{% endfor %}
<div class=\"ec-grid3\">
{% set descriptions = Product.imageDescriptions|split('|') %}
{% for ProductImage in Product.ProductImage|slice(1, 3) %}
<div class=\"ec-grid3__cell product-image\">
<img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" loading=\"lazy\">
{% if descriptions[loop.index0] is defined %}
<div class=\"product-image-description\">
{{ descriptions[loop.index0]|raw|nl2br }}
</div>
{% endif %}
</div>
{% endfor %}
</div>
</div>
<div class=\"ec-productRole__kofun-content scroll-to-checkout\">
<a href=\"#checkout\">
<span>ご購入はこちらから</span>
</a>
</div>
{% if Product.movie_url %}
<div class=\"ec-productRole__kofun-content introduction_movie\">
<h2>{{ 'front.kofun.introduction_movie'|trans }}</h2>
<div class=\"ec-productRole__movie\">
{% for movie_url in Product.movie_url|split('\\n') %}
<div class=\"movie-item\">
<iframe src=\"https://www.youtube.com/embed/{{ movie_url|split(',')|first }}?mute=1&rel=0&loop=1\" frameborder=\"0\" allow=\"picture-in-picture\" allowfullscreen></iframe>
{% if movie_url|split(',')|length > 1 %}
<div class=\"movie-caption\">
{{ movie_url|split(',', 2)|last }}
</div>
{% endif %}
</div>
{% endfor %}
</div>
</div>
{% endif %}
<div class=\"ec-productRole__kofun-content price-table\">
<h2>{{ 'front.kofun.price_table'|trans }}</h2>
<div class=\"header\">
<span class=\"label\">{{ 'front.kofun.price_table_header__type'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.price_table_header__price'|trans }}
</div>
</div>
{% for ProductClass in Product.ProductClasses %}
<div class=\"content\">
<span class=\"label\">{{ ProductClass.ClassCategory1.Name }}</span>
<div class=\"value\">
{{ 'front.kofun.price_table_data__price'|trans({'%price1%': ProductClass.eternalUseFee|number_format, '%price2%': ProductClass.miscellaneousFee|number_format, '%price3%': ProductClass.Price02|number_format}) }}
</div>
</div>
{% endfor %}
<div class=\"note\">{{ 'front.kofun.price_table_note'|trans }}</div>
</div>
<div class=\"ec-productRole__kofun-content\">
<h3>{{ 'front.kofun.fee_list'|trans }}</h3>
<div class=\"tab-container\">
<div class=\"tab-buttons\">
<button class=\"tab-button active\" data-tab=\"eternal\">{{ 'front.kofun.fee_list__eternal'|trans }}</button>
<button class=\"tab-button\" data-tab=\"communal\">{{ 'front.kofun.fee_list__communal'|trans }}</button>
</div>
<div id=\"eternal\" class=\"tab-content active\">
{% if (Product.Kofun.eternalBurialFee > 0) %}
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__burial'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__unit_price'|trans({'%price%': Product.Kofun.eternalBurialFee|number_format}) }}
<div class=\"fee-note\">{{ 'front.kofun.fee_list__note'|trans }}</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__inscription'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__unit_price'|trans({'%price%': Product.Kofun.eternalInscriptionFee|number_format}) }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__maintenance'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__section_price'|trans({'%price%': Product.Kofun.eternalMaintenanceFee|number_format}) }}
</div>
</div>
<div class=\"content-group\">
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__eternal_single_misc'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__total_price'|trans({'%price%': Product.Kofun.singleMiscFee|number_format}) }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__eternal_double_misc'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__total_price'|trans({'%price%': Product.Kofun.doubleMiscFee|number_format}) }}
</div>
</div>
</div>
{% else %}
<div class=\"content\">
<span class=\"label\">諸費用</span>
<div class=\"value\">
入山費、納骨料、骨壺代、植栽維持費(管理費)合わせて{{ Product.Kofun.eternalMaintenanceFee|number_format }}円(税込)
<div class=\"fee-note\">※ 墓誌銘板および彫刻は含まれていません。</div>
</div>
</div>
{% endif %}
<div class=\"content-group\">
<h5>オプション</h5>
{% if (Product.Kofun.eternalBurialFee > 0) %}
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__option_extension'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__option_extension_price'|trans({'%price%': Product.Kofun.extensionFee|number_format}) }}
<div class=\"fee-note\">{{ 'front.kofun.fee_list__option_note'|trans }}</div>
</div>
</div>
{% else %}
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__option_extension'|trans }}</span>
<div class=\"value\">
20年まで10年間ごとに{{ Product.Kofun.extensionFee|number_format }}円(非課税)<br/>
永年使用は515,000円(非課税)
<div class=\"fee-note\">{{ 'front.kofun.fee_list__option_note'|trans }}</div>
</div>
</div>
<div class=\"content\">
<span class=\"label\">墓誌彫刻</span>
<div class=\"value\">
22,000円(税込)
<div class=\"fee-note\">※ ご希望のお客様は古墳墓をご購入後、お問い合わせからお申し込みください。</div>
</div>
</div>
{% endif %}
</div>
</div>
<div id=\"communal\" class=\"tab-content\">
{% if (Product.Kofun.communalBurialFee > 0) %}
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__burial'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__price'|trans({'%price%': Product.Kofun.communalBurialFee|number_format}) }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__inscription'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__price'|trans({'%price%': Product.Kofun.communalInscriptionFee|number_format}) }}
</div>
</div>
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__maintenance'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__price'|trans({'%price%': Product.Kofun.communalMaintenanceFee|number_format}) }}
</div>
</div>
<div class=\"content-group\">
<div class=\"content\">
<span class=\"label\">{{ 'front.kofun.fee_list__communal_misc'|trans }}</span>
<div class=\"value\">
{{ 'front.kofun.fee_list__total_price'|trans({'%price%': Product.Kofun.communalMiscFee|number_format}) }}
</div>
</div>
</div>
{% else %}
<div class=\"content\">
<span class=\"label\">諸費用</span>
<div class=\"value\">
入山費、納骨料、植栽維持費(管理費)合わせて{{ Product.Kofun.communalMaintenanceFee|number_format }}円(税込)
</div>
</div>
{% endif %}
</div>
</div>
</div>
<div class=\"ec-productRole__kofun-content buy_process\">
<h2>古墳墓のお手続き</h2>
<div class=\"content\">
①料金表と霊園規則をご確認の上、ご注文ください。
</div>
<div class=\"content\">
②ご購入に際し、お申込者様の続柄確認書類をご提出いただきます。写真のアップロード、または郵送にてご提出をお願いいたします。
</div>
<div class=\"content sub\">
※続柄確認書類とはお申込者及び埋葬予定者の本籍地と世帯全員のお名前が記載されたものとなります。(住民票や戸籍謄本など)発行から3カ月以内
</div>
<div class=\"content\">
③お支払い確認後、霊園から「永代使用承諾証」をお送りいたします。
</div>
<div class=\"content link\">
{% if Product.Kofun.termsFileName %}
<a href=\"{{ asset(Product.Kofun.termsFileName, 'terms_file') }}\" target=\"_blank\">墓地使用規則>></a>
{% else %}
<div class=\"warning\">墓地使用規則がアップロードされていません。</div>
{% endif %}
</div>
</div>
</div>
{% endif %}
<div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
</div>
{% if Product.freearea %}
<div class=\"ec-productRole__description\">
{{ include(template_from_string(Product.freearea), sandboxed = true) }}
</div>
{% endif %}
<div class=\"ec-productRole__profile\" id=\"checkout\">
{# タグ #}
{% if Product.Tags is not empty %}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
{% endif %}
{# 通常価格 #}
{% if Product.hasProductClass -%}
<div class=\"ec-productRole__priceRegular\">
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
</div>
{% else %}
{% if Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
{% endif %}
{# 販売価格 #}
<div class=\"ec-productRole__price\">
{% 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\">{{ 'common.tax_include'|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\">{{ 'common.tax_include'|trans }}</span>
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ 'common.tax_include'|trans }}</span>
</div>
{% endif %}
</div>
{# 商品コード #}
{% if Product.code_min is not empty %}
<div class=\"ec-productRole__code\">
{{ 'front.product.code'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
</div>
{% endif %}
{# 関連カテゴリ #}
{% if Product.ProductCategories is not empty %}
<div class=\"ec-productRole__category\">
{% for ProductCategory in Product.ProductCategories %}
<ul>
<li>
{% for Category in ProductCategory.Category.path %}
<a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
<span>></span>{% endif -%}
{% endfor %}
</li>
</ul>
{% endfor %}
</div>
{% endif %}
<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\">
{{ form_row(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"ec-select\">
{{ form_row(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"ec-productRole__stock\" id=\"selected-product-stock\" style=\"margin-bottom: 10px;\">
<span>{{ 'front.product.stock'|trans }}</span>
<span class=\"ec-productRole__stockQuantity\" id=\"selected-stock-quantity\">
{{ 'front.product.please_select_product_class'|trans }}
</span>
</div>
<div class=\"ec-numberInput\"><span>{{ 'common.quantity'|trans }}</span>
{{ form_widget(form.quantity) }}
{{ form_errors(form.quantity) }}
</div>
</div>
{% if Product.isCanAddCart %}
<div class=\"ec-productRole__btn\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
{{ 'front.product.add_cart'|trans }}
</button>
</div>
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'front.product.can_not_add_cart'|trans }}
</button>
</div>
{% endif %}
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'front.product.out_of_stock'|trans }}
</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\">{{ 'front.product.add_cart_complete'|trans }}</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">{{ 'front.product.continue'|trans }}</span>
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'common.go_to_cart'|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\">
{% if is_favorite == false %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
{{ 'front.product.add_favorite'|trans }}
</button>
{% else %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">{{ 'front.product.add_favorite_alrady'|trans }}
</button>
{% endif %}
</div>
</form>
{% endif %}
</div>
</div>
{% endblock %}", "Product/detail.twig", "/var/www/html/app/template/default/Product/detail.twig");
}
public function checkSecurity()
{
static $tags = array("set" => 13, "if" => 482, "for" => 652);
static $filters = array("raw" => 471, "json_encode" => 484, "escape" => 487, "trans" => 568, "no_image_product" => 656, "slice" => 659, "replace" => 659, "default" => 659, "price" => 758, "nl2br" => 798, "split" => 907, "first" => 933, "length" => 934, "last" => 936, "number_format" => 957);
static $functions = array("get_extended_class_categories_as_json" => 471, "url" => 614, "asset" => 653, "include" => 1110, "template_from_string" => 1110, "form_row" => 1187, "form_errors" => 1188, "form_widget" => 1204, "form_rest" => 1229);
try {
$this->sandbox->checkSecurity(
['set', 'if', 'for'],
['raw', 'json_encode', 'escape', 'trans', 'no_image_product', 'slice', 'replace', 'default', 'price', 'nl2br', 'split', 'first', 'length', 'last', 'number_format'],
['get_extended_class_categories_as_json', 'url', 'asset', 'include', 'template_from_string', 'form_row', 'form_errors', 'form_widget', 'form_rest'],
$this->source
);
} 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;
}
}
}