<?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;
/* __string_template__d362ceaf77af70740a383695bedb01f0 */
class __TwigTemplate_620716636d0f0783635a8e4601fe0523 extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
$this->sandbox = $this->env->getExtension('\Twig\Extension\SandboxExtension');
$this->checkSecurity();
}
protected function doGetParent(array $context)
{
// line 1
return "default_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "__string_template__d362ceaf77af70740a383695bedb01f0"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "__string_template__d362ceaf77af70740a383695bedb01f0"));
// line 3
$context["body_class"] = "product_page";
// line 1
$this->parent = $this->loadTemplate("default_frame.twig", "__string_template__d362ceaf77af70740a383695bedb01f0", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 5
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 6
echo "<style>
\t.slick-slider {
\t\tmargin-bottom: 30px;
\t}
\t.slick-dots {
\t\tposition: absolute;
\t\tbottom: -45px;
\t\tdisplay: block;
\t\twidth: 100%;
\t\tpadding: 0;
\t\tlist-style: none;
\t\ttext-align: center;
\t}
\t.slick-dots li {
\t\tposition: relative;
\t\tdisplay: inline-block;
\t\twidth: 20px;
\t\theight: 20px;
\t\tmargin: 0 5px;
\t\tpadding: 0;
\t\tcursor: pointer;
\t}
\t.slick-dots li button {
\t\tfont-size: 0;
\t\tline-height: 0;
\t\tdisplay: block;
\t\twidth: 20px;
\t\theight: 20px;
\t\tpadding: 5px;
\t\tcursor: pointer;
\t\tcolor: transparent;
\t\tborder: 0;
\t\toutline: none;
\t\tbackground: transparent;
\t}
\t.slick-dots li button:hover,
\t.slick-dots li button:focus {
\t\toutline: none;
\t}
\t.slick-dots li button:hover:before,
\t.slick-dots li button:focus:before {
\t\topacity: 1;
\t}
\t.slick-dots li button:before {
\t\tcontent: \" \";
\t\tline-height: 20px;
\t\tposition: absolute;
\t\ttop: 0;
\t\tleft: 0;
\t\twidth: 12px;
\t\theight: 12px;
\t\ttext-align: center;
\t\topacity: .25;
\t\tbackground-color: black;
\t\tborder-radius: 50%;
\t}
\t.slick-dots li.slick-active button:before {
\t\topacity: .75;
\t\tbackground-color: black;
\t}
\t.slick-dots li button.thumbnail img {
\t\twidth: 0;
\t\theight: 0;
\t}
</style>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 83
public function block_javascript($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
echo "<script>
\$(function () {
var noChange = true;
\$('.item_visual').on('afterChange', function (event, slick, currentSlide) {
if (noChange) {
var \$img = \$(\"div[data-index='\" + currentSlide + \"']\").find('img');
if (\$('#classcategory_id1').length > 0) {
\$('#classcategory_id1').val(\"__unselected\");
\$('#classcategory_id1').change();
}
if (\$img.length > 0) {
var class1 = \$img.data('class_category1');
if (class1) {
\$('#classcategory_id1').val(class1);
\$('#classcategory_id1').change();
}
var class2 = \$img.data('class_category2');
if (class2) {
setTimeout(function () {
\$('#classcategory_id2').val(class2);
\$('#classcategory_id2').change();
}, 100);
}
}
} else {
noChange = true;
}
});
if (\$('#classcategory_id1').length > 0 && \$('#classcategory_id2').length > 0) {
\$('#classcategory_id2').change(function () {
var \$this = \$(this);
if (\$this.val()) {
var class1 = \$('#classcategory_id1').val();
if (\$('#apg_product_class_image_thumb-' + class1 + '-' + \$this.val()).length > 0) {
var class2 = \$this.val();
\$index = \$('#apg_product_class_image_thumb-' + class1 + '-' + class2).parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
";
// line 124
if ((twig_get_attribute($this->env, $this->source, (isset($context["apgProductClassConfig"]) || array_key_exists("apgProductClassConfig", $context) ? $context["apgProductClassConfig"] : (function () { throw new RuntimeError('Variable "apgProductClassConfig" does not exist.', 124, $this->source); })()), "getImageType", [], "method", false, false, true, 124) == twig_constant("Plugin\\ApgProductClassImage42\\Domain\\ClassImageType::CLASS_IMAGE1_ONLY"))) {
// line 125
echo " \$('#classcategory_id1').change(function () {
var \$this = \$(this);
if (\$this.val() != \"__unselected\") {
var class1 = \$this.val();
if (\$(\"img[data-class_category1='\" + class1 + \"']\").length > 0) {
var class2 = \$(\"img[data-class_category1='\" + class1 + \"']\").data('class_category2');
\$index = \$('#apg_product_class_image_thumb-' + class1 + '-' + class2).parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
";
}
// line 138
echo " } else if (\$('#classcategory_id1').length > 0) {
\$('#classcategory_id1').change(function () {
var \$this = \$(this);
if (\$this.val() != \"__unselected\") {
if (\$('#apg_product_class_image_thumb-' + \$this.val() + '-').length > 0) {
\$index = \$('#apg_product_class_image_thumb-' + \$this.val() + '-').parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
}
});
</script>
<script>
\t// ボリュームアップの自由入力対応
\t\$(function(){
\t\tconst volumeUpFlower = \"productoption2\";
\t\tconst volumeUpFlower_free = \"productoption16\";
\t\tvolumeup_free(volumeUpFlower_free, volumeUpFlower);
\t\tconst volumeUpBalloon = \"productoption1\";
\t\tconst volumeUpBalloon_free = \"productoption15\";
\t\tvolumeup_free(volumeUpBalloon_free, volumeUpBalloon);
\t\tfunction volumeup_free(free, option){
\t\t\tconst free_input = \$(`#\${free}`);
\t\t\tconst option_el = \$(`#\${option}`);
\t\t\tif(free_input.length > 0){
\t\t\t\tfree_input.css(\"width\", 100);
\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\toption_el.append(`<div class=\"form-check\"><input type=\"radio\" id=\"\${option}_free\" name=\"\${option}\" class=\"form-check-input js-volumeUp_free\" value=\"\"><label class=\"form-check-label\" for=\"\${option}_free\">自由入力</label></div>`)
\t\t\t\t\$(`#\${option} .form-check`).on('click', function() {
\t\t\t\t\tconst \$this_radio = \$(this).find('input[type=\"radio\"]');
\t\t\t\t\tif(\$this_radio.hasClass(\"js-volumeUp_free\")){
\t\t\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\t\t} else {
\t\t\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\t\t\tfree_input.val(\"\");
\t\t\t\t\t}
\t\t\t\t});
\t\t\t}
\t\t}
\t});
</script>
<script src=\"";
// line 186
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/signboard.js"), "html", null, true);
echo "\"></script>
<script>
\teccube.classCategories = ";
// line 188
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 188, $this->source); })()), 188, $this->source));
echo ";
\t// 規格2に選択肢を割り当てる。
\tfunction fnSetClassCategories(form, classcat_id2_selected) {
\t\tvar \$form = \$(form);
\t\tvar product_id = \$form.find('input[name=product_id]').val();
\t\tvar \$sele1 = \$form.find('select[name=classcategory_id1]');
\t\tvar \$sele2 = \$form.find('select[name=classcategory_id2]');
\t\teccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
\t}
\t";
// line 199
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 199)) {
// line 200
echo "\tfnSetClassCategories(
\t\t\$('#form1'), ";
// line 201
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 201, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 201), "vars", [], "any", false, false, true, 201), "value", [], "any", false, false, true, 201), 201, $this->source));
echo "
\t);
\t";
} elseif (twig_get_attribute($this->env, $this->source, // line 203
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 203)) {
// line 204
echo "\teccube.checkStock(\$('#form1'), ";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 204, $this->source); })()), "id", [], "any", false, false, true, 204), 204, $this->source), "html", null, true);
echo ", ";
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 204, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 204), "vars", [], "any", false, false, true, 204), "value", [], "any", false, false, true, 204), 204, $this->source));
echo ", null);
\t";
}
// line 206
echo "</script>
<script>
\t\$(function() {
\t // 初期状態として、最初の .form-check に active クラスを付与してラジオボタンを選択
\t \$('#productoption2 .form-check:first').addClass('active').find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t \$('#productoption1 .form-check:first').addClass('active').find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t
\t // クリックイベントの設定
\t \$('#productoption2 .form-check, #productoption1 .form-check').on('click', function() {
\t\t// 対象の親を取得して、同じブロック内の .form-check から active を削除
\t\t\$(this).closest('#productoption2, #productoption1').find('.form-check').removeClass('active');
\t
\t\t// クリックした要素に active を付与
\t\t\$(this).addClass('active');
\t
\t\t// 対象のラジオボタンを選択状態にする
\t\t\$(this).find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t });
\t});
\t</script>
\t
<script>
\t\$(function () {
\t\t\$('[for=productoption2_2]').each(function () {
\t \$(this).append('<span class=\"em\">★一番人気</span>');
\t\t});
\t\t
\t\t// bfcache無効化
\t\t\$(window).bind('pageshow', function (event) {
\t\t\tif (event.originalEvent.persisted) {
\t\t\t\tlocation.reload(true);
\t\t\t}
\t\t});
\t\t// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
\t\t// img タグに width, height が付与されている.
\t\t// 630px 未満の画面サイズでは縦横比が壊れるための対策
\t\t// see https://github.com/EC-CUBE/ec-cube/pull/5023
\t\t// \$('.ec-grid2__cell').hide();
\t\tvar removeSize = function () {
\t\t\t\$('.slide-item').height('');
\t\t\t\$('.slide-item img')
\t\t\t\t.removeAttr('width')
\t\t\t\t.removeAttr('height')
\t\t\t\t.removeAttr('style');
\t\t};
\t\tvar slickInitial = function (slick) {
\t\t\t\$('.ec-grid2__cell').fadeIn(1500);
\t\t\tvar baseHeight = \$(slick.target).height();
\t\t\tvar baseWidth = \$(slick.target).width();
\t\t\tvar rate = baseWidth / baseHeight;
\t\t\t\$('.slide-item').height(baseHeight * rate); // 余白を削除する
\t\t\t// transform を使用することでCLSの影響を受けないようにする
\t\t\t\$('.slide-item img')
\t\t\t\t.css(
\t\t\t\t\t{
\t\t\t\t\t\t'transform-origin': 'top left',
\t\t\t\t\t\t'transform': 'scaleY(' + rate + ')',
\t\t\t\t\t\t'transition': 'transform .1s'
\t\t\t\t\t}
\t\t\t\t);
\t\t\t// 正しいサイズに近くなったら属性を解除する
\t\t\tsetTimeout(removeSize, 500);
\t\t};
\t\t\$('.item_visual').on('init', slickInitial);
\t\t// リサイズ時は CLS の影響を受けないため属性を解除する
\t\t\$(window).resize(removeSize);
\t\t
\t let tabs = \$(\".tab_btn .cont\");
\t\ttabs.on(\"click\", function() {
\t\t\t\$(\".tab_btn .cont\").removeClass(\"show\");
\t\t\t\$(this).addClass(\"show\");
\t\t\tconst index = tabs.index(\$(this));
\t\t\t\$(\".tab_box\").removeClass(\"show\").eq(index).addClass(\"show\");
\t\t});
\t\t
\t\t\$(\".js_more_view\").on(\"click\", function() {
\$(this).toggleClass(\"on_click\");
\$(\".text_hide\").slideToggle(1000);
});
\t});
</script>
<script>
\t\$(function () {
\t\t\$(\".open_cart_modal\").on(\"click\", function() {
\t\t\t\$('.ec-modal').hide();
\t\t\t\$(\"#cart_modal\").show();
\t\t});
\t\t
\t\t\$('.add-cart').on('click', function (event) {
\t\t\t\$form = \$('#form1');
\t\t\t";
// line 301
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 301)) {
// line 302
echo "\t\t\t// 規格1フォームの必須チェック
\t\t\tif (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\t\t\t\t\$('#classcategory_id1')[0].setCustomValidity('";
// line 304
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#classcategory_id1')[0].setCustomValidity('');
\t\t\t}
\t\t\t";
}
// line 310
echo "
\t\t\t";
// line 311
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 311)) {
// line 312
echo "\t\t\t// 規格2フォームの必須チェック
\t\t\tif (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\t\t\t\t\$('#classcategory_id2')[0].setCustomValidity('";
// line 314
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#classcategory_id2')[0].setCustomValidity('');
\t\t\t}
\t\t\t";
}
// line 320
echo "
\t\t\t// 個数フォームのチェック
\t\t\tif (\$('#quantity').val() < 1) {
\t\t\t\t\$('#quantity')[0].setCustomValidity('";
// line 323
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html", null, true);
echo "');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#quantity')[0].setCustomValidity('');
\t\t\t}
\t\t\t// オプション項目のチェック
\t\t\tif (submit_check(\$form)) {
\t\t\t\treturn true;
\t\t\t}
\t\t\tevent.preventDefault();
\t\t\t\$.ajax({
\t\t\t\turl: \$form.attr('action'),
\t\t\t\ttype: \$form.attr('method'),
\t\t\t\tdata: \$form.serialize(),
\t\t\t\tdataType: 'json',
\t\t\t\tbeforeSend: function (xhr, settings) {
\t\t\t\t\t// Buttonを無効にする
\t\t\t\t\t\$('.add-cart').prop('disabled', true);
\t\t\t\t}
\t\t\t}).done(function (data) {
\t\t\t\t// レスポンス内のメッセージをalertで表示
\t\t\t\t\$.each(data.messages, function () {
\t\t\t\t\t\$('#added_cart .ec-modal-header').text(this);
\t\t\t\t});
\t\t\t\t\$('.ec-modal').hide();
\t\t\t\t\$(\"#added_cart\").show();
\t\t\t\t// カートブロックを更新する
\t\t\t\t\$.ajax({
\t\t\t\t\turl: \"";
// line 355
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
echo "\",
\t\t\t\t\ttype: 'GET',
\t\t\t\t\tdataType: 'html'
\t\t\t\t}).done(function (html) {
\t\t\t\t\t\$('.ec-headerRole__cart').html(html);
\t\t\t\t});
\t\t\t}).fail(function (data) {
\t\t\t\talert('";
// line 362
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html", null, true);
echo "');
\t\t\t}).always(function (data) {
\t\t\t\t// Buttonを有効にする
\t\t\t\t\$('.add-cart').prop('disabled', false);
\t\t\t});
\t\t});
\t});
\t\$('.ec-modal-wrap').on('click', function (e) {
\t\t// モーダル内の処理は外側にバブリングさせない
\t\te.stopPropagation();
\t});
\t\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function () {
\t\t\$('.ec-modal').hide()
\t});
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"";
// line 382
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 382, $this->source); })()), "name", [], "any", false, false, true, 382), 382, $this->source), "html", null, true);
echo "\",
\"image\": [
";
// line 384
$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.', 384, $this->source); })()), "ProductImage", [], "any", false, false, true, 384));
$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 385
echo " \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 385, $this->source); })()), "request", [], "any", false, false, true, 385), "schemeAndHttpHost", [], "any", false, false, true, 385), 385, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 385, $this->source), "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 385)) {
echo ",";
}
// line 386
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 388
echo " \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 388, $this->source); })()), "request", [], "any", false, false, true, 388), "schemeAndHttpHost", [], "any", false, false, true, 388), 388, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\"
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 390
echo " ],
\"description\": \"";
// line 391
echo twig_escape_filter($this->env, twig_slice($this->env, twig_replace_filter(((twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", true, true, true, 391)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, true, 391), 391, $this->source), $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 391, $this->source); })()), "description_detail", [], "any", false, false, true, 391), 391, $this->source))) : (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 391, $this->source); })()), "description_detail", [], "any", false, false, true, 391))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 392
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.', 392, $this->source); })()), "code_min", [], "any", false, false, true, 392)) {
// line 393
echo " \"sku\": \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 393, $this->source); })()), "code_min", [], "any", false, false, true, 393), 393, $this->source), "html", null, true);
echo "\",
";
}
// line 395
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 397
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.', 397, $this->source); })()), "id", [], "any", false, false, true, 397)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 398
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config", $context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.', 398, $this->source); })()), "currency", [], "any", false, false, true, 398), 398, $this->source), "html", null, true);
echo "\",
\"price\": ";
// line 399
((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.', 399, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 399)) ? (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.', 399, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 399), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 400
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.', 400, $this->source); })()), "stock_find", [], "any", false, false, true, 400)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
\t<script>
\t\t// ...既存のHTMLの後などに追加...
document.addEventListener('DOMContentLoaded', function() {
// 対象IDリスト
const ids = [
'productoption3',
'productoption4',
'productoption5',
'productoption10',
'productoption6',
'productoption7',
'productoption8',
'productoption9'
];
// tatefuda_boxを集める配列
const tatefudaBoxes = [];
ids.forEach(function(id) {
const el = document.getElementById(id);
if (el) {
const parent = el.closest('.plg_aoio');
if (parent && !parent.classList.contains('tatefuda_box')) {
parent.classList.add('tatefuda_box');
tatefudaBoxes.push(parent);
}
}
});
if (tatefudaBoxes.length > 0) {
// tatefuda_boxの最初と最後を取得
const first = tatefudaBoxes[0];
const last = tatefudaBoxes[tatefudaBoxes.length - 1];
// tatefuda_box_areaを作成
const wrapper = document.createElement('div');
wrapper.className = 'tatefuda_box_area';
// 最初の前に挿入
first.parentNode.insertBefore(wrapper, first);
// tatefuda_boxを順にwrapperへ移動
tatefudaBoxes.forEach(function(box) {
wrapper.appendChild(box);
});
}
});
// document.addEventListener(\"DOMContentLoaded\", function () {
// // 要素の取得
// const recoArea = document.querySelector(\".produt_reco_text_area\");
// const sceneArea = document.querySelector(\".produt_scene_text_area\");
// const latestBlock = document.querySelector(\".ec-layoutRole__mainBottom .top_inner .latest_block\");
//
// // latest_blockの下に要素を移動
// if (latestBlock) {
// latestBlock.insertAdjacentElement(\"afterend\", sceneArea);
// latestBlock.insertAdjacentElement(\"afterend\", recoArea);
// }
//
// // produt_reco_textを分割して複数の<p>に
// const recoText = recoArea.querySelector(\".produt_reco_text\");
// if (recoText) {
// const parent = recoText.parentElement;
// const texts = recoText.textContent.split(\",\");
//
// // 元の要素を削除
// recoText.remove();
//
// // 分割したテキストを<p>にして挿入
// texts.forEach(text => {
// const p = document.createElement(\"p\");
// p.className = \"produt_reco_text\";
// p.textContent = text.trim();
// parent.appendChild(p);
// });
// }
// });
\t</script>
";
// line 487
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.', 487, $this->source); })()), "id", [], "any", false, false, true, 487) == twig_get_attribute($this->env, $this->source, 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.', 487, $this->source); })()), "request", [], "any", false, false, true, 487), "server", [], "any", false, false, true, 487), "get", [0 => "ORDERMADE_PRODUCT_ID"], "method", false, false, true, 487))) {
// line 488
echo "<script>
\t\$(function() {
\t\tconst \$option_input = \$(\"#productoption14\");
\t\tconst \$option_box = \$option_input.parents(\".plg_aoio\");
\t\t\$option_box.css({
\t\t\t\"visibility\":\"hidden\",
\t\t\t\"height\":\"0\",
\t\t\t\"margin\":\"0\",
\t\t\t\"padding\":\"0\",
\t\t});
\t\t
\t\tconst \$price_input = \$(\"<input>\", {
\t\t\ttype: \"number\",
\t\t\tclass: \"ec-price__price\",
\t\t\tid: \"custom_price_input\",
\t\t\tmin: 0,
\t\t\tvalue: 0,
\t\t});
\t\t
\t\tconst \$price = \$(\".ec-price\");
\t\t\$price.empty()
\t\t\t.append(\$price_input)
\t\t\t.append('<span class=\"ec-price__tax\">円</span>')
\t\t\t.append('<p class=\"ec-price__tax\">税抜き金額をご入力ください</p>');
\t\t
\t\t\$price.on(\"input\", \"#custom_price_input\", function () {
\t\t\t\$option_input.val(this.value).trigger(\"change\");
\t\t});
\t});
</script>
";
}
// line 519
echo "
<script>
\tdocument.addEventListener(\"DOMContentLoaded\", function () {
const pcPriceElement = document.querySelector(\".pc .ec-productRole__price .ec-price .ec-price__price\");
const spPriceElement = document.querySelector(\".sp .ec-productRole__price .ec-price .ec-price__price\");
const container = document.querySelector('.mb-3 > label[for=\"classcategory_id1\"]')?.closest('.mb-3');
if (!container || !pcPriceElement) return;
let priceParagraph = container.querySelector(\".js_type_price\");
if (!priceParagraph) {
priceParagraph = document.createElement(\"p\");
priceParagraph.classList.add(\"js_type_price\");
container.appendChild(priceParagraph);
}
const updatePrice = () => {
const priceText = pcPriceElement.textContent.trim();
if (spPriceElement) {
spPriceElement.textContent = priceText;
}
priceParagraph.innerHTML = priceText
? `\${priceText}<span class=\"size\">税込</span>`
: \"\";
};
updatePrice();
const observer = new MutationObserver(updatePrice);
observer.observe(pcPriceElement, {
childList: true,
characterData: true,
subtree: true
});
});
</script>
<script>
(function () {
const rearrange = () => {
const titleArea = document.querySelector('.ec-productRole__title');
const priceArea = document.querySelector('.sp .ec-productRole__price');
// タイトルの隣にあるm-1を特定
const reviewArea = titleArea ? titleArea.parentElement.querySelector('.m-1') : null;
const originalParent = document.querySelector('.ec-productRole__profile') || (titleArea ? titleArea.parentElement : null);
if (!titleArea || !priceArea || !reviewArea) {
console.log('要素が見つかりません。リトライします...');
return false;
}
if (window.innerWidth <= 750) {
// SP: 価格の下へ移動
if (priceArea.nextElementSibling !== titleArea) {
priceArea.after(titleArea);
titleArea.after(reviewArea);
console.log('SPレイアウト適用');
}
} else {
// PC: 元の位置(親要素の先頭など)へ戻す
if (originalParent && !originalParent.contains(priceArea)) {
// すでにPC位置にある場合は何もしない
originalParent.prepend(titleArea);
titleArea.after(reviewArea);
console.log('PCレイアウト適用');
}
}
return true;
};
// 1. 読み込み時に実行(要素が出るまで数回試行)
let retryCount = 0;
const timer = setInterval(() => {
if (rearrange() || retryCount > 10) {
clearInterval(timer);
}
retryCount++;
}, 500);
// 2. 画面サイズ変更時に実行
window.addEventListener('resize', rearrange);
})();
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 609
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 610
echo "<section class=\"top_inner\">
\t<div id=\"main-contents\" class=\"colnum1\">
\t\t<div class=\"ec-productRole\">
\t\t\t<div class=\"ec-grid2\" id=\"product_main\">
\t\t\t\t<div class=\"ec-grid2__cell\">
\t\t\t\t\t<div class=\"ec-sliderItemRole\">
\t\t\t\t\t\t<div class=\"item_visual\">
\t\t\t\t\t\t\t";
// line 618
$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.', 618, $this->source); })()), "ProductImage", [], "any", false, false, true, 618));
$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 619
echo "\t\t\t\t\t\t\t<div class=\"slide-item\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 619, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, true, 619)) ? (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.', 619, $this->source); })()), "name", [], "any", false, false, true, 619), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\" ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, true, 619) > 1)) {
echo " loading=\"lazy\"";
}
echo "></div>
\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 621
echo "\t\t\t\t\t\t\t<div class=\"slide-item\"><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=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, true, 621)) ? (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.', 621, $this->source); })()), "name", [], "any", false, false, true, 621), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\"></div>
\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 622
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.', 622, $this->source); })()), "hasProductClass", [], "any", false, false, true, 622)) {
// line 623
$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.', 623, $this->source); })()), "getProductClasses", [], "method", false, false, true, 623));
foreach ($context['_seq'] as $context["_key"] => $context["ProductClass"]) {
// line 624
echo " ";
if (twig_get_attribute($this->env, $this->source, $context["ProductClass"], "file_name", [], "any", false, false, true, 624)) {
// line 625
echo " <div class=\"slide-item\">
";
// line 626
if ((twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 626) && twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 626))) {
// line 627
echo " <img id=\"apg_product_class_image-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 627), "id", [], "any", false, false, true, 627), 627, $this->source), "html", null, true);
echo "-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 627), "id", [], "any", false, false, true, 627), 627, $this->source), "html", null, true);
echo "\"
src=\"";
// line 628
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "getImageUrl", [], "method", false, false, true, 628), 628, $this->source), "save_image"), "html", null, true);
echo "\">
";
} elseif (twig_get_attribute($this->env, $this->source, // line 629
$context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 629)) {
// line 630
echo " <img id=\"apg_product_class_image-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 630), "id", [], "any", false, false, true, 630), 630, $this->source), "html", null, true);
echo "-\"
src=\"";
// line 631
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "getImageUrl", [], "method", false, false, true, 631), 631, $this->source), "save_image"), "html", null, true);
echo "\">
";
}
// line 633
echo " </div>
";
}
// line 635
echo " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductClass'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
}
// line 637
echo "
\t\t\t\t\t\t</div>
\t\t\t\t\t\t<div class=\"sp\">
\t\t\t\t\t\t\t";
// line 641
echo "\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.', 641, $this->source); })()), "hasProductClass", [], "any", false, false, true, 641)) {
// line 642
echo "<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t";
// line 643
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.', 643, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 643)) && (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.', 643, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 643) == 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.', 643, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 643)))) {
// line 644
echo "\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 644, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 644), 644, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 645
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";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 646
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 646, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 646)) && !(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.', 646, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 646)))) {
// line 647
echo "\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 647, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 647), 647, $this->source)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 647, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 647), 647, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 648
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";
}
// line 650
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
} else {
// line 652
echo "\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.', 652, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 652))) {
// line 653
echo "\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 653, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 653), 653, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 654
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";
}
// line 656
echo "\t\t\t\t\t\t\t";
}
// line 657
echo "\t\t\t\t\t\t\t";
// line 658
echo "\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t";
// line 659
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.', 659, $this->source); })()), "hasProductClass", [], "any", false, false, true, 659)) {
// line 660
if ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 660, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 660) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 660, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 660))) {
// line 661
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">";
// line 662
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 662, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 662), 662, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 663
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</div>
\t\t\t\t\t\t\t\t";
} else {
// line 666
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">";
// line 667
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 667, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 667), 667, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 667, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 667), 667, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 668
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</div>
\t\t\t\t\t\t\t\t";
}
// line 671
echo "\t\t\t\t\t\t\t\t";
} else {
// line 672
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price\">";
// line 673
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 673, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 673), 673, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 674
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</div>
\t\t\t\t\t\t\t\t";
}
// line 677
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
<div class=\"btm_img_review_badge\">
<a href=\"#product_rating_area\" class=\"badge_img\">
<img src=\"/html/user_data/assets/img/common/btm_img_review_badge.jpg\" alt=\"\">
</a>
</div>
\t\t\t\t\t\t<div class=\"item_nav\">
\t\t\t\t\t\t\t";
// line 685
$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.', 685, $this->source); })()), "ProductImage", [], "any", false, false, true, 685));
$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 686
echo "\t\t\t\t\t\t\t<div class=\"slideThumb\" data-index=\"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, true, 686), 686, $this->source), "html", null, true);
echo "\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 686, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
\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['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 687
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.', 687, $this->source); })()), "hasProductClass", [], "any", false, false, true, 687)) {
// line 688
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 688, $this->source); })()), "ProductImage", [], "any", false, false, true, 688), "count", [], "any", false, false, true, 688) > 0)) {
// line 689
echo " ";
$context["imageCount"] = (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 689, $this->source); })()), "ProductImage", [], "any", false, false, true, 689), "count", [], "any", false, false, true, 689) - 1);
// line 690
echo " ";
} else {
// line 691
echo " ";
$context["imageCount"] = 0;
// line 692
echo " ";
}
// line 693
echo " ";
$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.', 693, $this->source); })()), "getProductClasses", [], "method", false, false, true, 693));
foreach ($context['_seq'] as $context["_key"] => $context["ProductClass"]) {
// line 694
echo " ";
if (twig_get_attribute($this->env, $this->source, $context["ProductClass"], "file_name", [], "any", false, false, true, 694)) {
// line 695
echo " ";
$context["imageCount"] = ((isset($context["imageCount"]) || array_key_exists("imageCount", $context) ? $context["imageCount"] : (function () { throw new RuntimeError('Variable "imageCount" does not exist.', 695, $this->source); })()) + 1);
// line 696
echo " <div class=\"slideThumb\" data-index=\"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["imageCount"]) || array_key_exists("imageCount", $context) ? $context["imageCount"] : (function () { throw new RuntimeError('Variable "imageCount" does not exist.', 696, $this->source); })()), 696, $this->source), "html", null, true);
echo "\">
";
// line 697
if ((twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 697) && twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 697))) {
// line 698
echo " <img id=\"apg_product_class_image_thumb-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 698), "id", [], "any", false, false, true, 698), 698, $this->source), "html", null, true);
echo "-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 698), "id", [], "any", false, false, true, 698), 698, $this->source), "html", null, true);
echo "\"
src=\"";
// line 699
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "getImageUrl", [], "method", false, false, true, 699), 699, $this->source), "save_image"), "html", null, true);
echo "\"
data-class_category1=\"";
// line 700
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 700), "id", [], "any", false, false, true, 700), 700, $this->source), "html", null, true);
echo "\"
data-class_category2=\"";
// line 701
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 701), "id", [], "any", false, false, true, 701), 701, $this->source), "html", null, true);
echo "\">
";
} elseif (twig_get_attribute($this->env, $this->source, // line 702
$context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 702)) {
// line 703
echo " <img id=\"apg_product_class_image_thumb-";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 703), "id", [], "any", false, false, true, 703), 703, $this->source), "html", null, true);
echo "-\"
src=\"";
// line 704
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["ProductClass"], "getImageUrl", [], "method", false, false, true, 704), 704, $this->source), "save_image"), "html", null, true);
echo "\"
data-class_category1=\"";
// line 705
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 705), "id", [], "any", false, false, true, 705), 705, $this->source), "html", null, true);
echo "\">
";
}
// line 707
echo " </div>
";
}
// line 709
echo " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductClass'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
}
// line 711
echo "
\t\t\t\t\t\t</div>
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t<div class=\"ec-grid2__cell\">
\t\t\t\t\t<div class=\"ec-productRole__profile\">
\t\t\t\t\t\t";
// line 718
echo "\t\t\t\t\t\t<div class=\"ec-productRole__title\">
\t\t\t\t\t\t\t<h1 class=\"ec-headingTitle\">";
// line 719
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 719, $this->source); })()), "name", [], "any", false, false, true, 719), 719, $this->source), "html", null, true);
echo "</h1>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
// line 722
echo "\t\t\t\t\t\t<ul class=\"ec-productRole__tags\">
\t\t\t\t\t\t\t";
// line 723
$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.', 723, $this->source); })()), "Tags", [], "any", false, false, true, 723));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 724
echo "\t\t\t\t\t\t\t<li class=\"ec-productRole__tag tag_";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Tag"], "id", [], "any", false, false, true, 724), 724, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed($context["Tag"], 724, $this->source), "html", null, true);
echo "</li>
\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 726
echo "\t\t\t\t\t\t</ul>
";
// line 727
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.', 727, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 727)) || !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.', 727, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 727)))) {
// line 728
echo "\t\t\t\t\t\t<div class=\"color_num_area color_num_area_1_2\">
\t\t\t\t\t\t\t";
// line 729
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.', 729, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 729))) {
// line 730
echo "\t\t\t\t\t\t\t<p class=\"color color_num_data\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 730, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 730), 730, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t";
}
// line 732
echo "\t\t\t\t\t\t\t";
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.', 732, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 732))) {
// line 733
echo "\t\t\t\t\t\t\t<p class=\"num color_num_data\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 733, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 733), 733, $this->source), "html", null, true);
echo "本立</p>
\t\t\t\t\t\t\t";
}
// line 735
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 737
echo "\t\t\t\t\t\t";
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.', 737, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 737)) || !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.', 737, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 737)))) {
// line 738
echo "\t\t\t\t\t\t<div class=\"color_num_area color_num_area_4_5\">
\t\t\t\t\t\t\t";
// line 739
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.', 739, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 739))) {
// line 740
echo "\t\t\t\t\t\t\t<p class=\"dan color_num_data\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 740, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 740), 740, $this->source), "html", null, true);
echo "段</p>
\t\t\t\t\t\t\t";
}
// line 742
echo "\t\t\t\t\t\t\t";
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.', 742, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 742))) {
// line 743
echo "\t\t\t\t\t\t\t<p class=\"leg_type color_num_data\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 743, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 743), 743, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t";
}
// line 745
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 747
echo "\t\t\t\t\t\t";
if ( !twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 747, $this->source); })()), "ViewData", [0 => 6], "method", false, false, true, 747))) {
// line 748
echo "\t\t\t\t\t\t<div class=\"color_num_area color_num_area_6\">
\t\t\t\t\t\t\t<p class=\"kago_type color_num_data\">";
// line 749
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 749, $this->source); })()), "ViewData", [0 => 6], "method", false, false, true, 749), 749, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 752
echo "\t\t\t\t\t\t<div class=\"ec-productRole__description\">";
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 752, $this->source); })()), "description_detail", [], "any", false, false, true, 752), 752, $this->source));
echo "
\t\t\t\t\t\t</div>
\t\t\t\t\t\t<div class=\"pc\">
\t\t\t\t\t\t\t";
// line 756
echo "\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.', 756, $this->source); })()), "hasProductClass", [], "any", false, false, true, 756)) {
// line 757
echo "<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t";
// line 758
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.', 758, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 758)) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 758, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 758) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 758, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 758)))) {
// line 759
echo "\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 759, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 759), 759, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 760
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";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 761
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 761, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 761)) && !(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.', 761, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 761)))) {
// line 762
echo "\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 762, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 762), 762, $this->source)), "html", null, true);
echo "~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 762, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 762), 762, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 763
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";
}
// line 765
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
} else {
// line 767
echo "\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.', 767, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 767))) {
// line 768
echo "\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 768, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 768), 768, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 769
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";
}
// line 771
echo "\t\t\t\t\t\t\t";
}
// line 772
echo "\t\t\t\t\t\t\t";
// line 773
echo "\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t";
// line 774
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 774, $this->source); })()), "hasProductClass", [], "any", false, false, true, 774)) {
// line 775
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.', 775, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 775) == 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.', 775, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 775))) {
// line 776
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">";
// line 777
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 777, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 777), 777, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 778
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</div>
\t\t\t\t\t\t\t\t";
} else {
// line 781
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">";
// line 782
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 782, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 782), 782, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 782, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 782), 782, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 783
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</div>
\t\t\t\t\t\t\t\t";
}
// line 786
echo "\t\t\t\t\t\t\t\t";
} else {
// line 787
echo "\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price\">";
// line 788
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 788, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 788), 788, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 789
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</div>
\t\t\t\t\t\t\t\t";
}
// line 792
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
// line 794
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 794, $this->source); })()), "stock_find", [], "any", false, false, true, 794)) {
// line 795
echo "\t\t\t\t\t\t\t<form class=\"form_add-cart\" action=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_cart", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 795, $this->source); })()), "id", [], "any", false, false, true, 795)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
\t\t\t\t\t\t\t\t<div id=\"cart_modal\" class=\"ec-modal\">
\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\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<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 799
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<div class=\"ec-modal-box\">
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__actions\">
\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 802
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 802)) {
// line 803
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-select\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 804
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 804, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 804), 804, $this->source), 'row');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 805
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 805, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 805), 805, $this->source), 'errors');
echo "
\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";
// line 807
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 807)) {
// line 808
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-select\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 809
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 809, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 809), 809, $this->source), 'row');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 810
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 810, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 810), 810, $this->source), 'errors');
echo "
\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";
}
// line 813
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 814
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "Product/option.twig");
echo "<div class=\"ec-numberInput\"><span>";
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 815
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 815, $this->source); })()), "quantity", [], "any", false, false, true, 815), 815, $this->source), 'widget');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 816
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 816, $this->source); })()), "quantity", [], "any", false, false, true, 816), 816, $this->source), 'errors');
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";
// line 819
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 819, $this->source); })()), 819, $this->source), 'rest');
echo "
\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<button type=\"submit\" class=\"ec-inlineBtn--action add-cart\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 823
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</div><!-- /.ec-modal-box -->
\t\t\t\t\t\t\t\t\t\t</div><!-- /.ec-modal-wrap -->
\t\t\t\t\t\t\t\t\t\t";
// line 828
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.', 828, $this->source); })()), "stock_min", [], "any", false, false, true, 828)) {
// line 829
echo "\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__stock\">在庫数: <span class=\"stock_num\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 829, $this->source); })()), "stock_min", [], "any", false, false, true, 829), 829, $this->source), "html", null, true);
if ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 829, $this->source); })()), "stock_min", [], "any", false, false, true, 829) != 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.', 829, $this->source); })()), "stock_max", [], "any", false, false, true, 829))) {
echo " ~ ";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 829, $this->source); })()), "stock_max", [], "any", false, false, true, 829), 829, $this->source), "html", null, true);
}
echo "</span></div>
\t\t\t\t\t\t\t\t\t\t";
}
// line 831
echo "\t\t\t\t\t\t\t\t\t</div><!-- /.ec-modal-overlay -->
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t</form>
\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\t\t\t\t\t\t\t\t<button type=\"button\" class=\"ec-blockBtn--action open_cart_modal\">
\t\t\t\t\t\t\t\t\t";
// line 837
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</button>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
} else {
// line 841
echo "\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\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";
// line 843
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</button>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 847
echo "\t\t\t\t\t\t<div id=\"added_cart\" class=\"ec-modal\">
\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\t\t\t\t\t\t\t\t<div class=\"ec-modal-wrap\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 850
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<div class=\"ec-modal-header text-center\">";
// line 851
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<div class=\"ec-modal-box\">
\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<span class=\"ec-inlineBtn--cancel\">";
// line 854
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<a href=\"";
// line 855
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</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</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
// line 861
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.', 861, $this->source); })()), "option_favorite_product", [], "any", false, false, true, 861)) {
// line 862
echo "\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.', 862, $this->source); })()), "id", [], "any", false, false, true, 862)]), "html", null, true);
echo "\" method=\"post\">
\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\t\t\t\t\t\t\t\t";
// line 864
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 864, $this->source); })()) == false)) {
// line 865
echo "\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";
// line 866
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</button>
\t\t\t\t\t\t\t\t";
} else {
// line 869
echo "\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel fav_done\" disabled=\"disabled\">";
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</button>
\t\t\t\t\t\t\t\t";
}
// line 872
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</form>
<a class=\"page_product_review_btn\" href=\"#product_rating_area\"><span class=\"letter\">レビューを見る/書く</span></a>
\t\t\t\t\t\t";
}
// line 876
echo "\t\t\t\t\t\t";
// line 877
echo "\t\t\t\t\t\t";
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.', 877, $this->source); })()), "code_min", [], "any", false, false, true, 877))) {
// line 878
echo "\t\t\t\t\t\t<div class=\"ec-productRole__code\">
\t\t\t\t\t\t\t";
// line 879
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html", null, true);
echo ": <span class=\"product-code-default\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 879, $this->source); })()), "code_min", [], "any", false, false, true, 879), 879, $this->source), "html", null, true);
if ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 879, $this->source); })()), "code_min", [], "any", false, false, true, 879) != 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.', 879, $this->source); })()), "code_max", [], "any", false, false, true, 879))) {
echo " ~ ";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 879, $this->source); })()), "code_max", [], "any", false, false, true, 879), 879, $this->source), "html", null, true);
}
echo "</span>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 882
echo "\t\t\t\t\t\t";
// line 883
echo "\t\t\t\t\t\t";
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.', 883, $this->source); })()), "ProductCategories", [], "any", false, false, true, 883))) {
// line 884
echo "\t\t\t\t\t\t<div class=\"ec-productRole__category\">
\t\t\t\t\t\t\t<div>";
// line 885
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";
// line 886
$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.', 886, $this->source); })()), "ProductCategories", [], "any", false, false, true, 886));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 887
echo "\t\t\t\t\t\t\t<ul>
\t\t\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t\t\t";
// line 889
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductCategory"], "Category", [], "any", false, false, true, 889), "path", [], "any", false, false, true, 889));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
// line 890
echo "\t\t\t\t\t\t\t\t\t<a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?category_id=";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Category"], "id", [], "any", false, false, true, 890), 890, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Category"], "name", [], "any", false, false, true, 890), 890, $this->source), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 890) == false)) {
// line 891
echo "\t\t\t\t\t\t\t\t\t<span>></span>";
}
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 893
echo "\t\t\t\t\t\t\t\t</li>
\t\t\t\t\t\t\t</ul>
\t\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 896
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 898
echo "\t\t\t\t\t\t<!-- <div class=\"ec-productRole__description\">
\t\t\t\t\t\t\t<a href=\"/contact\">この商品について問い合わせる</a><br>
\t\t\t\t\t\t\t<a href=\"/help/tradelaw\">返品についての詳細はこちら</a>
\t\t\t\t\t\t</div> -->
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t</div>
\t\t\t";
// line 905
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.', 905, $this->source); })()), "freearea", [], "any", false, false, true, 905)) {
// line 906
echo "\t\t\t<div class=\"ec-productRole__description\">
\t\t\t\t";
// line 907
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, twig_template_from_string($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 907, $this->source); })()), "freearea", [], "any", false, false, true, 907), 907, $this->source)), array(), true, false, true);
echo "
\t\t\t</div>
\t\t\t";
}
// line 910
echo "
\t\t\t<!-- 同じカテゴリーの商品 -->
\t\t\t";
// line 912
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.', 912, $this->source); })()), "ProductCategories", [], "any", false, false, true, 912))) {
// line 913
echo "\t\t\t";
$context["ChildCategory"] = twig_first($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 913, $this->source); })()), "ProductCategories", [], "any", false, false, true, 913), 913, $this->source), function ($__pc__) use ($context, $macros) { $context["pc"] = $__pc__; return !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 913, $this->source); })()), "Category", [], "any", false, false, true, 913), "parent", [], "any", false, false, true, 913)); }));
// line 914
echo "\t\t\t";
$context["ParentCategory"] = twig_first($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 914, $this->source); })()), "ProductCategories", [], "any", false, false, true, 914), 914, $this->source), function ($__pc__) use ($context, $macros) { $context["pc"] = $__pc__; return ((null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 914, $this->source); })()), "Category", [], "any", false, false, true, 914), "parent", [], "any", false, false, true, 914)) && !twig_in_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 914, $this->source); })()), "Category", [], "any", false, false, true, 914), "name", [], "any", false, false, true, 914), [0 => "新着商品", 1 => "迷ったらココ!!開店祝い等の定番!", 2 => "郵送商品(全国へ宅急便でお届けします)", 3 => "委託商品'(全国のお花屋さんに委託します)"])); }));
// line 915
echo "
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t";
// line 917
if ( !twig_test_empty((isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 917, $this->source); })()))) {
// line 918
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">";
// line 919
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 919, $this->source); })()), "Category", [], "any", false, false, true, 919), "name", [], "any", false, false, true, 919), 919, $this->source), "html", null, true);
echo "の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t";
// line 921
$context["Products"] = twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $this->env->getFunction('repository')->getCallable()("Eccube\\Entity\\Product"), "getQueryBuilderBySearchData", [0 => ["category_id" => twig_get_attribute($this->env, $this->source, // line 922
(isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 922, $this->source); })()), "Category", [], "any", false, false, true, 922)]], "method", false, false, true, 921), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 921), "setMaxResults", [0 => 100], "method", false, false, true, 923), "getQuery", [], "method", false, false, true, 923), "getResult", [], "method", false, false, true, 923);
// line 924
echo "
\t\t\t\t\t\t";
// line 925
$context["FilteredProducts"] = twig_slice($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["Products"]) || array_key_exists("Products", $context) ? $context["Products"] : (function () { throw new RuntimeError('Variable "Products" does not exist.', 925, $this->source); })()), 925, $this->source), function ($__p__) use ($context, $macros) { $context["p"] = $__p__; return (twig_get_attribute($this->env, $this->source, (isset($context["p"]) || array_key_exists("p", $context) ? $context["p"] : (function () { throw new RuntimeError('Variable "p" does not exist.', 925, $this->source); })()), "id", [], "any", false, false, true, 925) != 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.', 925, $this->source); })()), "id", [], "any", false, false, true, 925)); }), 0, 4);
// line 926
echo "
\t\t\t\t\t\t";
// line 927
if ((twig_length_filter($this->env, (isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 927, $this->source); })())) > 0)) {
// line 928
echo "\t\t\t\t\t\t";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 928, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 929
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 930
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, true, 930)]), "html", null, true);
echo "\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"";
// line 932
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "main_list_image", [], "any", false, false, true, 932), 932, $this->source)), "save_image"), "html", null, true);
echo "\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">";
// line 934
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 934), 934, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 935
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, true, 935), 935, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 939
echo "\t\t\t\t\t\t";
}
// line 940
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
} elseif ( !twig_test_empty( // line 942
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 942, $this->source); })()))) {
// line 943
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">";
// line 944
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 944, $this->source); })()), "Category", [], "any", false, false, true, 944), "name", [], "any", false, false, true, 944), 944, $this->source), "html", null, true);
echo "の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t";
// line 946
$context["Products"] = twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $this->env->getFunction('repository')->getCallable()("Eccube\\Entity\\Product"), "getQueryBuilderBySearchData", [0 => ["category_id" => twig_get_attribute($this->env, $this->source, // line 947
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 947, $this->source); })()), "Category", [], "any", false, false, true, 947)]], "method", false, false, true, 946), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 946), "setMaxResults", [0 => 100], "method", false, false, true, 948), "getQuery", [], "method", false, false, true, 948), "getResult", [], "method", false, false, true, 948);
// line 949
echo "
\t\t\t\t\t\t";
// line 950
$context["FilteredProducts"] = twig_slice($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["Products"]) || array_key_exists("Products", $context) ? $context["Products"] : (function () { throw new RuntimeError('Variable "Products" does not exist.', 950, $this->source); })()), 950, $this->source), function ($__p__) use ($context, $macros) { $context["p"] = $__p__; return (twig_get_attribute($this->env, $this->source, (isset($context["p"]) || array_key_exists("p", $context) ? $context["p"] : (function () { throw new RuntimeError('Variable "p" does not exist.', 950, $this->source); })()), "id", [], "any", false, false, true, 950) != 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.', 950, $this->source); })()), "id", [], "any", false, false, true, 950)); }), 0, 4);
// line 951
echo "
\t\t\t\t\t\t";
// line 952
if ((twig_length_filter($this->env, (isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 952, $this->source); })())) > 0)) {
// line 953
echo "\t\t\t\t\t\t";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 953, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 954
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 955
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, true, 955)]), "html", null, true);
echo "\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"";
// line 957
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "main_list_image", [], "any", false, false, true, 957), 957, $this->source)), "save_image"), "html", null, true);
echo "\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">";
// line 959
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 959), 959, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 960
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, true, 960), 960, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 964
echo "\t\t\t\t\t\t";
}
// line 965
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
}
// line 968
echo "\t\t\t</div>
\t\t\t";
}
// line 970
echo "\t\t\t<!-- おすすめ商品 -->
\t\t\t";
// line 971
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.', 971, $this->source); })()), "ProductCategories", [], "any", false, false, true, 971))) {
// line 972
echo "\t\t\t";
$context["ChildCategory"] = twig_first($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 972, $this->source); })()), "ProductCategories", [], "any", false, false, true, 972), 972, $this->source), function ($__pc__) use ($context, $macros) { $context["pc"] = $__pc__; return !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 972, $this->source); })()), "Category", [], "any", false, false, true, 972), "parent", [], "any", false, false, true, 972)); }));
// line 973
echo "\t\t\t";
$context["ParentCategory"] = twig_first($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 973, $this->source); })()), "ProductCategories", [], "any", false, false, true, 973), 973, $this->source), function ($__pc__) use ($context, $macros) { $context["pc"] = $__pc__; return ((null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 973, $this->source); })()), "Category", [], "any", false, false, true, 973), "parent", [], "any", false, false, true, 973)) && !twig_in_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["pc"]) || array_key_exists("pc", $context) ? $context["pc"] : (function () { throw new RuntimeError('Variable "pc" does not exist.', 973, $this->source); })()), "Category", [], "any", false, false, true, 973), "name", [], "any", false, false, true, 973), [0 => "新着商品", 1 => "迷ったらココ!!開店祝い等の定番!", 2 => "郵送商品(全国へ宅急便でお届けします)", 3 => "委託商品'(全国のお花屋さんに委託します)"])); }));
// line 974
echo "
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t";
// line 976
if ( !twig_test_empty((isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 976, $this->source); })()))) {
// line 977
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">おすすめ商品</p>
\t\t\t\t\t<div class=\"product_grid osusume\">
\t\t\t\t\t\t";
// line 980
$context["Products"] = twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $this->env->getFunction('repository')->getCallable()("Eccube\\Entity\\Product"), "getQueryBuilderBySearchData", [0 => ["category_id" => twig_get_attribute($this->env, $this->source, // line 981
(isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 981, $this->source); })()), "Category", [], "any", false, false, true, 981)]], "method", false, false, true, 980), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 980), "setMaxResults", [0 => 100], "method", false, false, true, 982), "getQuery", [], "method", false, false, true, 982), "getResult", [], "method", false, false, true, 982);
// line 983
echo "
\t\t\t\t\t\t";
// line 984
$context["FilteredProducts"] = twig_slice($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["Products"]) || array_key_exists("Products", $context) ? $context["Products"] : (function () { throw new RuntimeError('Variable "Products" does not exist.', 984, $this->source); })()), 984, $this->source), function ($__p__) use ($context, $macros) { $context["p"] = $__p__; return (twig_get_attribute($this->env, $this->source, (isset($context["p"]) || array_key_exists("p", $context) ? $context["p"] : (function () { throw new RuntimeError('Variable "p" does not exist.', 984, $this->source); })()), "id", [], "any", false, false, true, 984) != 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.', 984, $this->source); })()), "id", [], "any", false, false, true, 984)); }), 0, 200);
// line 985
echo "
\t\t\t\t\t\t";
// line 986
if ((twig_length_filter($this->env, (isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 986, $this->source); })())) > 0)) {
// line 987
echo "\t\t\t\t\t\t";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 987, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 988
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 989
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, true, 989)]), "html", null, true);
echo "\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"";
// line 991
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "main_list_image", [], "any", false, false, true, 991), 991, $this->source)), "save_image"), "html", null, true);
echo "\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">";
// line 993
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 993), 993, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 994
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, true, 994), 994, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t";
// line 996
echo "\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 999
echo "\t\t\t\t\t\t";
}
// line 1000
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
} elseif ( !twig_test_empty( // line 1002
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 1002, $this->source); })()))) {
// line 1003
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">おすすめ商品</p>
\t\t\t\t\t<div class=\"product_grid osusume\">
\t\t\t\t\t\t";
// line 1006
$context["Products"] = twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $this->env->getFunction('repository')->getCallable()("Eccube\\Entity\\Product"), "getQueryBuilderBySearchData", [0 => ["category_id" => twig_get_attribute($this->env, $this->source, // line 1007
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 1007, $this->source); })()), "Category", [], "any", false, false, true, 1007)]], "method", false, false, true, 1006), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 1006), "setMaxResults", [0 => 100], "method", false, false, true, 1008), "getQuery", [], "method", false, false, true, 1008), "getResult", [], "method", false, false, true, 1008);
// line 1009
echo "
\t\t\t\t\t\t";
// line 1010
$context["FilteredProducts"] = twig_slice($this->env, twig_array_filter($this->env, $this->sandbox->ensureToStringAllowed((isset($context["Products"]) || array_key_exists("Products", $context) ? $context["Products"] : (function () { throw new RuntimeError('Variable "Products" does not exist.', 1010, $this->source); })()), 1010, $this->source), function ($__p__) use ($context, $macros) { $context["p"] = $__p__; return (twig_get_attribute($this->env, $this->source, (isset($context["p"]) || array_key_exists("p", $context) ? $context["p"] : (function () { throw new RuntimeError('Variable "p" does not exist.', 1010, $this->source); })()), "id", [], "any", false, false, true, 1010) != 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.', 1010, $this->source); })()), "id", [], "any", false, false, true, 1010)); }), 0, 200);
// line 1011
echo "
\t\t\t\t\t\t";
// line 1012
if ((twig_length_filter($this->env, (isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 1012, $this->source); })())) > 0)) {
// line 1013
echo "\t\t\t\t\t\t";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["FilteredProducts"]) || array_key_exists("FilteredProducts", $context) ? $context["FilteredProducts"] : (function () { throw new RuntimeError('Variable "FilteredProducts" does not exist.', 1013, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 1014
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 1015
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, true, 1015)]), "html", null, true);
echo "\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"";
// line 1017
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "main_list_image", [], "any", false, false, true, 1017), 1017, $this->source)), "save_image"), "html", null, true);
echo "\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">";
// line 1019
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 1019), 1019, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 1020
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, true, 1020), 1020, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t";
// line 1022
echo "\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1025
echo "\t\t\t\t\t\t";
}
// line 1026
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
}
// line 1029
echo "\t\t\t</div>
\t\t\t";
}
// line 1031
echo "
";
// line 1032
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.', 1032, $this->source); })()), "ViewData", [0 => 9], "method", false, false, true, 1032))) {
// line 1033
echo " <div class=\"produt_reco_text_area\">
<h3 class=\"area_ttl\">こんな花をお探しの方におすすめ</h3>
\t\t\t\t<div class=\"frame\">
<p class=\"produt_reco_text\">";
// line 1036
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1036, $this->source); })()), "ViewData", [0 => 9], "method", false, false, true, 1036), 1036, $this->source), "html", null, true);
echo "</p>
</div>
</div>
";
}
// line 1040
echo " ";
if ( !twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1040, $this->source); })()), "ViewData", [0 => 10], "method", false, false, true, 1040))) {
// line 1041
echo " <div class=\"produt_scene_text_area\">
<div class=\"frame\">
<h3 class=\"area_ttl\">こんなシーンでも使われています</h3>
<p class=\"produt_scene_text\">";
// line 1044
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1044, $this->source); })()), "ViewData", [0 => 10], "method", false, false, true, 1044), 1044, $this->source), "html", null, true);
echo "</p>
</div>
</div>
";
}
// line 1048
echo "\t\t</div>
\t</div>
</section>
\t";
// line 1052
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "Product/signboard_preview.twig");
echo "
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
public function getTemplateName()
{
return "__string_template__d362ceaf77af70740a383695bedb01f0";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 2032 => 1052, 2026 => 1048, 2019 => 1044, 2014 => 1041, 2011 => 1040, 2004 => 1036, 1999 => 1033, 1997 => 1032, 1994 => 1031, 1990 => 1029, 1985 => 1026, 1982 => 1025, 1974 => 1022, 1970 => 1020, 1966 => 1019, 1961 => 1017, 1956 => 1015, 1953 => 1014, 1948 => 1013, 1946 => 1012, 1943 => 1011, 1941 => 1010, 1938 => 1009, 1936 => 1007, 1935 => 1006, 1930 => 1003, 1928 => 1002, 1924 => 1000, 1921 => 999, 1913 => 996, 1909 => 994, 1905 => 993, 1900 => 991, 1895 => 989, 1892 => 988, 1887 => 987, 1885 => 986, 1882 => 985, 1880 => 984, 1877 => 983, 1875 => 981, 1874 => 980, 1869 => 977, 1867 => 976, 1863 => 974, 1860 => 973, 1857 => 972, 1855 => 971, 1852 => 970, 1848 => 968, 1843 => 965, 1840 => 964, 1830 => 960, 1826 => 959, 1821 => 957, 1816 => 955, 1813 => 954, 1808 => 953, 1806 => 952, 1803 => 951, 1801 => 950, 1798 => 949, 1796 => 947, 1795 => 946, 1790 => 944, 1787 => 943, 1785 => 942, 1781 => 940, 1778 => 939, 1768 => 935, 1764 => 934, 1759 => 932, 1754 => 930, 1751 => 929, 1746 => 928, 1744 => 927, 1741 => 926, 1739 => 925, 1736 => 924, 1734 => 922, 1733 => 921, 1728 => 919, 1725 => 918, 1723 => 917, 1719 => 915, 1716 => 914, 1713 => 913, 1711 => 912, 1707 => 910, 1701 => 907, 1698 => 906, 1696 => 905, 1687 => 898, 1683 => 896, 1675 => 893, 1660 => 891, 1651 => 890, 1634 => 889, 1630 => 887, 1626 => 886, 1622 => 885, 1619 => 884, 1616 => 883, 1614 => 882, 1602 => 879, 1599 => 878, 1596 => 877, 1594 => 876, 1588 => 872, 1581 => 869, 1575 => 866, 1572 => 865, 1570 => 864, 1564 => 862, 1562 => 861, 1551 => 855, 1547 => 854, 1541 => 851, 1537 => 850, 1532 => 847, 1525 => 843, 1521 => 841, 1514 => 837, 1506 => 831, 1496 => 829, 1494 => 828, 1486 => 823, 1479 => 819, 1473 => 816, 1469 => 815, 1462 => 814, 1459 => 813, 1453 => 810, 1449 => 809, 1446 => 808, 1444 => 807, 1439 => 805, 1435 => 804, 1432 => 803, 1430 => 802, 1424 => 799, 1416 => 795, 1414 => 794, 1410 => 792, 1404 => 789, 1400 => 788, 1397 => 787, 1394 => 786, 1388 => 783, 1382 => 782, 1379 => 781, 1373 => 778, 1369 => 777, 1366 => 776, 1364 => 775, 1362 => 774, 1359 => 773, 1357 => 772, 1354 => 771, 1349 => 769, 1342 => 768, 1339 => 767, 1335 => 765, 1330 => 763, 1321 => 762, 1319 => 761, 1315 => 760, 1308 => 759, 1306 => 758, 1303 => 757, 1300 => 756, 1293 => 752, 1287 => 749, 1284 => 748, 1281 => 747, 1277 => 745, 1271 => 743, 1268 => 742, 1262 => 740, 1260 => 739, 1257 => 738, 1254 => 737, 1250 => 735, 1244 => 733, 1241 => 732, 1235 => 730, 1233 => 729, 1230 => 728, 1228 => 727, 1225 => 726, 1214 => 724, 1210 => 723, 1207 => 722, 1202 => 719, 1199 => 718, 1191 => 711, 1184 => 709, 1180 => 707, 1175 => 705, 1171 => 704, 1166 => 703, 1164 => 702, 1160 => 701, 1156 => 700, 1152 => 699, 1145 => 698, 1143 => 697, 1138 => 696, 1135 => 695, 1132 => 694, 1127 => 693, 1124 => 692, 1121 => 691, 1118 => 690, 1115 => 689, 1113 => 688, 1111 => 687, 1092 => 686, 1075 => 685, 1065 => 677, 1059 => 674, 1055 => 673, 1052 => 672, 1049 => 671, 1043 => 668, 1037 => 667, 1034 => 666, 1028 => 663, 1024 => 662, 1021 => 661, 1019 => 660, 1017 => 659, 1014 => 658, 1012 => 657, 1009 => 656, 1004 => 654, 997 => 653, 994 => 652, 990 => 650, 985 => 648, 976 => 647, 974 => 646, 970 => 645, 963 => 644, 961 => 643, 958 => 642, 955 => 641, 950 => 637, 943 => 635, 939 => 633, 934 => 631, 929 => 630, 927 => 629, 923 => 628, 916 => 627, 914 => 626, 911 => 625, 908 => 624, 904 => 623, 902 => 622, 891 => 621, 869 => 619, 851 => 618, 841 => 610, 831 => 609, 733 => 519, 700 => 488, 698 => 487, 608 => 400, 604 => 399, 600 => 398, 596 => 397, 592 => 395, 586 => 393, 584 => 392, 579 => 391, 576 => 390, 566 => 388, 552 => 386, 544 => 385, 526 => 384, 521 => 382, 498 => 362, 488 => 355, 453 => 323, 448 => 320, 439 => 314, 435 => 312, 433 => 311, 430 => 310, 421 => 304, 417 => 302, 415 => 301, 318 => 206, 310 => 204, 308 => 203, 303 => 201, 300 => 200, 298 => 199, 284 => 188, 279 => 186, 229 => 138, 214 => 125, 212 => 124, 160 => 83, 75 => 6, 65 => 5, 54 => 1, 52 => 3, 39 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'default_frame.twig' %}
{% set body_class = 'product_page' %}
{% block stylesheet %}
<style>
\t.slick-slider {
\t\tmargin-bottom: 30px;
\t}
\t.slick-dots {
\t\tposition: absolute;
\t\tbottom: -45px;
\t\tdisplay: block;
\t\twidth: 100%;
\t\tpadding: 0;
\t\tlist-style: none;
\t\ttext-align: center;
\t}
\t.slick-dots li {
\t\tposition: relative;
\t\tdisplay: inline-block;
\t\twidth: 20px;
\t\theight: 20px;
\t\tmargin: 0 5px;
\t\tpadding: 0;
\t\tcursor: pointer;
\t}
\t.slick-dots li button {
\t\tfont-size: 0;
\t\tline-height: 0;
\t\tdisplay: block;
\t\twidth: 20px;
\t\theight: 20px;
\t\tpadding: 5px;
\t\tcursor: pointer;
\t\tcolor: transparent;
\t\tborder: 0;
\t\toutline: none;
\t\tbackground: transparent;
\t}
\t.slick-dots li button:hover,
\t.slick-dots li button:focus {
\t\toutline: none;
\t}
\t.slick-dots li button:hover:before,
\t.slick-dots li button:focus:before {
\t\topacity: 1;
\t}
\t.slick-dots li button:before {
\t\tcontent: \" \";
\t\tline-height: 20px;
\t\tposition: absolute;
\t\ttop: 0;
\t\tleft: 0;
\t\twidth: 12px;
\t\theight: 12px;
\t\ttext-align: center;
\t\topacity: .25;
\t\tbackground-color: black;
\t\tborder-radius: 50%;
\t}
\t.slick-dots li.slick-active button:before {
\t\topacity: .75;
\t\tbackground-color: black;
\t}
\t.slick-dots li button.thumbnail img {
\t\twidth: 0;
\t\theight: 0;
\t}
</style>
{% endblock %}
{% block javascript %}<script>
\$(function () {
var noChange = true;
\$('.item_visual').on('afterChange', function (event, slick, currentSlide) {
if (noChange) {
var \$img = \$(\"div[data-index='\" + currentSlide + \"']\").find('img');
if (\$('#classcategory_id1').length > 0) {
\$('#classcategory_id1').val(\"__unselected\");
\$('#classcategory_id1').change();
}
if (\$img.length > 0) {
var class1 = \$img.data('class_category1');
if (class1) {
\$('#classcategory_id1').val(class1);
\$('#classcategory_id1').change();
}
var class2 = \$img.data('class_category2');
if (class2) {
setTimeout(function () {
\$('#classcategory_id2').val(class2);
\$('#classcategory_id2').change();
}, 100);
}
}
} else {
noChange = true;
}
});
if (\$('#classcategory_id1').length > 0 && \$('#classcategory_id2').length > 0) {
\$('#classcategory_id2').change(function () {
var \$this = \$(this);
if (\$this.val()) {
var class1 = \$('#classcategory_id1').val();
if (\$('#apg_product_class_image_thumb-' + class1 + '-' + \$this.val()).length > 0) {
var class2 = \$this.val();
\$index = \$('#apg_product_class_image_thumb-' + class1 + '-' + class2).parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
{% if apgProductClassConfig.getImageType() == constant('Plugin\\\\\\ApgProductClassImage42\\\\\\Domain\\\\\\ClassImageType::CLASS_IMAGE1_ONLY') %}
\$('#classcategory_id1').change(function () {
var \$this = \$(this);
if (\$this.val() != \"__unselected\") {
var class1 = \$this.val();
if (\$(\"img[data-class_category1='\" + class1 + \"']\").length > 0) {
var class2 = \$(\"img[data-class_category1='\" + class1 + \"']\").data('class_category2');
\$index = \$('#apg_product_class_image_thumb-' + class1 + '-' + class2).parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
{% endif %}
} else if (\$('#classcategory_id1').length > 0) {
\$('#classcategory_id1').change(function () {
var \$this = \$(this);
if (\$this.val() != \"__unselected\") {
if (\$('#apg_product_class_image_thumb-' + \$this.val() + '-').length > 0) {
\$index = \$('#apg_product_class_image_thumb-' + \$this.val() + '-').parents('div').data('index');
\$('.item_visual').slick('slickGoTo', \$index);
noChange = false;
}
}
});
}
});
</script>
<script>
\t// ボリュームアップの自由入力対応
\t\$(function(){
\t\tconst volumeUpFlower = \"productoption2\";
\t\tconst volumeUpFlower_free = \"productoption16\";
\t\tvolumeup_free(volumeUpFlower_free, volumeUpFlower);
\t\tconst volumeUpBalloon = \"productoption1\";
\t\tconst volumeUpBalloon_free = \"productoption15\";
\t\tvolumeup_free(volumeUpBalloon_free, volumeUpBalloon);
\t\tfunction volumeup_free(free, option){
\t\t\tconst free_input = \$(`#\${free}`);
\t\t\tconst option_el = \$(`#\${option}`);
\t\t\tif(free_input.length > 0){
\t\t\t\tfree_input.css(\"width\", 100);
\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\toption_el.append(`<div class=\"form-check\"><input type=\"radio\" id=\"\${option}_free\" name=\"\${option}\" class=\"form-check-input js-volumeUp_free\" value=\"\"><label class=\"form-check-label\" for=\"\${option}_free\">自由入力</label></div>`)
\t\t\t\t\$(`#\${option} .form-check`).on('click', function() {
\t\t\t\t\tconst \$this_radio = \$(this).find('input[type=\"radio\"]');
\t\t\t\t\tif(\$this_radio.hasClass(\"js-volumeUp_free\")){
\t\t\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\t\t} else {
\t\t\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\t\t\tfree_input.val(\"\");
\t\t\t\t\t}
\t\t\t\t});
\t\t\t}
\t\t}
\t});
</script>
<script src=\"{{ asset('assets/js/signboard.js') }}\"></script>
<script>
\teccube.classCategories = {{ class_categories_as_json(Product) | raw }};
\t// 規格2に選択肢を割り当てる。
\tfunction fnSetClassCategories(form, classcat_id2_selected) {
\t\tvar \$form = \$(form);
\t\tvar product_id = \$form.find('input[name=product_id]').val();
\t\tvar \$sele1 = \$form.find('select[name=classcategory_id1]');
\t\tvar \$sele2 = \$form.find('select[name=classcategory_id2]');
\t\teccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
\t}
\t{% if form.classcategory_id2 is defined %}
\tfnSetClassCategories(
\t\t\$('#form1'), {{ form.classcategory_id2.vars.value | json_encode | raw }}
\t);
\t{% elseif form.classcategory_id1 is defined %}
\teccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value | json_encode | raw }}, null);
\t{% endif %}
</script>
<script>
\t\$(function() {
\t // 初期状態として、最初の .form-check に active クラスを付与してラジオボタンを選択
\t \$('#productoption2 .form-check:first').addClass('active').find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t \$('#productoption1 .form-check:first').addClass('active').find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t
\t // クリックイベントの設定
\t \$('#productoption2 .form-check, #productoption1 .form-check').on('click', function() {
\t\t// 対象の親を取得して、同じブロック内の .form-check から active を削除
\t\t\$(this).closest('#productoption2, #productoption1').find('.form-check').removeClass('active');
\t
\t\t// クリックした要素に active を付与
\t\t\$(this).addClass('active');
\t
\t\t// 対象のラジオボタンを選択状態にする
\t\t\$(this).find('input[type=\"radio\"]').prop('checked', true).trigger('change');
\t });
\t});
\t</script>
\t
<script>
\t\$(function () {
\t\t\$('[for=productoption2_2]').each(function () {
\t \$(this).append('<span class=\"em\">★一番人気</span>');
\t\t});
\t\t
\t\t// bfcache無効化
\t\t\$(window).bind('pageshow', function (event) {
\t\t\tif (event.originalEvent.persisted) {
\t\t\t\tlocation.reload(true);
\t\t\t}
\t\t});
\t\t// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
\t\t// img タグに width, height が付与されている.
\t\t// 630px 未満の画面サイズでは縦横比が壊れるための対策
\t\t// see https://github.com/EC-CUBE/ec-cube/pull/5023
\t\t// \$('.ec-grid2__cell').hide();
\t\tvar removeSize = function () {
\t\t\t\$('.slide-item').height('');
\t\t\t\$('.slide-item img')
\t\t\t\t.removeAttr('width')
\t\t\t\t.removeAttr('height')
\t\t\t\t.removeAttr('style');
\t\t};
\t\tvar slickInitial = function (slick) {
\t\t\t\$('.ec-grid2__cell').fadeIn(1500);
\t\t\tvar baseHeight = \$(slick.target).height();
\t\t\tvar baseWidth = \$(slick.target).width();
\t\t\tvar rate = baseWidth / baseHeight;
\t\t\t\$('.slide-item').height(baseHeight * rate); // 余白を削除する
\t\t\t// transform を使用することでCLSの影響を受けないようにする
\t\t\t\$('.slide-item img')
\t\t\t\t.css(
\t\t\t\t\t{
\t\t\t\t\t\t'transform-origin': 'top left',
\t\t\t\t\t\t'transform': 'scaleY(' + rate + ')',
\t\t\t\t\t\t'transition': 'transform .1s'
\t\t\t\t\t}
\t\t\t\t);
\t\t\t// 正しいサイズに近くなったら属性を解除する
\t\t\tsetTimeout(removeSize, 500);
\t\t};
\t\t\$('.item_visual').on('init', slickInitial);
\t\t// リサイズ時は CLS の影響を受けないため属性を解除する
\t\t\$(window).resize(removeSize);
\t\t
\t let tabs = \$(\".tab_btn .cont\");
\t\ttabs.on(\"click\", function() {
\t\t\t\$(\".tab_btn .cont\").removeClass(\"show\");
\t\t\t\$(this).addClass(\"show\");
\t\t\tconst index = tabs.index(\$(this));
\t\t\t\$(\".tab_box\").removeClass(\"show\").eq(index).addClass(\"show\");
\t\t});
\t\t
\t\t\$(\".js_more_view\").on(\"click\", function() {
\$(this).toggleClass(\"on_click\");
\$(\".text_hide\").slideToggle(1000);
});
\t});
</script>
<script>
\t\$(function () {
\t\t\$(\".open_cart_modal\").on(\"click\", function() {
\t\t\t\$('.ec-modal').hide();
\t\t\t\$(\"#cart_modal\").show();
\t\t});
\t\t
\t\t\$('.add-cart').on('click', function (event) {
\t\t\t\$form = \$('#form1');
\t\t\t{% if form.classcategory_id1 is defined %}
\t\t\t// 規格1フォームの必須チェック
\t\t\tif (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\t\t\t\t\$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#classcategory_id1')[0].setCustomValidity('');
\t\t\t}
\t\t\t{% endif %}
\t\t\t{% if form.classcategory_id2 is defined %}
\t\t\t// 規格2フォームの必須チェック
\t\t\tif (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\t\t\t\t\$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#classcategory_id2')[0].setCustomValidity('');
\t\t\t}
\t\t\t{% endif %}
\t\t\t// 個数フォームのチェック
\t\t\tif (\$('#quantity').val() < 1) {
\t\t\t\t\$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
\t\t\t\treturn true;
\t\t\t} else {
\t\t\t\t\$('#quantity')[0].setCustomValidity('');
\t\t\t}
\t\t\t// オプション項目のチェック
\t\t\tif (submit_check(\$form)) {
\t\t\t\treturn true;
\t\t\t}
\t\t\tevent.preventDefault();
\t\t\t\$.ajax({
\t\t\t\turl: \$form.attr('action'),
\t\t\t\ttype: \$form.attr('method'),
\t\t\t\tdata: \$form.serialize(),
\t\t\t\tdataType: 'json',
\t\t\t\tbeforeSend: function (xhr, settings) {
\t\t\t\t\t// Buttonを無効にする
\t\t\t\t\t\$('.add-cart').prop('disabled', true);
\t\t\t\t}
\t\t\t}).done(function (data) {
\t\t\t\t// レスポンス内のメッセージをalertで表示
\t\t\t\t\$.each(data.messages, function () {
\t\t\t\t\t\$('#added_cart .ec-modal-header').text(this);
\t\t\t\t});
\t\t\t\t\$('.ec-modal').hide();
\t\t\t\t\$(\"#added_cart\").show();
\t\t\t\t// カートブロックを更新する
\t\t\t\t\$.ajax({
\t\t\t\t\turl: \"{{ url('block_cart') }}\",
\t\t\t\t\ttype: 'GET',
\t\t\t\t\tdataType: 'html'
\t\t\t\t}).done(function (html) {
\t\t\t\t\t\$('.ec-headerRole__cart').html(html);
\t\t\t\t});
\t\t\t}).fail(function (data) {
\t\t\t\talert('{{ 'カートへの追加に失敗しました。'|trans }}');
\t\t\t}).always(function (data) {
\t\t\t\t// Buttonを有効にする
\t\t\t\t\$('.add-cart').prop('disabled', false);
\t\t\t});
\t\t});
\t});
\t\$('.ec-modal-wrap').on('click', function (e) {
\t\t// モーダル内の処理は外側にバブリングさせない
\t\te.stopPropagation();
\t});
\t\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function () {
\t\t\$('.ec-modal').hide()
\t});
</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<script>
\t\t// ...既存のHTMLの後などに追加...
document.addEventListener('DOMContentLoaded', function() {
// 対象IDリスト
const ids = [
'productoption3',
'productoption4',
'productoption5',
'productoption10',
'productoption6',
'productoption7',
'productoption8',
'productoption9'
];
// tatefuda_boxを集める配列
const tatefudaBoxes = [];
ids.forEach(function(id) {
const el = document.getElementById(id);
if (el) {
const parent = el.closest('.plg_aoio');
if (parent && !parent.classList.contains('tatefuda_box')) {
parent.classList.add('tatefuda_box');
tatefudaBoxes.push(parent);
}
}
});
if (tatefudaBoxes.length > 0) {
// tatefuda_boxの最初と最後を取得
const first = tatefudaBoxes[0];
const last = tatefudaBoxes[tatefudaBoxes.length - 1];
// tatefuda_box_areaを作成
const wrapper = document.createElement('div');
wrapper.className = 'tatefuda_box_area';
// 最初の前に挿入
first.parentNode.insertBefore(wrapper, first);
// tatefuda_boxを順にwrapperへ移動
tatefudaBoxes.forEach(function(box) {
wrapper.appendChild(box);
});
}
});
// document.addEventListener(\"DOMContentLoaded\", function () {
// // 要素の取得
// const recoArea = document.querySelector(\".produt_reco_text_area\");
// const sceneArea = document.querySelector(\".produt_scene_text_area\");
// const latestBlock = document.querySelector(\".ec-layoutRole__mainBottom .top_inner .latest_block\");
//
// // latest_blockの下に要素を移動
// if (latestBlock) {
// latestBlock.insertAdjacentElement(\"afterend\", sceneArea);
// latestBlock.insertAdjacentElement(\"afterend\", recoArea);
// }
//
// // produt_reco_textを分割して複数の<p>に
// const recoText = recoArea.querySelector(\".produt_reco_text\");
// if (recoText) {
// const parent = recoText.parentElement;
// const texts = recoText.textContent.split(\",\");
//
// // 元の要素を削除
// recoText.remove();
//
// // 分割したテキストを<p>にして挿入
// texts.forEach(text => {
// const p = document.createElement(\"p\");
// p.className = \"produt_reco_text\";
// p.textContent = text.trim();
// parent.appendChild(p);
// });
// }
// });
\t</script>
{% if(Product.id == app.request.server.get('ORDERMADE_PRODUCT_ID')) %}
<script>
\t\$(function() {
\t\tconst \$option_input = \$(\"#productoption14\");
\t\tconst \$option_box = \$option_input.parents(\".plg_aoio\");
\t\t\$option_box.css({
\t\t\t\"visibility\":\"hidden\",
\t\t\t\"height\":\"0\",
\t\t\t\"margin\":\"0\",
\t\t\t\"padding\":\"0\",
\t\t});
\t\t
\t\tconst \$price_input = \$(\"<input>\", {
\t\t\ttype: \"number\",
\t\t\tclass: \"ec-price__price\",
\t\t\tid: \"custom_price_input\",
\t\t\tmin: 0,
\t\t\tvalue: 0,
\t\t});
\t\t
\t\tconst \$price = \$(\".ec-price\");
\t\t\$price.empty()
\t\t\t.append(\$price_input)
\t\t\t.append('<span class=\"ec-price__tax\">円</span>')
\t\t\t.append('<p class=\"ec-price__tax\">税抜き金額をご入力ください</p>');
\t\t
\t\t\$price.on(\"input\", \"#custom_price_input\", function () {
\t\t\t\$option_input.val(this.value).trigger(\"change\");
\t\t});
\t});
</script>
{% endif %}
<script>
\tdocument.addEventListener(\"DOMContentLoaded\", function () {
const pcPriceElement = document.querySelector(\".pc .ec-productRole__price .ec-price .ec-price__price\");
const spPriceElement = document.querySelector(\".sp .ec-productRole__price .ec-price .ec-price__price\");
const container = document.querySelector('.mb-3 > label[for=\"classcategory_id1\"]')?.closest('.mb-3');
if (!container || !pcPriceElement) return;
let priceParagraph = container.querySelector(\".js_type_price\");
if (!priceParagraph) {
priceParagraph = document.createElement(\"p\");
priceParagraph.classList.add(\"js_type_price\");
container.appendChild(priceParagraph);
}
const updatePrice = () => {
const priceText = pcPriceElement.textContent.trim();
if (spPriceElement) {
spPriceElement.textContent = priceText;
}
priceParagraph.innerHTML = priceText
? `\${priceText}<span class=\"size\">税込</span>`
: \"\";
};
updatePrice();
const observer = new MutationObserver(updatePrice);
observer.observe(pcPriceElement, {
childList: true,
characterData: true,
subtree: true
});
});
</script>
<script>
(function () {
const rearrange = () => {
const titleArea = document.querySelector('.ec-productRole__title');
const priceArea = document.querySelector('.sp .ec-productRole__price');
// タイトルの隣にあるm-1を特定
const reviewArea = titleArea ? titleArea.parentElement.querySelector('.m-1') : null;
const originalParent = document.querySelector('.ec-productRole__profile') || (titleArea ? titleArea.parentElement : null);
if (!titleArea || !priceArea || !reviewArea) {
console.log('要素が見つかりません。リトライします...');
return false;
}
if (window.innerWidth <= 750) {
// SP: 価格の下へ移動
if (priceArea.nextElementSibling !== titleArea) {
priceArea.after(titleArea);
titleArea.after(reviewArea);
console.log('SPレイアウト適用');
}
} else {
// PC: 元の位置(親要素の先頭など)へ戻す
if (originalParent && !originalParent.contains(priceArea)) {
// すでにPC位置にある場合は何もしない
originalParent.prepend(titleArea);
titleArea.after(reviewArea);
console.log('PCレイアウト適用');
}
}
return true;
};
// 1. 読み込み時に実行(要素が出るまで数回試行)
let retryCount = 0;
const timer = setInterval(() => {
if (rearrange() || retryCount > 10) {
clearInterval(timer);
}
retryCount++;
}, 500);
// 2. 画面サイズ変更時に実行
window.addEventListener('resize', rearrange);
})();
</script>
{% endblock %}
{% block main %}
<section class=\"top_inner\">
\t<div id=\"main-contents\" class=\"colnum1\">
\t\t<div class=\"ec-productRole\">
\t\t\t<div class=\"ec-grid2\" id=\"product_main\">
\t\t\t\t<div class=\"ec-grid2__cell\">
\t\t\t\t\t<div class=\"ec-sliderItemRole\">
\t\t\t\t\t\t<div class=\"item_visual\">
\t\t\t\t\t\t\t{% for ProductImage in Product.ProductImage %}
\t\t\t\t\t\t\t<div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\" {% if loop.index> 1 %} loading=\"lazy\"{% endif %}></div>
\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t<div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
\t\t\t\t\t\t\t{% endfor %}{% if Product.hasProductClass -%}
{% for ProductClass in Product.getProductClasses() %}
{% if ProductClass.file_name %}
<div class=\"slide-item\">
{% if ProductClass.ClassCategory1 and ProductClass.ClassCategory2 %}
<img id=\"apg_product_class_image-{{ ProductClass.ClassCategory1.id }}-{{ ProductClass.ClassCategory2.id }}\"
src=\"{{ asset(ProductClass.getImageUrl(),'save_image') }}\">
{% elseif ProductClass.ClassCategory1 %}
<img id=\"apg_product_class_image-{{ ProductClass.ClassCategory1.id }}-\"
src=\"{{ asset(ProductClass.getImageUrl(),'save_image') }}\">
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t<div class=\"sp\">
\t\t\t\t\t\t\t{# 通常価格 #}
\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t<div class=\"ec-productRole__priceRegular\">
\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<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\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<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t{% if Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 販売価格 #}
\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t\t{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
<div class=\"btm_img_review_badge\">
<a href=\"#product_rating_area\" class=\"badge_img\">
<img src=\"/html/user_data/assets/img/common/btm_img_review_badge.jpg\" alt=\"\">
</a>
</div>
\t\t\t\t\t\t<div class=\"item_nav\">
\t\t\t\t\t\t\t{% for ProductImage in Product.ProductImage %}
\t\t\t\t\t\t\t<div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
\t\t\t\t\t\t\t{% endfor %}{% if Product.hasProductClass -%}
{% if Product.ProductImage.count > 0 %}
{% set imageCount = Product.ProductImage.count - 1 %}
{% else %}
{% set imageCount = 0 %}
{% endif %}
{% for ProductClass in Product.getProductClasses() %}
{% if ProductClass.file_name %}
{% set imageCount = imageCount + 1 %}
<div class=\"slideThumb\" data-index=\"{{ imageCount }}\">
{% if ProductClass.ClassCategory1 and ProductClass.ClassCategory2 %}
<img id=\"apg_product_class_image_thumb-{{ ProductClass.ClassCategory1.id }}-{{ ProductClass.ClassCategory2.id }}\"
src=\"{{ asset(ProductClass.getImageUrl(),'save_image') }}\"
data-class_category1=\"{{ ProductClass.ClassCategory1.id }}\"
data-class_category2=\"{{ ProductClass.ClassCategory2.id }}\">
{% elseif ProductClass.ClassCategory1 %}
<img id=\"apg_product_class_image_thumb-{{ ProductClass.ClassCategory1.id }}-\"
src=\"{{ asset(ProductClass.getImageUrl(),'save_image') }}\"
data-class_category1=\"{{ ProductClass.ClassCategory1.id }}\">
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t<div class=\"ec-grid2__cell\">
\t\t\t\t\t<div class=\"ec-productRole__profile\">
\t\t\t\t\t\t{# 商品名 #}
\t\t\t\t\t\t<div class=\"ec-productRole__title\">
\t\t\t\t\t\t\t<h1 class=\"ec-headingTitle\">{{ Product.name }}</h1>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{# タグ #}
\t\t\t\t\t\t<ul class=\"ec-productRole__tags\">
\t\t\t\t\t\t\t{% for Tag in Product.Tags %}
\t\t\t\t\t\t\t<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t</ul>
{% if Product.ViewData(1) is not empty or Product.ViewData(2) is not empty %}
\t\t\t\t\t\t<div class=\"color_num_area color_num_area_1_2\">
\t\t\t\t\t\t\t{% if Product.ViewData(1) is not empty %}
\t\t\t\t\t\t\t<p class=\"color color_num_data\">{{ Product.ViewData(1) }}</p>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% if Product.ViewData(2) is not empty %}
\t\t\t\t\t\t\t<p class=\"num color_num_data\">{{ Product.ViewData(2) }}本立</p>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{% if Product.ViewData(4) is not empty or Product.ViewData(5) is not empty %}
\t\t\t\t\t\t<div class=\"color_num_area color_num_area_4_5\">
\t\t\t\t\t\t\t{% if Product.ViewData(4) is not empty %}
\t\t\t\t\t\t\t<p class=\"dan color_num_data\">{{ Product.ViewData(4) }}段</p>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% if Product.ViewData(5) is not empty %}
\t\t\t\t\t\t\t<p class=\"leg_type color_num_data\">{{ Product.ViewData(5) }}</p>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{% if Product.ViewData(6) is not empty %}
\t\t\t\t\t\t<div class=\"color_num_area color_num_area_6\">
\t\t\t\t\t\t\t<p class=\"kago_type color_num_data\">{{ Product.ViewData(6) }}</p>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t<div class=\"pc\">
\t\t\t\t\t\t\t{# 通常価格 #}
\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t<div class=\"ec-productRole__priceRegular\">
\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<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\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<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t{% if Product.getPrice01Max is not null %}
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 販売価格 #}
\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t{% if Product.hasProductClass -%}
\t\t\t\t\t\t\t\t{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t<div class=\"ec-price\">
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% if Product.stock_find %}
\t\t\t\t\t\t\t<form class=\"form_add-cart\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
\t\t\t\t\t\t\t\t<div id=\"cart_modal\" class=\"ec-modal\">
\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\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<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<div class=\"ec-modal-box\">
\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__actions\">
\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<div class=\"ec-select\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_row(form.classcategory_id1) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.classcategory_id1) }}
\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{% if form.classcategory_id2 is defined %}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-select\">
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_row(form.classcategory_id2) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.classcategory_id2) }}
\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{% endif %}
\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{{ include('Product/option.twig') }}<div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_widget(form.quantity) }}
\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_errors(form.quantity) }}
\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{{ form_rest(form) }}
\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<button type=\"submit\" class=\"ec-inlineBtn--action add-cart\">
\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</div><!-- /.ec-modal-box -->
\t\t\t\t\t\t\t\t\t\t</div><!-- /.ec-modal-wrap -->
\t\t\t\t\t\t\t\t\t\t{% if Product.stock_min %}
\t\t\t\t\t\t\t\t\t\t\t<div class=\"ec-productRole__stock\">在庫数: <span class=\"stock_num\">{{ Product.stock_min }}{% if Product.stock_min != Product.stock_max %} ~ {{ Product.stock_max }}{% endif %}</span></div>
\t\t\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t\t\t</div><!-- /.ec-modal-overlay -->
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t</form>
\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\t\t\t\t\t\t\t\t<button type=\"button\" class=\"ec-blockBtn--action open_cart_modal\">
\t\t\t\t\t\t\t\t\t{{ 'カートに入れる'|trans }}
\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\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{{ 'ただいま品切れ中です。'|trans }}
\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<div id=\"added_cart\" class=\"ec-modal\">
\t\t\t\t\t\t\t<div class=\"ec-modal-overlay\">
\t\t\t\t\t\t\t\t<div class=\"ec-modal-wrap\">
\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<div class=\"ec-modal-header text-center\">{{ 'カートに追加しました。'|trans }}</div>
\t\t\t\t\t\t\t\t\t<div class=\"ec-modal-box\">
\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<span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
\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</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</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% if BaseInfo.option_favorite_product %}
\t\t\t\t\t\t<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
\t\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
\t\t\t\t\t\t\t\t{% if is_favorite == false %}
\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{{ 'お気に入りに追加'|trans }}
\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t{% else %}
\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel fav_done\" disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
\t\t\t\t\t\t\t\t</button>
\t\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</form>
<a class=\"page_product_review_btn\" href=\"#product_rating_area\"><span class=\"letter\">レビューを見る/書く</span></a>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# 商品コード #}
\t\t\t\t\t\t{% if Product.code_min is not empty %}
\t\t\t\t\t\t<div class=\"ec-productRole__code\">
\t\t\t\t\t\t\t{{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# 関連カテゴリ #}
\t\t\t\t\t\t{% if Product.ProductCategories is not empty %}
\t\t\t\t\t\t<div class=\"ec-productRole__category\">
\t\t\t\t\t\t\t<div>{{ '関連カテゴリ'|trans }}</div>
\t\t\t\t\t\t\t{% for ProductCategory in Product.ProductCategories %}
\t\t\t\t\t\t\t<ul>
\t\t\t\t\t\t\t\t<li>
\t\t\t\t\t\t\t\t\t{% for Category in ProductCategory.Category.path %}
\t\t\t\t\t\t\t\t\t<a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
\t\t\t\t\t\t\t\t\t<span>></span>{% endif -%}
\t\t\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t\t\t</li>
\t\t\t\t\t\t\t</ul>
\t\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- <div class=\"ec-productRole__description\">
\t\t\t\t\t\t\t<a href=\"/contact\">この商品について問い合わせる</a><br>
\t\t\t\t\t\t\t<a href=\"/help/tradelaw\">返品についての詳細はこちら</a>
\t\t\t\t\t\t</div> -->
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t</div>
\t\t\t{% if Product.freearea %}
\t\t\t<div class=\"ec-productRole__description\">
\t\t\t\t{{ include(template_from_string(Product.freearea), sandboxed = true) }}
\t\t\t</div>
\t\t\t{% endif %}
\t\t\t<!-- 同じカテゴリーの商品 -->
\t\t\t{% if Product.ProductCategories is not empty %}
\t\t\t{% set ChildCategory = Product.ProductCategories|filter(pc => pc.Category.parent is not null)|first %}
\t\t\t{% set ParentCategory = Product.ProductCategories|filter(pc => pc.Category.parent is null and pc.Category.name not in [\"新着商品\", \"迷ったらココ!!開店祝い等の定番!\", \"郵送商品(全国へ宅急便でお届けします)\", \"委託商品'(全国のお花屋さんに委託します)\"])|first %}
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t{% if ChildCategory is not empty %}
\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">{{ ChildCategory.Category.name }}の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t{% set Products = repository(\"Eccube\\\\Entity\\\\Product\").getQueryBuilderBySearchData({
\t\t\t\t\t\t'category_id': ChildCategory.Category
\t\t\t\t\t\t}).orderBy('p.create_date', 'DESC').setMaxResults(100).getQuery().getResult() %}
\t\t\t\t\t\t{% set FilteredProducts = Products|filter(p => p.id != Product.id)[:4] %}
\t\t\t\t\t\t{% if FilteredProducts|length > 0 %}
\t\t\t\t\t\t{% for Product in FilteredProducts %}
\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">{{ Product.name }}</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">{{ Product.getPrice02IncTaxMin|price }}</p>
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t{% elseif ParentCategory is not empty %}
\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">{{ ParentCategory.Category.name }}の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t{% set Products = repository(\"Eccube\\\\Entity\\\\Product\").getQueryBuilderBySearchData({
\t\t\t\t\t\t'category_id': ParentCategory.Category
\t\t\t\t\t\t}).orderBy('p.create_date', 'DESC').setMaxResults(100).getQuery().getResult() %}
\t\t\t\t\t\t{% set FilteredProducts = Products|filter(p => p.id != Product.id)[:4] %}
\t\t\t\t\t\t{% if FilteredProducts|length > 0 %}
\t\t\t\t\t\t{% for Product in FilteredProducts %}
\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">{{ Product.name }}</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">{{ Product.getPrice02IncTaxMin|price }}</p>
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t{% endif %}
\t\t\t</div>
\t\t\t{% endif %}
\t\t\t<!-- おすすめ商品 -->
\t\t\t{% if Product.ProductCategories is not empty %}
\t\t\t{% set ChildCategory = Product.ProductCategories|filter(pc => pc.Category.parent is not null)|first %}
\t\t\t{% set ParentCategory = Product.ProductCategories|filter(pc => pc.Category.parent is null and pc.Category.name not in [\"新着商品\", \"迷ったらココ!!開店祝い等の定番!\", \"郵送商品(全国へ宅急便でお届けします)\", \"委託商品'(全国のお花屋さんに委託します)\"])|first %}
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t{% if ChildCategory is not empty %}
\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">おすすめ商品</p>
\t\t\t\t\t<div class=\"product_grid osusume\">
\t\t\t\t\t\t{% set Products = repository(\"Eccube\\\\Entity\\\\Product\").getQueryBuilderBySearchData({
\t\t\t\t\t\t'category_id': ChildCategory.Category
\t\t\t\t\t\t}).orderBy('p.create_date', 'DESC').setMaxResults(100).getQuery().getResult() %}
\t\t\t\t\t\t{% set FilteredProducts = Products|filter(p => p.id != Product.id)[:200] %}
\t\t\t\t\t\t{% if FilteredProducts|length > 0 %}
\t\t\t\t\t\t{% for Product in FilteredProducts %}
\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">{{ Product.name }}</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">{{ Product.getPrice02IncTaxMin|price }}</p>
\t\t\t\t\t\t\t\t{#<p class=\"product_num\">{{ Product.display_rank }}</p>#}
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t{% elseif ParentCategory is not empty %}
\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">おすすめ商品</p>
\t\t\t\t\t<div class=\"product_grid osusume\">
\t\t\t\t\t\t{% set Products = repository(\"Eccube\\\\Entity\\\\Product\").getQueryBuilderBySearchData({
\t\t\t\t\t\t'category_id': ParentCategory.Category
\t\t\t\t\t\t}).orderBy('p.create_date', 'DESC').setMaxResults(100).getQuery().getResult() %}
\t\t\t\t\t\t{% set FilteredProducts = Products|filter(p => p.id != Product.id)[:200] %}
\t\t\t\t\t\t{% if FilteredProducts|length > 0 %}
\t\t\t\t\t\t{% for Product in FilteredProducts %}
\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
\t\t\t\t\t\t\t\t<div class=\"product_image\">
\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"Product\">
\t\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t\t<p class=\"product_name\">{{ Product.name }}</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">{{ Product.getPrice02IncTaxMin|price }}</p>
\t\t\t\t\t\t\t\t{#<p class=\"product_num\">{{ Product.display_rank }}</p>#}
\t\t\t\t\t\t\t</a>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t{% endif %}
\t\t\t</div>
\t\t\t{% endif %}
{% if Product.ViewData(9) is not empty %}
<div class=\"produt_reco_text_area\">
<h3 class=\"area_ttl\">こんな花をお探しの方におすすめ</h3>
\t\t\t\t<div class=\"frame\">
<p class=\"produt_reco_text\">{{ Product.ViewData(9) }}</p>
</div>
</div>
{% endif %}
{% if Product.ViewData(10) is not empty %}
<div class=\"produt_scene_text_area\">
<div class=\"frame\">
<h3 class=\"area_ttl\">こんなシーンでも使われています</h3>
<p class=\"produt_scene_text\">{{ Product.ViewData(10) }}</p>
</div>
</div>
{% endif %}
\t\t</div>
\t</div>
</section>
\t{{ include('Product/signboard_preview.twig') }}
{% endblock %}", "__string_template__d362ceaf77af70740a383695bedb01f0", "");
}
public function checkSecurity()
{
static $tags = array("set" => 3, "if" => 124, "for" => 384);
static $filters = array("escape" => 186, "raw" => 188, "json_encode" => 201, "trans" => 304, "no_image_product" => 388, "slice" => 391, "replace" => 391, "default" => 391, "price" => 644, "nl2br" => 752, "first" => 913, "filter" => 913, "length" => 927);
static $functions = array("constant" => 124, "asset" => 186, "class_categories_as_json" => 188, "url" => 355, "form_row" => 804, "form_errors" => 805, "include" => 814, "form_widget" => 815, "form_rest" => 819, "template_from_string" => 907, "repository" => 921);
try {
$this->sandbox->checkSecurity(
['set', 'if', 'for'],
['escape', 'raw', 'json_encode', 'trans', 'no_image_product', 'slice', 'replace', 'default', 'price', 'nl2br', 'first', 'filter', 'length'],
['constant', 'asset', 'class_categories_as_json', 'url', 'form_row', 'form_errors', 'include', 'form_widget', 'form_rest', 'template_from_string', 'repository']
);
} catch (SecurityError $e) {
$e->setSourceContext($this->source);
if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
$e->setTemplateLine($tags[$e->getTagName()]);
} elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
$e->setTemplateLine($filters[$e->getFilterName()]);
} elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
$e->setTemplateLine($functions[$e->getFunctionName()]);
}
throw $e;
}
}
}