<?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_197426be85e032a6e38505964da6d09cb88849c896488f5ba9577f0f1fae0d62 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'],
];
}
protected function doGetParent(array $context)
{
// line 11
return "default_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_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_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
// line 15
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 16
echo "\t<style>
\t\t.sub-breadcrumbsWrap {
\t\t\tmargin-top: 20px;
\t\t}
\t\t.sub-breadcrumbs:not(first-child) {
\t\t\tmargin-top: 10px;
\t\t}
\t\t.form-label {
\t\t\tdisplay: none;
\t\t}
\t\t.mb-3 {
\t\t\tmargin-bottom: 0;
\t\t}
\t\t.notHover:hover>* {
\t\t\tcursor: not-allowed !important;
\t\t}
\t\t.notHover {
\t\t\topacity: 0.5;
\t\t}\t
\t\t.notHover:hover {
\t\t\topacity: 0.5;
\t\t}
\t\t#product_review_area .recommend_level {
\t\t\tcolor: #B79242;
\t\t}
\t\tbutton:disabled{
\t\t\topacity: 0.5;
\t\t}
\t\t.mod-form-input-text, .mod-form-input-textArea {
\t\t\twidth: 100% !important;
\t\t\tmax-width: none !important;
\t\t\ttext-align: left !important;
\t\t\tborder: 1px solid #7c7c7c !important;
\t\t\tborder-radius: 0px !important;
\t\t\tmargin: 6px 0 !important;
\t\t}\t\t
\t\t.mod-form-description {
\t\t\tfont-size: 14px;
\t\t}
\t\t.option-img {
\t\t\twidth: 100%;
\t\t\tmax-width: 400px;
\t\t}
\t</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 63
public function block_javascript($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
// line 64
echo "\t";
// line 65
echo " <script>
eccube.classCategories = ";
// line 66
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 66, $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 77
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 77)) {
// line 78
echo " fnSetClassCategories(
\$('#form1'), ";
// line 79
echo json_encode(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.', 79, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 79), "vars", [], "any", false, false, false, 79), "value", [], "any", false, false, false, 79));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 81
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 81)) {
// line 82
echo " eccube.checkStock(\$('#form1'), ";
echo 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.', 82, $this->source); })()), "id", [], "any", false, false, false, 82), "html", null, true);
echo ", ";
echo json_encode(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.', 82, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 82), "vars", [], "any", false, false, false, 82), "value", [], "any", false, false, false, 82));
echo ", null);
";
}
// line 84
echo " </script>
\t";
// line 87
echo " <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);
})
});
</script>
\t";
// line 149
echo " <script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 152
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 152)) {
// line 153
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 155
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目を選択してください"), "html", null, true);
echo "');
\t\t\t\t\t
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 162
echo "
";
// line 163
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 163)) {
// line 164
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 166
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目を選択してください"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 172
echo "
// 個数フォームのチェック
if (\$('#quantity').val() <= 0) {
\$('#quantity')[0].setCustomValidity('";
// line 175
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上の数字を入力してください。"), "html", null, true);
echo "');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}\t\t\t\t
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 202
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 209
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-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 229
echo 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.', 229, $this->source); })()), "name", [], "any", false, false, false, 229), "html", null, true);
echo "\",
\"image\": [
";
// line 231
$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.', 231, $this->source); })()), "ProductImage", [], "any", false, false, false, 231));
$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 232
echo " \"";
echo twig_escape_filter($this->env, 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.', 232, $this->source); })()), "request", [], "any", false, false, false, 232), "schemeAndHttpHost", [], "any", false, false, false, 232), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 232)) {
echo ",";
}
// line 233
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 235
echo " \"";
echo twig_escape_filter($this->env, 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.', 235, $this->source); })()), "request", [], "any", false, false, false, 235), "schemeAndHttpHost", [], "any", false, false, false, 235), "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 237
echo " ],
\"description\": \"";
// line 238
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, false, 238)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, false, 238), 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.', 238, $this->source); })()), "description_detail", [], "any", false, false, false, 238))) : (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.', 238, $this->source); })()), "description_detail", [], "any", false, false, false, 238))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 239
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.', 239, $this->source); })()), "code_min", [], "any", false, false, false, 239)) {
// line 240
echo " \"sku\": \"";
echo 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.', 240, $this->source); })()), "code_min", [], "any", false, false, false, 240), "html", null, true);
echo "\",
";
}
// line 242
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 244
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.', 244, $this->source); })()), "id", [], "any", false, false, false, 244)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 245
echo twig_escape_filter($this->env, 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.', 245, $this->source); })()), "currency", [], "any", false, false, false, 245), "html", null, true);
echo "\",
\"price\": ";
// line 246
((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.', 246, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 246)) ? (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.', 246, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 246), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 247
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.', 247, $this->source); })()), "stock_find", [], "any", false, false, false, 247)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
\t";
// line 253
echo "\t<script>
\t\t\$(function() {
\t\t\t\$('#product_review_area').appendTo(\$('.ec-layoutRole__main, .ec-layoutRole__mainWithColumn, .ec-layoutRole__mainBetweenColumn'));
\t\t\t\$('#product_review_area .ec-rectHeading').on('click', function() {
\t\t\t\t\$content = \$('#reviewContent');
\t\t\t\tif (\$content.css('display') == 'none') {
\t\t\t\t\t\$(this).addClass('is_active');
\t\t\t\t\t\$content.addClass('is_active');
\t\t\t\t\t\$content.slideDown(300);
\t\t\t\t} else {
\t\t\t\t\t\$(this).removeClass('is_active');
\t\t\t\t\t\$content.removeClass('is_active');
\t\t\t\t\t\$content.slideUp(300);
\t\t\t\t}
\t\t\t\treturn false;
\t\t\t});
\t\t});
\t</script>\t
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 274
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 275
echo "\t<div
\t\tclass=\"sub-container\">
\t\t<!-- SUB H1 -->
\t\t<div
\t\t\tclass=\"sub-h1Wrap\">
\t\t\t<h1 class=\"sub-h1\">
\t\t\t\t";
// line 281
echo 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.', 281, $this->source); })()), "name", [], "any", false, false, false, 281), "html", null, true);
echo "
\t\t\t</h1>
\t\t</div>
\t\t<!-- /SUB H1 -->
\t\t<div
\t\t\tclass=\"l-container\">
\t\t\t<!-- パンくずリスト -->
\t\t\t";
// line 317
echo "\t\t\t
\t\t\t<!-- /パンくずリスト -->
\t\t\t<div
\t\t\t\tclass=\"l-2ColumnContainer\">
\t\t\t\t<!-- メインコンテンツ -->
\t\t\t\t<div
\t\t\t\t\tclass=\"l-main\">
\t\t\t\t\t<!-- PAGE CONTENTS -->
\t\t\t\t\t<div class=\"products productsSingle\">
\t\t\t\t\t\t<section>
\t\t\t\t\t\t\t<!-- 上部分(商品名、カートボタン など) -->
\t\t\t\t\t\t\t<div
\t\t\t\t\t\t\t\tclass=\"productsSingle-header\">
\t\t\t\t\t\t\t\t<!-- 写真部分 -->
\t\t\t\t\t\t\t\t<div class=\"header-imgBlock\">
\t\t\t\t\t\t\t\t\t<div class=\"header-img\">
\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-arrow isPrev\" style=\"display: none;\">
\t\t\t\t\t\t\t\t\t\t\t<p class=\"hdnTxt\">前の写真へ</p>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t<div class=\"imgInner\"></div>
\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-arrow isNext\" style=\"display: none;\">
\t\t\t\t\t\t\t\t\t\t\t<p class=\"hdnTxt\">次の写真へ</p>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t<div class=\"header-img-otherContainer\">
\t\t\t\t\t\t\t\t\t\t";
// line 346
$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.', 346, $this->source); })()), "ProductImage", [], "any", false, false, false, 346));
$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["ProductImage"]) {
// line 347
echo "\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-other\" data-index=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, false, 347), "html", null, true);
echo "\"><div class=\"imgInner\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\" alt=\"\" class=\"imgObjectFitContain\"></div></div>
\t\t\t\t\t\t\t\t\t\t";
$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 349
echo "\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-other\" data-index=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, false, 349), "html", null, true);
echo "\"><div class=\"imgInner\"><img src=\"";
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 "\" alt=\"\" class=\"imgObjectFitContain\"></div></div>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 350
echo "\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t<script>
\t\t\t\t\t\t\t\t\t\t// ページが読み込まれたときに実行される関数
\t\t\t\t\t\t\t\t\t\tdocument.addEventListener(\"DOMContentLoaded\", function() {
\t\t\t\t\t\t\t\t\t\t\t// .header-img-otherの要素を取得
\t\t\t\t\t\t\t\t\t\t\tvar headerImgOthers = document.querySelectorAll('.header-img-other');
\t\t\t\t\t\t\t\t\t\t\t// .isPrevと.isNextを表示する関数
\t\t\t\t\t\t\t\t\t\t\tfunction displayPrevNextArrows() {
\t\t\t\t\t\t\t\t\t\t\t\t// .isPrevと.isNextの要素を取得
\t\t\t\t\t\t\t\t\t\t\t\tvar prevArrow = document.querySelector('.header-img-arrow.isPrev');
\t\t\t\t\t\t\t\t\t\t\t\tvar nextArrow = document.querySelector('.header-img-arrow.isNext');
\t\t\t\t\t\t\t\t\t\t\t\t// .header-img-otherの要素が2つ以上あれば、.isPrevと.isNextを表示
\t\t\t\t\t\t\t\t\t\t\t\tif (headerImgOthers.length >= 2) {
\t\t\t\t\t\t\t\t\t\t\t\t\tif (prevArrow) {
\t\t\t\t\t\t\t\t\t\t\t\t\tprevArrow.style.display = 'block';
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t\tif (nextArrow) {
\t\t\t\t\t\t\t\t\t\t\t\t\tnextArrow.style.display = 'block';
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t// ページが読み込まれたときに実行
\t\t\t\t\t\t\t\t\t\t\tdisplayPrevNextArrows();
\t\t\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t\t\t</script>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<!-- /写真部分 -->
\t\t\t\t\t\t\t\t<!-- 文字部分 -->
\t\t\t\t\t\t\t\t<div class=\"header-textBlock\">
\t\t\t\t\t\t\t\t\t<div class=\"header-hlGroup\">
\t\t\t\t\t\t\t\t\t\t<h2 class=\"header-hl\">";
// line 386
echo 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.', 386, $this->source); })()), "name", [], "any", false, false, false, 386), "html", null, true);
echo "</h2>
\t\t\t\t\t\t\t\t\t\t<div class=\"header-colorGroup\">
\t\t\t\t\t\t\t\t\t\t\t";
// line 388
$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.', 388, $this->source); })()), "Tags", [], "any", false, false, false, 388));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 389
echo "\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"header-color is";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Tag"], "id", [], "any", false, false, false, 389), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["Tag"], "html", null, true);
echo "</span>\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 391
echo "\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t";
// line 395
echo "\t\t\t\t\t\t\t\t\t";
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.', 395, $this->source); })()), "hasProductClass", [], "any", false, false, false, 395)) {
// line 396
echo "<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t\t\t\t";
// line 397
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.', 397, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 397)) && (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.', 397, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 397) == 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.', 397, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 397)))) {
// line 398
echo "\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 398, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 398)), "html", null, true);
echo "円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 399
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 400
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 400, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 400)) && !(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.', 400, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 400)))) {
// line 401
echo "\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 401, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 401)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, twig_number_format_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.', 401, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 401)), "html", null, true);
echo "円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 402
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t";
}
// line 404
echo "\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t";
} else {
// line 406
echo "\t\t\t\t\t\t\t\t\t\t";
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.', 406, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 406))) {
// line 407
echo "\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 407, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 407)), "html", null, true);
echo "円</span>
\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 408
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t";
}
// line 410
echo "\t\t\t\t\t\t\t\t\t";
}
// line 411
echo "\t\t\t\t\t\t\t\t\t
";
// line 413
echo " <p class=\"header-price\" style=\"margin-top:5px;\">
<em class=\"isPrice\">
";
// line 415
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.', 415, $this->source); })()), "hasProductClass", [], "any", false, false, false, 415)) {
// line 416
if ((twig_number_format_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.', 416, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 416)) == twig_number_format_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.', 416, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 416)))) {
// line 417
echo " ";
echo twig_escape_filter($this->env, twig_number_format_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.', 417, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 417)), "html", null, true);
echo "
";
} else {
// line 419
echo " ";
echo twig_escape_filter($this->env, twig_number_format_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.', 419, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 419)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, twig_number_format_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.', 419, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 419)), "html", null, true);
echo "
";
}
// line 421
echo " ";
} else {
// line 422
echo " ";
echo twig_escape_filter($this->env, twig_number_format_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.', 422, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 422)), "html", null, true);
echo "
";
}
// line 424
echo " </em>円<small class=\"isSmall\">税込</small>
</p>
\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t";
// line 427
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.', 427, $this->source); })()), "description_detail", [], "any", false, false, false, 427))) {
// line 428
echo "\t\t\t\t\t\t\t\t\t\t<div class=\"header-productsInfo\">
\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"header-productsInfo-hl\">商品情報</h3>
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-productsInfo-text\">
\t\t\t\t\t\t\t\t\t\t\t\t";
// line 431
echo twig_nl2br(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.', 431, $this->source); })()), "description_detail", [], "any", false, false, false, 431));
echo "
\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t";
}
// line 435
echo "
\t\t\t\t\t\t\t\t\t<div class=\"header-orderContainer\">
\t\t\t\t\t\t\t\t\t\t<form action=\"";
// line 437
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.', 437, $this->source); })()), "id", [], "any", false, false, false, 437)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
\t\t\t\t\t\t\t\t\t\t\t";
// line 438
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.', 438, $this->source); })()), "stock_find", [], "any", false, false, false, 438)) {
// line 439
echo "\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"mod-table-form\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 441
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 441)) {
// line 442
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>";
// line 443
echo 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, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 443, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 443), "vars", [], "any", false, false, false, 443), "label", [], "any", false, false, false, 443), "html", null, true);
echo "</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 445
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 445, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 445), 'row', ["id" => "classcategory_id1", "attr" => ["class" => "mod-form-select"]]);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 446
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 446, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 446), 'errors', ["id" => "classcategory_id1", "attr" => ["class" => "mod-form-select"]]);
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 450
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_include($this->env, $context, "Product/option.twig", array(), true, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 457
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 457)) {
// line 458
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>";
// line 459
echo 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, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 459, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 459), "vars", [], "any", false, false, false, 459), "label", [], "any", false, false, false, 459), "html", null, true);
echo "</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 461
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 461, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 461), 'row', ["id" => "classcategory_id2", "attr" => ["class" => "mod-form-select"]]);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 462
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 462, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 462), 'errors', ["id" => "classcategory_id2", "attr" => ["class" => "mod-form-select"]]);
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 465
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>注文数</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 469
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 469, $this->source); })()), "quantity", [], "any", false, false, false, 469), 'widget', ["id" => "quantity", "attr" => ["class" => "mod-form-input-text"]]);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 470
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.', 470, $this->source); })()), "quantity", [], "any", false, false, false, 470), 'errors', ["id" => "quantity", "attr" => ["class" => "mod-form-input-text"]]);
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>
\t\t\t\t\t\t\t\t\t\t\t\t</table>
\t\t\t\t\t\t\t\t\t\t\t\t";
// line 477
echo "\t\t\t\t\t\t\t\t\t\t\t\t";
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.', 477, $this->source); })()), "hasProductClass", [], "any", false, false, false, 477)) {
// line 478
echo "<div class=\"ec-productRole__priceRegular\" style=\"text-align:left;\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 479
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.', 479, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 479)) && (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.', 479, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 479) == 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.', 479, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 479)))) {
// line 480
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 480, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 480)), "html", null, true);
echo "円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 481
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 482
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 482, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 482)) && !(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.', 482, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 482)))) {
// line 483
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 483, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 483)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, twig_number_format_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.', 483, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 483)), "html", null, true);
echo "円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 484
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 486
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 488
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
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.', 488, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 488))) {
// line 489
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\" style=\"text-decoration:line-through;\">";
echo twig_escape_filter($this->env, twig_number_format_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.', 489, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 489)), "html", null, true);
echo "円</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">";
// line 490
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 492
echo "\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 493
echo "\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t";
// line 495
echo "\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"header-price\" style=\"margin-top:5px; text-align:left;\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<em class=\"isPrice\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 497
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.', 497, $this->source); })()), "hasProductClass", [], "any", false, false, false, 497)) {
// line 498
if ((twig_number_format_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.', 498, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 498)) == twig_number_format_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.', 498, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 498)))) {
// line 499
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, twig_number_format_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.', 499, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 499)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 501
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, twig_number_format_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.', 501, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 501)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, twig_number_format_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.', 501, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 501)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 503
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 504
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, twig_number_format_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.', 504, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 504)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 506
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t</em>円<small class=\"isSmall\">税込</small>
\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isCart\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">カートに入れる</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" class=\"ec-blockBtn--action add-cart\" id=\"ConfirmSubmit\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 512
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-wrap\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 519
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>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"ec-modal-header\" class=\"text-center\">";
// line 520
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html", null, true);
echo "</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-box\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-role\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-inlineBtn--cancel\">";
// line 523
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"";
// line 524
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
echo "\" class=\"ec-inlineBtn--action\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html", null, true);
echo "</a>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 531
echo "\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isCart notHover\">
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">ただいま品切れ中です。</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 534
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-soldout-detail\">申し訳ございませんが、この商品は現在在庫切れです。</span>
\t\t\t\t\t\t\t\t\t\t\t\t<style>
\t\t\t\t\t\t\t\t\t\t\t\t\t.is-soldout-detail{
\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: inline-block;
\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: #f00;
\t\t\t\t\t\t\t\t\t\t\t\t\t\tmargin: 15px;
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t</style>
\t\t\t\t\t\t\t\t\t\t\t";
}
// line 546
echo "\t\t\t\t\t\t\t\t\t\t\t";
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 546, $this->source); })()), 'rest');
echo "
\t\t\t\t\t\t\t\t\t\t</form>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-order-btnContainer\">
\t\t\t\t\t\t\t\t\t\t\t\t";
// line 550
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.', 550, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 550)) {
// line 551
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t<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.', 551, $this->source); })()), "id", [], "any", false, false, false, 551)]), "html", null, true);
echo "\" method=\"post\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 552
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 552, $this->source); })()) == false)) {
// line 553
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isFavorite\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">お気に入りに追加</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 556
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 560
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isFavorite notHover\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">お気に入りに追加済です。</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled=\"disabled\">";
// line 563
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 567
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t</form>
\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 568
echo "\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t<a href=\"#productsSingle-guideline\" class=\"header-order-guideline\">出荷の目安を確認する</a>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<!-- /文字部分 -->
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t<!-- /上部分(商品名、カートボタン など) -->
\t\t\t\t\t\t\t<!-- 詳しい説明 -->
\t\t\t\t\t\t\t<div class=\"productsSingle-explanation\">
\t\t\t\t\t\t\t\t";
// line 581
$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.', 581, $this->source); })()), "ViewData", [0 => 1], "method", false, false, false, 581));
foreach ($context['_seq'] as $context["_key"] => $context["filename"]) {
// line 582
echo "\t\t\t\t\t\t\t\t\t<div class=\"img\">
\t\t\t\t\t\t\t\t\t\t<img src=\"";
// line 583
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["filename"], "save_image"), "html", null, true);
echo "\" width=\"1320\" height=\"338\" alt=\"\" class=\"imgFit\" loading=\"lazy\">
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['filename'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 586
echo "\t\t\t\t\t\t\t\t";
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.', 586, $this->source); })()), "freearea", [], "any", false, false, false, 586))) {
// line 587
echo "\t\t\t\t\t\t\t\t\t<p>";
echo twig_include($this->env, $context, twig_template_from_string($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.', 587, $this->source); })()), "freearea", [], "any", false, false, false, 587)));
echo "</p>
\t\t\t\t\t\t\t\t";
}
// line 588
echo "\t
\t\t\t\t\t\t\t</div>\t\t\t\t\t
\t\t\t\t\t\t\t<!-- /詳しい説明 -->
\t\t\t\t\t\t\t<!-- 出荷の目安 -->
\t\t\t\t\t\t\t<section class=\"productsSingle-guideline\" id=\"productsSingle-guideline\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02 productsSingle-guideline-hl\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">出荷の目安</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t<p class=\"productsSingle-guideline-schedule\">
\t\t\t\t\t\t\t\t\t<span class=\"schedule-up\">
\t\t\t\t\t\t\t\t\t\t<em class=\"schedule-up-em\">
\t\t\t\t\t\t\t\t\t\t\t<time class=\"schedule-up-time\" datetime=\"\"></time> 16:00
\t\t\t\t\t\t\t\t\t\t</em><br>
\t\t\t\t\t\t\t\t\t\t迄のご注文は
\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t<span class=\"schedule-under\">
\t\t\t\t\t\t\t\t\t\t<em class=\"schedule-under-em\">
\t\t\t\t\t\t\t\t\t\t\t<time class=\"schedule-under-time\" datetime=\"\"></time>
\t\t\t\t\t\t\t\t\t\t</em><br>
\t\t\t\t\t\t\t\t\t\t出荷予定
\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t</p>\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<small class=\"defaultTxt productsSingle-guideline-text\">※あくまでも目安です。商品やご注文内容・ご注文時期によって更に日数がかかる場合があります。<br>運送会社の配送状況により延着の場合がございます。ご了承ください。</small>
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t<!-- /出荷の目安 -->
\t\t\t\t\t\t\t<!-- お客様の声 -->
\t\t\t\t\t\t\t<section class=\"productsSingle-voice\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02 productsSingle-voice-hl\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">お客様の声</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t";
// line 623
$macros["stars"] = $this;
// line 624
echo "\t\t\t\t\t\t\t\t";
// line 625
echo "\t\t\t\t\t\t\t\t";
// line 630
echo "\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<div id=\"product_review_area\">
\t\t\t\t\t\t\t\t\t<div class=\"ec-role\">
\t\t\t\t\t\t\t\t\t\t";
// line 633
$context["positive_avg_star"] = (isset($context["ProductReviewAvg"]) || array_key_exists("ProductReviewAvg", $context) ? $context["ProductReviewAvg"] : (function () { throw new RuntimeError('Variable "ProductReviewAvg" does not exist.', 633, $this->source); })());
// line 634
echo "\t\t\t\t\t\t\t\t\t\t";
$context["negative_avg_star"] = (5 - (isset($context["positive_avg_star"]) || array_key_exists("positive_avg_star", $context) ? $context["positive_avg_star"] : (function () { throw new RuntimeError('Variable "positive_avg_star" does not exist.', 634, $this->source); })()));
// line 635
echo "
\t\t\t\t\t\t\t\t\t\t<div id=\"reviewContent\">
\t\t\t\t\t\t\t\t\t\t\t";
// line 637
if ((isset($context["ProductReviews"]) || array_key_exists("ProductReviews", $context) ? $context["ProductReviews"] : (function () { throw new RuntimeError('Variable "ProductReviews" does not exist.', 637, $this->source); })())) {
// line 638
echo "\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"productsSingle-voiceContainer\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-voiceInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 641
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["ProductReviews"]) || array_key_exists("ProductReviews", $context) ? $context["ProductReviews"] : (function () { throw new RuntimeError('Variable "ProductReviews" does not exist.', 641, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["ProductReview"]) {
// line 642
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBoxInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox-textBlock\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4 class=\"voiceBox-productsName\">";
// line 645
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductReview"], "Product", [], "any", false, false, false, 645), "name", [], "any", false, false, false, 645), "html", null, true);
echo "<br>";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["ProductReview"], "title", [], "any", false, false, false, 645), "html", null, true);
echo "</h4>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox-nameBlock marginTop10\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"voiceBox-name\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 648
if (twig_get_attribute($this->env, $this->source, $context["ProductReview"], "reviewer_url", [], "any", false, false, false, 648)) {
// line 649
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["ProductReview"], "reviewer_url", [], "any", false, false, false, 649), "html", null, true);
echo "\" rel=\"ugc nofollow\"
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\">";
// line 650
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_review.front.product_detail.name", ["%name%" => twig_get_attribute($this->env, $this->source, $context["ProductReview"], "reviewer_name", [], "any", false, false, false, 650)]), "html", null, true);
echo "</a>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 652
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_review.front.product_detail.name", ["%name%" => twig_get_attribute($this->env, $this->source, $context["ProductReview"], "reviewer_name", [], "any", false, false, false, 652)]), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 653
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 657
$context["positive_star"] = twig_get_attribute($this->env, $this->source, $context["ProductReview"], "recommend_level", [], "any", false, false, false, 657);
// line 658
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
$context["negative_star"] = (5 - (isset($context["positive_star"]) || array_key_exists("positive_star", $context) ? $context["positive_star"] : (function () { throw new RuntimeError('Variable "positive_star" does not exist.', 658, $this->source); })()));
// line 659
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"recommend_level\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 660
echo twig_call_macro($macros["stars"], "macro_stars", [(isset($context["positive_star"]) || array_key_exists("positive_star", $context) ? $context["positive_star"] : (function () { throw new RuntimeError('Variable "positive_star" does not exist.', 660, $this->source); })()), (isset($context["negative_star"]) || array_key_exists("negative_star", $context) ? $context["negative_star"] : (function () { throw new RuntimeError('Variable "negative_star" does not exist.', 660, $this->source); })())], 660, $context, $this->getSourceContext());
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"voiceBox-text\">";
// line 664
echo twig_nl2br(twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["ProductReview"], "comment", [], "any", false, false, false, 664), "html", null, true));
echo "</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductReview'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 669
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 672
echo "\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"textCenter marginTop30\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_review.front.product_detail.no_review"), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t\t\t\t";
}
// line 674
echo "\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t<div>
\t\t\t\t\t\t\t\t\t\t\t<a href=\"";
// line 676
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_review_index", ["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.', 676, $this->source); })()), "id", [], "any", false, false, false, 676)]), "html", null, true);
echo "\"
\t\t\t\t\t\t\t\t\t\t\tclass=\"mod-shopping-btn isReview\">
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">";
// line 678
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("product_review.front.product_detail.post_review"), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t<!-- /お客様の声 -->
\t\t\t\t\t\t\t<!-- 関連商品 -->
\t\t\t\t\t\t\t";
// line 688
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.', 688, $this->source); })()), "RelatedProducts", [], "any", false, false, false, 688))) {
// line 689
echo "\t\t\t\t\t\t\t<section class=\"products-subSection\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">関連商品</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t<div class=\"mod-products-list\">
\t\t\t\t\t\t\t\t\t";
// line 694
$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.', 694, $this->source); })()), "RelatedProducts", [], "any", false, false, false, 694));
$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["RelatedProduct"]) {
// line 695
echo "\t\t\t\t\t\t\t\t\t\t";
$context["ChildProduct"] = twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 695);
// line 696
echo "\t\t\t\t\t\t\t\t\t\t";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["ChildProduct"]) || array_key_exists("ChildProduct", $context) ? $context["ChildProduct"] : (function () { throw new RuntimeError('Variable "ChildProduct" does not exist.', 696, $this->source); })()), "Status", [], "any", false, false, false, 696), "id", [], "any", false, false, false, 696) == twig_constant("Eccube\\Entity\\Master\\ProductStatus::DISPLAY_SHOW"))) {
// line 697
echo "\t\t\t\t\t\t\t\t\t\t\t<article class=\"productsBox\">
\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"";
// line 698
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["ChildProduct"]) || array_key_exists("ChildProduct", $context) ? $context["ChildProduct"] : (function () { throw new RuntimeError('Variable "ChildProduct" does not exist.', 698, $this->source); })()), "id", [], "any", false, false, false, 698)]), "html", null, true);
echo "\" class=\"productsBoxInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"productsBox-img\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"imgInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"";
// line 701
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 701), "main_list_image", [], "any", false, false, false, 701)), "save_image"), "html", null, true);
echo "\" alt=\"\" ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 701) > 5)) {
echo " loading=\"lazy\" ";
}
echo " class=\"imgObjectFitCover\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"productsBox-hl\">";
// line 704
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 704), "name", [], "any", false, false, false, 704), "html", null, true);
echo "</h3>
\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 705
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.', 705, $this->source); })()), "description_list", [], "any", false, false, false, 705)) {
// line 706
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>";
echo twig_nl2br(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.', 706, $this->source); })()), "description_list", [], "any", false, false, false, 706));
echo "</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 708
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"productsBox-text\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 709
if (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 709), "hasProductClass", [], "any", false, false, false, 709)) {
// line 710
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 710), "getPrice02Min", [], "any", false, false, false, 710) == twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 710), "getPrice02Max", [], "any", false, false, false, 710))) {
// line 711
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 711), "getPrice02IncTaxMin", [], "any", false, false, false, 711)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 713
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 713), "getPrice02IncTaxMin", [], "any", false, false, false, 713)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 713), "getPrice02IncTaxMax", [], "any", false, false, false, 713)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 715
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
} else {
// line 716
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "ChildProduct", [], "any", false, false, false, 716), "getPrice02IncTaxMin", [], "any", false, false, false, 716)), "html", null, true);
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 717
echo "\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t円<small class=\"isSmall\">税込</small>
\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"productsBox-text\">";
// line 720
echo twig_get_attribute($this->env, $this->source, $context["RelatedProduct"], "content", [], "any", false, false, false, 720);
echo "</p>
\t\t\t\t\t\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t\t\t\t\t\t</article>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t";
}
// line 724
echo "\t\t\t\t\t\t\t\t\t";
++$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['RelatedProduct'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 725
echo "\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t";
}
// line 727
echo "\t\t\t\t\t\t\t
\t\t\t\t\t\t\t<!-- /関連商品 -->
\t\t\t\t\t\t\t<!-- 最近チェックした商品 -->
\t\t\t\t\t\t\t";
// line 732
echo twig_include($this->env, $context, "Block/items_checked.twig", array(), true, true);
echo "
\t\t\t\t\t\t\t<!-- /最近チェックした商品 -->\t\t
\t\t\t\t\t\t</section>
\t\t\t\t\t</div>
\t\t\t\t\t<!-- /PAGE CONTENTS -->
\t\t\t\t</div>
\t\t\t\t<!-- /メインコンテンツ -->
\t\t\t\t<!-- サイドメニュー -->
\t\t\t\t";
// line 743
echo twig_include($this->env, $context, "Block/l_sub.twig", array(), true, true);
echo "
\t\t\t\t<!-- /サイドメニュー -->
\t\t\t</div>
\t\t</div>
\t</div>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 625
public function macro_stars($__positive__ = null, $__negative__ = null, ...$__varargs__)
{
$macros = $this->macros;
$context = $this->env->mergeGlobals([
"positive" => $__positive__,
"negative" => $__negative__,
"varargs" => $__varargs__,
]);
$blocks = [];
ob_start();
try {
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "stars"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "stars"));
// line 626
echo "\t\t\t\t\t\t\t\t\t";
$context["positive_stars"] = [0 => "", 1 => "★", 2 => "★★", 3 => "★★★", 4 => "★★★★", 5 => "★★★★★"];
// line 627
echo "\t\t\t\t\t\t\t\t\t";
$context["negative_stars"] = [0 => "", 1 => "☆", 2 => "☆☆", 3 => "☆☆☆", 4 => "☆☆☆☆", 5 => "☆☆☆☆☆"];
// line 628
echo "\t\t\t\t\t\t\t\t\t";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["positive_stars"]) || array_key_exists("positive_stars", $context) ? $context["positive_stars"] : (function () { throw new RuntimeError('Variable "positive_stars" does not exist.', 628, $this->source); })()), (isset($context["positive"]) || array_key_exists("positive", $context) ? $context["positive"] : (function () { throw new RuntimeError('Variable "positive" does not exist.', 628, $this->source); })()), [], "array", false, false, false, 628), "html", null, true);
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["negative_stars"]) || array_key_exists("negative_stars", $context) ? $context["negative_stars"] : (function () { throw new RuntimeError('Variable "negative_stars" does not exist.', 628, $this->source); })()), (isset($context["negative"]) || array_key_exists("negative", $context) ? $context["negative"] : (function () { throw new RuntimeError('Variable "negative" does not exist.', 628, $this->source); })()), [], "array", false, false, false, 628), "html", null, true);
echo "
\t\t\t\t\t\t\t\t";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
return ('' === $tmp = ob_get_contents()) ? '' : new Markup($tmp, $this->env->getCharset());
} finally {
ob_end_clean();
}
}
public function getTemplateName()
{
return "Product/detail.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1414 => 628, 1411 => 627, 1408 => 626, 1388 => 625, 1372 => 743, 1358 => 732, 1351 => 727, 1346 => 725, 1332 => 724, 1325 => 720, 1320 => 717, 1314 => 716, 1311 => 715, 1303 => 713, 1297 => 711, 1294 => 710, 1292 => 709, 1289 => 708, 1283 => 706, 1281 => 705, 1277 => 704, 1267 => 701, 1261 => 698, 1258 => 697, 1255 => 696, 1252 => 695, 1235 => 694, 1228 => 689, 1226 => 688, 1213 => 678, 1208 => 676, 1204 => 674, 1198 => 672, 1193 => 669, 1182 => 664, 1175 => 660, 1172 => 659, 1169 => 658, 1167 => 657, 1161 => 653, 1155 => 652, 1150 => 650, 1145 => 649, 1143 => 648, 1135 => 645, 1130 => 642, 1126 => 641, 1121 => 638, 1119 => 637, 1115 => 635, 1112 => 634, 1110 => 633, 1105 => 630, 1103 => 625, 1101 => 624, 1099 => 623, 1062 => 588, 1056 => 587, 1053 => 586, 1044 => 583, 1041 => 582, 1037 => 581, 1022 => 568, 1018 => 567, 1011 => 563, 1006 => 560, 999 => 556, 994 => 553, 992 => 552, 987 => 551, 985 => 550, 977 => 546, 962 => 534, 957 => 531, 945 => 524, 941 => 523, 935 => 520, 931 => 519, 921 => 512, 913 => 506, 907 => 504, 904 => 503, 896 => 501, 890 => 499, 888 => 498, 886 => 497, 882 => 495, 879 => 493, 876 => 492, 871 => 490, 866 => 489, 863 => 488, 859 => 486, 854 => 484, 847 => 483, 845 => 482, 841 => 481, 836 => 480, 834 => 479, 831 => 478, 828 => 477, 819 => 470, 815 => 469, 809 => 465, 802 => 462, 798 => 461, 793 => 459, 790 => 458, 787 => 457, 782 => 450, 775 => 446, 771 => 445, 766 => 443, 763 => 442, 761 => 441, 757 => 439, 755 => 438, 751 => 437, 747 => 435, 740 => 431, 735 => 428, 733 => 427, 728 => 424, 722 => 422, 719 => 421, 711 => 419, 705 => 417, 703 => 416, 701 => 415, 697 => 413, 694 => 411, 691 => 410, 686 => 408, 681 => 407, 678 => 406, 674 => 404, 669 => 402, 662 => 401, 660 => 400, 656 => 399, 651 => 398, 649 => 397, 646 => 396, 643 => 395, 638 => 391, 627 => 389, 623 => 388, 618 => 386, 580 => 350, 569 => 349, 551 => 347, 533 => 346, 502 => 317, 492 => 281, 484 => 275, 474 => 274, 445 => 253, 437 => 247, 433 => 246, 429 => 245, 425 => 244, 421 => 242, 415 => 240, 413 => 239, 408 => 238, 405 => 237, 395 => 235, 381 => 233, 373 => 232, 355 => 231, 350 => 229, 327 => 209, 317 => 202, 287 => 175, 282 => 172, 273 => 166, 269 => 164, 267 => 163, 264 => 162, 254 => 155, 250 => 153, 248 => 152, 243 => 149, 180 => 87, 176 => 84, 168 => 82, 166 => 81, 161 => 79, 158 => 78, 156 => 77, 142 => 66, 139 => 65, 137 => 64, 127 => 63, 73 => 16, 63 => 15, 52 => 11, 50 => 13, 37 => 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 %}
\t<style>
\t\t.sub-breadcrumbsWrap {
\t\t\tmargin-top: 20px;
\t\t}
\t\t.sub-breadcrumbs:not(first-child) {
\t\t\tmargin-top: 10px;
\t\t}
\t\t.form-label {
\t\t\tdisplay: none;
\t\t}
\t\t.mb-3 {
\t\t\tmargin-bottom: 0;
\t\t}
\t\t.notHover:hover>* {
\t\t\tcursor: not-allowed !important;
\t\t}
\t\t.notHover {
\t\t\topacity: 0.5;
\t\t}\t
\t\t.notHover:hover {
\t\t\topacity: 0.5;
\t\t}
\t\t#product_review_area .recommend_level {
\t\t\tcolor: #B79242;
\t\t}
\t\tbutton:disabled{
\t\t\topacity: 0.5;
\t\t}
\t\t.mod-form-input-text, .mod-form-input-textArea {
\t\t\twidth: 100% !important;
\t\t\tmax-width: none !important;
\t\t\ttext-align: left !important;
\t\t\tborder: 1px solid #7c7c7c !important;
\t\t\tborder-radius: 0px !important;
\t\t\tmargin: 6px 0 !important;
\t\t}\t\t
\t\t.mod-form-description {
\t\t\tfont-size: 14px;
\t\t}
\t\t.option-img {
\t\t\twidth: 100%;
\t\t\tmax-width: 400px;
\t\t}
\t</style>
{% endblock %}
{% block javascript %}
\t{# 選択肢関係 #}
<script>
eccube.classCategories = {{ 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>
\t{# テンプレの画像関係 #}
<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);
})
});
</script>
\t{# カート関係 #}
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ '項目を選択してください'|trans }}');
\t\t\t\t\t
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('{{ '項目を選択してください'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if (\$('#quantity').val() <= 0) {
\$('#quantity')[0].setCustomValidity('{{ '1以上の数字を入力してください。'|trans }}');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}\t\t\t\t
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('{{ 'カートへの追加に失敗しました。'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.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>
\t{# レビュー表示 #}
\t<script>
\t\t\$(function() {
\t\t\t\$('#product_review_area').appendTo(\$('.ec-layoutRole__main, .ec-layoutRole__mainWithColumn, .ec-layoutRole__mainBetweenColumn'));
\t\t\t\$('#product_review_area .ec-rectHeading').on('click', function() {
\t\t\t\t\$content = \$('#reviewContent');
\t\t\t\tif (\$content.css('display') == 'none') {
\t\t\t\t\t\$(this).addClass('is_active');
\t\t\t\t\t\$content.addClass('is_active');
\t\t\t\t\t\$content.slideDown(300);
\t\t\t\t} else {
\t\t\t\t\t\$(this).removeClass('is_active');
\t\t\t\t\t\$content.removeClass('is_active');
\t\t\t\t\t\$content.slideUp(300);
\t\t\t\t}
\t\t\t\treturn false;
\t\t\t});
\t\t});
\t</script>\t
{% endblock %}
{% block main %}
\t<div
\t\tclass=\"sub-container\">
\t\t<!-- SUB H1 -->
\t\t<div
\t\t\tclass=\"sub-h1Wrap\">
\t\t\t<h1 class=\"sub-h1\">
\t\t\t\t{{ Product.name }}
\t\t\t</h1>
\t\t</div>
\t\t<!-- /SUB H1 -->
\t\t<div
\t\t\tclass=\"l-container\">
\t\t\t<!-- パンくずリスト -->
\t\t\t{# <div class=\"sub-breadcrumbsWrap\">\t\t\t\t
\t\t\t\t{% if Product.ProductCategories is not empty %}
\t\t\t\t\t{% for ProductCategory in Product.ProductCategories %}
\t\t\t\t\t\t<ol class=\"sub-breadcrumbs\">
\t\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t\t<a href=\"{{ url('homepage') }}\">HOME</a>
\t\t\t\t\t\t\t</li>\t\t\t\t\t
\t\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t\t<a href=\"{{ url('product_list') }}\">全商品</a>
\t\t\t\t\t\t\t</li>\t\t\t\t\t
\t\t\t\t\t\t\t{% for Category in ProductCategory.Category.path %}
\t\t\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t\t\t<a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a>
\t\t\t\t\t\t\t\t</li>
\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t<li>{{ Product.name }}</li>\t
\t\t\t\t\t\t</ol>
\t\t\t\t\t{% endfor %}
\t\t\t\t{% else %}
\t\t\t\t\t<ol class=\"sub-breadcrumbs\">
\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t<a href=\"{{ url('homepage') }}\">HOME</a>
\t\t\t\t\t\t</li>\t\t\t\t\t
\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t<a href=\"{{ url('product_list') }}\">全商品</a>
\t\t\t\t\t\t</li>\t\t
\t\t\t\t\t\t<li>{{ Product.name }}</li>\t\t
\t\t\t\t\t</ol>
\t\t\t\t{% endif %}\t\t
\t\t\t</div>\t#}\t\t\t
\t\t\t<!-- /パンくずリスト -->
\t\t\t<div
\t\t\t\tclass=\"l-2ColumnContainer\">
\t\t\t\t<!-- メインコンテンツ -->
\t\t\t\t<div
\t\t\t\t\tclass=\"l-main\">
\t\t\t\t\t<!-- PAGE CONTENTS -->
\t\t\t\t\t<div class=\"products productsSingle\">
\t\t\t\t\t\t<section>
\t\t\t\t\t\t\t<!-- 上部分(商品名、カートボタン など) -->
\t\t\t\t\t\t\t<div
\t\t\t\t\t\t\t\tclass=\"productsSingle-header\">
\t\t\t\t\t\t\t\t<!-- 写真部分 -->
\t\t\t\t\t\t\t\t<div class=\"header-imgBlock\">
\t\t\t\t\t\t\t\t\t<div class=\"header-img\">
\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-arrow isPrev\" style=\"display: none;\">
\t\t\t\t\t\t\t\t\t\t\t<p class=\"hdnTxt\">前の写真へ</p>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t<div class=\"imgInner\"></div>
\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-arrow isNext\" style=\"display: none;\">
\t\t\t\t\t\t\t\t\t\t\t<p class=\"hdnTxt\">次の写真へ</p>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t<div class=\"header-img-otherContainer\">
\t\t\t\t\t\t\t\t\t\t{% for ProductImage in Product.ProductImage %}
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-other\" data-index=\"{{ loop.index0 }}\"><div class=\"imgInner\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" class=\"imgObjectFitContain\"></div></div>
\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-img-other\" data-index=\"{{ loop.index0 }}\"><div class=\"imgInner\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"\" class=\"imgObjectFitContain\"></div></div>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t{% endfor %}\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t<script>
\t\t\t\t\t\t\t\t\t\t// ページが読み込まれたときに実行される関数
\t\t\t\t\t\t\t\t\t\tdocument.addEventListener(\"DOMContentLoaded\", function() {
\t\t\t\t\t\t\t\t\t\t\t// .header-img-otherの要素を取得
\t\t\t\t\t\t\t\t\t\t\tvar headerImgOthers = document.querySelectorAll('.header-img-other');
\t\t\t\t\t\t\t\t\t\t\t// .isPrevと.isNextを表示する関数
\t\t\t\t\t\t\t\t\t\t\tfunction displayPrevNextArrows() {
\t\t\t\t\t\t\t\t\t\t\t\t// .isPrevと.isNextの要素を取得
\t\t\t\t\t\t\t\t\t\t\t\tvar prevArrow = document.querySelector('.header-img-arrow.isPrev');
\t\t\t\t\t\t\t\t\t\t\t\tvar nextArrow = document.querySelector('.header-img-arrow.isNext');
\t\t\t\t\t\t\t\t\t\t\t\t// .header-img-otherの要素が2つ以上あれば、.isPrevと.isNextを表示
\t\t\t\t\t\t\t\t\t\t\t\tif (headerImgOthers.length >= 2) {
\t\t\t\t\t\t\t\t\t\t\t\t\tif (prevArrow) {
\t\t\t\t\t\t\t\t\t\t\t\t\tprevArrow.style.display = 'block';
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t\tif (nextArrow) {
\t\t\t\t\t\t\t\t\t\t\t\t\tnextArrow.style.display = 'block';
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t// ページが読み込まれたときに実行
\t\t\t\t\t\t\t\t\t\t\tdisplayPrevNextArrows();
\t\t\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t\t\t</script>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<!-- /写真部分 -->
\t\t\t\t\t\t\t\t<!-- 文字部分 -->
\t\t\t\t\t\t\t\t<div class=\"header-textBlock\">
\t\t\t\t\t\t\t\t\t<div class=\"header-hlGroup\">
\t\t\t\t\t\t\t\t\t\t<h2 class=\"header-hl\">{{ Product.name }}</h2>
\t\t\t\t\t\t\t\t\t\t<div class=\"header-colorGroup\">
\t\t\t\t\t\t\t\t\t\t\t{% for Tag in Product.Tags %}
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"header-color is{{ Tag.id }}\">{{ Tag }}</span>\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t{# 通常価格 #}
\t\t\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t\t\t\t{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}~ {{ Product.getPrice01IncTaxMax|number_format }}円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t{% if Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}円</span>
\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t
{# 販売価格 #}
<p class=\"header-price\" style=\"margin-top:5px;\">
<em class=\"isPrice\">
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin|number_format == Product.getPrice02IncTaxMax|number_format %}
{{ Product.getPrice02IncTaxMin|number_format }}
{% else %}
{{ Product.getPrice02IncTaxMin|number_format }} ~ {{ Product.getPrice02IncTaxMax|number_format }}
{% endif %}
{% else %}
{{ Product.getPrice02IncTaxMin|number_format }}
{% endif %}
</em>円<small class=\"isSmall\">税込</small>
</p>
\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t{% if Product.description_detail is not null %}
\t\t\t\t\t\t\t\t\t\t<div class=\"header-productsInfo\">
\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"header-productsInfo-hl\">商品情報</h3>
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-productsInfo-text\">
\t\t\t\t\t\t\t\t\t\t\t\t{{ Product.description_detail|raw|nl2br }}
\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t<div class=\"header-orderContainer\">
\t\t\t\t\t\t\t\t\t\t<form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
\t\t\t\t\t\t\t\t\t\t\t{% if Product.stock_find %}
\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"mod-table-form\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if form.classcategory_id1 is defined %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>{{ form.classcategory_id1.vars.label }}</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_row(form.classcategory_id1,{'id': 'classcategory_id1', 'attr': {'class': 'mod-form-select'}}) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.classcategory_id1,{'id': 'classcategory_id1', 'attr': {'class': 'mod-form-select'}}) }}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ include('Product/option.twig', ignore_missing=true) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{# <tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>彫刻内容</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"mod-form-input-text\" id=\"TyokokuNaiyo\" placeholder=\"彫刻内容をご記入ください\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr> #}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if form.classcategory_id2 is defined %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>{{ form.classcategory_id2.vars.label }}</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_row(form.classcategory_id2,{'id': 'classcategory_id2', 'attr': {'class': 'mod-form-select'}}) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.classcategory_id2,{'id': 'classcategory_id2', 'attr': {'class': 'mod-form-select'}}) }}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<th>注文数</th>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_widget(form.quantity, {'id': 'quantity', 'attr': {'class': 'mod-form-input-text'}}) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.quantity, {'id': 'quantity', 'attr': {'class': 'mod-form-input-text'}}) }}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</td>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>
\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>
\t\t\t\t\t\t\t\t\t\t\t\t</table>
\t\t\t\t\t\t\t\t\t\t\t\t{# 通常価格 #}
\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__priceRegular\" style=\"text-align:left;\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\"><span class=\"price01-default\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}~ {{ Product.getPrice01IncTaxMax|number_format }}円</span></span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\" style=\"text-decoration:line-through;\">{{ Product.getPrice01IncTaxMin|number_format }}円</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\" style=\"text-decoration:line-through;\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t{# 販売価格 #}
\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"header-price\" style=\"margin-top:5px; text-align:left;\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<em class=\"isPrice\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.getPrice02IncTaxMin|number_format == Product.getPrice02IncTaxMax|number_format %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ Product.getPrice02IncTaxMin|number_format }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ Product.getPrice02IncTaxMin|number_format }} ~ {{ Product.getPrice02IncTaxMax|number_format }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ Product.getPrice02IncTaxMin|number_format }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t</em>円<small class=\"isSmall\">税込</small>
\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isCart\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">カートに入れる</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" class=\"ec-blockBtn--action add-cart\" id=\"ConfirmSubmit\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ 'カートに入れる'|trans }}
\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-wrap\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-box\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-role\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isCart notHover\">
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">ただいま品切れ中です。</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ 'ただいま品切れ中です。'|trans }}
\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-soldout-detail\">申し訳ございませんが、この商品は現在在庫切れです。</span>
\t\t\t\t\t\t\t\t\t\t\t\t<style>
\t\t\t\t\t\t\t\t\t\t\t\t\t.is-soldout-detail{
\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: inline-block;
\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: #f00;
\t\t\t\t\t\t\t\t\t\t\t\t\t\tmargin: 15px;
\t\t\t\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t\t\t\t</style>
\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t{{ form_rest(form) }}
\t\t\t\t\t\t\t\t\t\t</form>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t<div class=\"header-order-btnContainer\">
\t\t\t\t\t\t\t\t\t\t\t\t{% if BaseInfo.option_favorite_product %}
\t\t\t\t\t\t\t\t\t\t\t\t\t<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if is_favorite == false %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isFavorite\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">お気に入りに追加</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ 'お気に入りに追加'|trans }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-shopping-btn isFavorite notHover\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">お気に入りに追加済です。</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t</form>
\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t<a href=\"#productsSingle-guideline\" class=\"header-order-guideline\">出荷の目安を確認する</a>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<!-- /文字部分 -->
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t<!-- /上部分(商品名、カートボタン など) -->
\t\t\t\t\t\t\t<!-- 詳しい説明 -->
\t\t\t\t\t\t\t<div class=\"productsSingle-explanation\">
\t\t\t\t\t\t\t\t{% for filename in Product.ViewData(1) %}
\t\t\t\t\t\t\t\t\t<div class=\"img\">
\t\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(filename, 'save_image') }}\" width=\"1320\" height=\"338\" alt=\"\" class=\"imgFit\" loading=\"lazy\">
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t\t{% if Product.freearea is not null %}
\t\t\t\t\t\t\t\t\t<p>{{ include(template_from_string(Product.freearea)) }}</p>
\t\t\t\t\t\t\t\t{% endif %}\t
\t\t\t\t\t\t\t</div>\t\t\t\t\t
\t\t\t\t\t\t\t<!-- /詳しい説明 -->
\t\t\t\t\t\t\t<!-- 出荷の目安 -->
\t\t\t\t\t\t\t<section class=\"productsSingle-guideline\" id=\"productsSingle-guideline\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02 productsSingle-guideline-hl\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">出荷の目安</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t<p class=\"productsSingle-guideline-schedule\">
\t\t\t\t\t\t\t\t\t<span class=\"schedule-up\">
\t\t\t\t\t\t\t\t\t\t<em class=\"schedule-up-em\">
\t\t\t\t\t\t\t\t\t\t\t<time class=\"schedule-up-time\" datetime=\"\"></time> 16:00
\t\t\t\t\t\t\t\t\t\t</em><br>
\t\t\t\t\t\t\t\t\t\t迄のご注文は
\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t<span class=\"schedule-under\">
\t\t\t\t\t\t\t\t\t\t<em class=\"schedule-under-em\">
\t\t\t\t\t\t\t\t\t\t\t<time class=\"schedule-under-time\" datetime=\"\"></time>
\t\t\t\t\t\t\t\t\t\t</em><br>
\t\t\t\t\t\t\t\t\t\t出荷予定
\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t</p>\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<small class=\"defaultTxt productsSingle-guideline-text\">※あくまでも目安です。商品やご注文内容・ご注文時期によって更に日数がかかる場合があります。<br>運送会社の配送状況により延着の場合がございます。ご了承ください。</small>
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t<!-- /出荷の目安 -->
\t\t\t\t\t\t\t<!-- お客様の声 -->
\t\t\t\t\t\t\t<section class=\"productsSingle-voice\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02 productsSingle-voice-hl\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">お客様の声</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t{% import _self as stars %}
\t\t\t\t\t\t\t\t{# 星テキスト生成用マクロ #}
\t\t\t\t\t\t\t\t{% macro stars(positive, negative) %}
\t\t\t\t\t\t\t\t\t{% set positive_stars = [\"\", \"★\", \"★★\", \"★★★\", \"★★★★\", \"★★★★★\"] %}
\t\t\t\t\t\t\t\t\t{% set negative_stars = [\"\", \"☆\", \"☆☆\", \"☆☆☆\", \"☆☆☆☆\", \"☆☆☆☆☆\"] %}
\t\t\t\t\t\t\t\t\t{{ positive_stars[positive] }}{{ negative_stars[negative] }}
\t\t\t\t\t\t\t\t{% endmacro %}
\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<div id=\"product_review_area\">
\t\t\t\t\t\t\t\t\t<div class=\"ec-role\">
\t\t\t\t\t\t\t\t\t\t{% set positive_avg_star = ProductReviewAvg %}
\t\t\t\t\t\t\t\t\t\t{% set negative_avg_star = 5 - positive_avg_star %}
\t\t\t\t\t\t\t\t\t\t<div id=\"reviewContent\">
\t\t\t\t\t\t\t\t\t\t\t{% if ProductReviews %}
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"productsSingle-voiceContainer\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"mod-voiceInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for ProductReview in ProductReviews %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBoxInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox-textBlock\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4 class=\"voiceBox-productsName\">{{ ProductReview.Product.name }}<br>{{ ProductReview.title }}</h4>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"voiceBox-nameBlock marginTop10\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"voiceBox-name\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if ProductReview.reviewer_url %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"{{ ProductReview.reviewer_url }}\" rel=\"ugc nofollow\"
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\">{{ 'product_review.front.product_detail.name'|trans({ '%name%': ProductReview.reviewer_name }) }}</a>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ 'product_review.front.product_detail.name'|trans({ '%name%': ProductReview.reviewer_name }) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set positive_star = ProductReview.recommend_level %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set negative_star = 5 - positive_star %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"recommend_level\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ stars.stars(positive_star, negative_star) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"voiceBox-text\">{{ ProductReview.comment|nl2br }}</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"textCenter marginTop30\">{{ 'product_review.front.product_detail.no_review'|trans }}</p>
\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t\t<div>
\t\t\t\t\t\t\t\t\t\t\t<a href=\"{{ url('product_review_index', { id: Product.id }) }}\"
\t\t\t\t\t\t\t\t\t\t\tclass=\"mod-shopping-btn isReview\">
\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btnInner\">{{ 'product_review.front.product_detail.post_review'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t<!-- /お客様の声 -->
\t\t\t\t\t\t\t<!-- 関連商品 -->
\t\t\t\t\t\t\t{% if Product.RelatedProducts is not empty %}
\t\t\t\t\t\t\t<section class=\"products-subSection\">
\t\t\t\t\t\t\t\t<h3 class=\"mod-hl-02\">
\t\t\t\t\t\t\t\t\t<span class=\"isJp\">関連商品</span>
\t\t\t\t\t\t\t\t</h3>
\t\t\t\t\t\t\t\t<div class=\"mod-products-list\">
\t\t\t\t\t\t\t\t\t{% for RelatedProduct in Product.RelatedProducts %}
\t\t\t\t\t\t\t\t\t\t{% set ChildProduct = RelatedProduct.ChildProduct %}
\t\t\t\t\t\t\t\t\t\t{% if ChildProduct.Status.id == constant(\"Eccube\\\\Entity\\\\Master\\\\ProductStatus::DISPLAY_SHOW\") %}
\t\t\t\t\t\t\t\t\t\t\t<article class=\"productsBox\">
\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"{{ url('product_detail', {id : ChildProduct.id}) }}\" class=\"productsBoxInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"productsBox-img\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"imgInner\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(RelatedProduct.ChildProduct.main_list_image|no_image_product, 'save_image') }}\" alt=\"\" {% if loop.index > 5 %} loading=\"lazy\" {% endif %} class=\"imgObjectFitCover\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"productsBox-hl\">{{ RelatedProduct.ChildProduct.name }}</h3>
\t\t\t\t\t\t\t\t\t\t\t\t\t{% if Product.description_list %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{{ Product.description_list|raw|nl2br }}</p>
\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"productsBox-text\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if RelatedProduct.ChildProduct.hasProductClass %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if RelatedProduct.ChildProduct.getPrice02Min == RelatedProduct.ChildProduct.getPrice02Max %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }} ~ {{ RelatedProduct.ChildProduct.getPrice02IncTaxMax|price }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t円<small class=\"isSmall\">税込</small>
\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"productsBox-text\">{{ RelatedProduct.content|raw }}</p>
\t\t\t\t\t\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t\t\t\t\t\t</article>\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t</section>
\t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t
\t\t\t\t\t\t\t<!-- /関連商品 -->
\t\t\t\t\t\t\t<!-- 最近チェックした商品 -->
\t\t\t\t\t\t\t{{ include('Block/items_checked.twig', ignore_missing = true) }}
\t\t\t\t\t\t\t<!-- /最近チェックした商品 -->\t\t
\t\t\t\t\t\t</section>
\t\t\t\t\t</div>
\t\t\t\t\t<!-- /PAGE CONTENTS -->
\t\t\t\t</div>
\t\t\t\t<!-- /メインコンテンツ -->
\t\t\t\t<!-- サイドメニュー -->
\t\t\t\t{{ include('Block/l_sub.twig', ignore_missing = true) }}
\t\t\t\t<!-- /サイドメニュー -->
\t\t\t</div>
\t\t</div>
\t</div>
{% endblock %}", "Product/detail.twig", "/home/hiniaratest/test-page.website/public_html/nagae-hanko.test-page.website/app/template/default/Product/detail.twig");
}
}