<?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__33c90c7e9f51962249f85448901b8a04 */
class __TwigTemplate_81a72ff72696d5f8186d9674a85b9c70 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__33c90c7e9f51962249f85448901b8a04"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "__string_template__33c90c7e9f51962249f85448901b8a04"));
// line 3
$context["body_class"] = "product_page";
// line 1
$this->parent = $this->loadTemplate("default_frame.twig", "__string_template__33c90c7e9f51962249f85448901b8a04", 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\treturn;
\t\t\t}
\t\t\t// ボリュームアップ本体(ラジオ選択肢)が存在しない場合は、
\t\t\t// 表示を切り替えるラジオを差し込めないため、自由入力欄を常に表示しておく
\t\t\tif(option_el.length === 0){
\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\treturn;
\t\t\t}
\t\t\tfree_input.css(\"width\", 100);
\t\t\tfree_input.parents(\".plg_aoio\").hide();
\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\$(`#\${option} .form-check`).on('click', function() {
\t\t\t\tconst \$this_radio = \$(this).find('input[type=\"radio\"]');
\t\t\t\tif(\$this_radio.hasClass(\"js-volumeUp_free\")){
\t\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\t} else {
\t\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\t\tfree_input.val(\"\");
\t\t\t\t}
\t\t\t});
\t\t}
\t});
</script>
<script src=\"";
// line 193
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 195
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.', 195, $this->source); })()), 195, $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 206
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 206)) {
// line 207
echo "\tfnSetClassCategories(
\t\t\$('#form1'), ";
// line 208
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.', 208, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 208), "vars", [], "any", false, false, true, 208), "value", [], "any", false, false, true, 208), 208, $this->source));
echo "
\t);
\t";
} elseif (twig_get_attribute($this->env, $this->source, // line 210
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 210)) {
// line 211
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.', 211, $this->source); })()), "id", [], "any", false, false, true, 211), 211, $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.', 211, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 211), "vars", [], "any", false, false, true, 211), "value", [], "any", false, false, true, 211), 211, $this->source));
echo ", null);
\t";
}
// line 213
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);
});
// .review-container にid付与
\$(\".review-container\").attr(\"id\", \"product_rating_area\");
\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 311
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 311)) {
// line 312
echo "\t\t\t// 規格1フォームの必須チェック
\t\t\tif (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\t\t\t\t\$('#classcategory_id1')[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_id1')[0].setCustomValidity('');
\t\t\t}
\t\t\t";
}
// line 320
echo "
\t\t\t";
// line 321
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 321)) {
// line 322
echo "\t\t\t// 規格2フォームの必須チェック
\t\t\tif (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\t\t\t\t\$('#classcategory_id2')[0].setCustomValidity('";
// line 324
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 330
echo "
\t\t\t// 個数フォームのチェック
\t\t\tif (\$('#quantity').val() < 1) {
\t\t\t\t\$('#quantity')[0].setCustomValidity('";
// line 333
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 365
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 372
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 392
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.', 392, $this->source); })()), "name", [], "any", false, false, true, 392), 392, $this->source), "html", null, true);
echo "\",
\"image\": [
";
// line 394
$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.', 394, $this->source); })()), "ProductImage", [], "any", false, false, true, 394));
$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 395
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.', 395, $this->source); })()), "request", [], "any", false, false, true, 395), "schemeAndHttpHost", [], "any", false, false, true, 395), 395, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 395, $this->source), "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 395)) {
echo ",";
}
// line 396
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 398
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.', 398, $this->source); })()), "request", [], "any", false, false, true, 398), "schemeAndHttpHost", [], "any", false, false, true, 398), 398, $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 400
echo " ],
\"description\": \"";
// line 401
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, 401)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, true, 401), 401, $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.', 401, $this->source); })()), "description_detail", [], "any", false, false, true, 401), 401, $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.', 401, $this->source); })()), "description_detail", [], "any", false, false, true, 401))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 402
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.', 402, $this->source); })()), "code_min", [], "any", false, false, true, 402)) {
// line 403
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.', 403, $this->source); })()), "code_min", [], "any", false, false, true, 403), 403, $this->source), "html", null, true);
echo "\",
";
}
// line 405
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 407
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.', 407, $this->source); })()), "id", [], "any", false, false, true, 407)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 408
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.', 408, $this->source); })()), "currency", [], "any", false, false, true, 408), 408, $this->source), "html", null, true);
echo "\",
\"price\": ";
// line 409
((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 409, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 409)) ? (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.', 409, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 409), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 410
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.', 410, $this->source); })()), "stock_find", [], "any", false, false, true, 410)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
\t<script src=\"";
// line 414
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/product_option_ui.js"), "html", null, true);
echo "\"></script>
\t<script>
\$(function () {
// 立て札関連のオプションを1つの枠にまとめる
// (カート画面でも使うため product_option_ui.js に切り出し済み)
if (typeof initTatefudaBox === 'function') {
initTatefudaBox(\$(document));
}
});
// 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 457
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.', 457, $this->source); })()), "id", [], "any", false, false, true, 457) == 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.', 457, $this->source); })()), "request", [], "any", false, false, true, 457), "server", [], "any", false, false, true, 457), "get", [0 => "ORDERMADE_PRODUCT_ID"], "method", false, false, true, 457))) {
// line 458
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 489
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 579
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 580
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 588
$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.', 588, $this->source); })()), "ProductImage", [], "any", false, false, true, 588));
$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 589
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"], 589, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, true, 589)) ? (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.', 589, $this->source); })()), "name", [], "any", false, false, true, 589), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\" ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, true, 589) > 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 591
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, 591)) ? (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.', 591, $this->source); })()), "name", [], "any", false, false, true, 591), "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 592
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.', 592, $this->source); })()), "hasProductClass", [], "any", false, false, true, 592)) {
// line 593
$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.', 593, $this->source); })()), "getProductClasses", [], "method", false, false, true, 593));
foreach ($context['_seq'] as $context["_key"] => $context["ProductClass"]) {
// line 594
echo " ";
if (twig_get_attribute($this->env, $this->source, $context["ProductClass"], "file_name", [], "any", false, false, true, 594)) {
// line 595
echo " <div class=\"slide-item\">
";
// line 596
if ((twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 596) && twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 596))) {
// line 597
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, 597), "id", [], "any", false, false, true, 597), 597, $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, 597), "id", [], "any", false, false, true, 597), 597, $this->source), "html", null, true);
echo "\"
src=\"";
// line 598
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, 598), 598, $this->source), "save_image"), "html", null, true);
echo "\">
";
} elseif (twig_get_attribute($this->env, $this->source, // line 599
$context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 599)) {
// line 600
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, 600), "id", [], "any", false, false, true, 600), 600, $this->source), "html", null, true);
echo "-\"
src=\"";
// line 601
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, 601), 601, $this->source), "save_image"), "html", null, true);
echo "\">
";
}
// line 603
echo " </div>
";
}
// line 605
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 607
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 611
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.', 611, $this->source); })()), "hasProductClass", [], "any", false, false, true, 611)) {
// line 612
echo "<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t";
// line 613
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.', 613, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 613)) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 613, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 613) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 613, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 613)))) {
// line 614
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.', 614, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 614), 614, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 615
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 616
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 616, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 616)) && !(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.', 616, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 616)))) {
// line 617
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.', 617, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 617), 617, $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.', 617, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 617), 617, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 618
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 620
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
} else {
// line 622
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.', 622, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 622))) {
// line 623
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.', 623, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 623), 623, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 624
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 626
echo "\t\t\t\t\t\t\t";
}
// line 627
echo "\t\t\t\t\t\t\t";
// line 628
echo "\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t";
// line 629
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.', 629, $this->source); })()), "hasProductClass", [], "any", false, false, true, 629)) {
// line 630
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.', 630, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 630) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 630, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 630))) {
// line 631
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 632
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.', 632, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 632), 632, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 633
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 636
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 637
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.', 637, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 637), 637, $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.', 637, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 637), 637, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 638
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 641
echo "\t\t\t\t\t\t\t\t";
} else {
// line 642
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 643
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.', 643, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 643), 643, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 644
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 647
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 655
$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.', 655, $this->source); })()), "ProductImage", [], "any", false, false, true, 655));
$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 656
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, 656), 656, $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"], 656, $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 657
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.', 657, $this->source); })()), "hasProductClass", [], "any", false, false, true, 657)) {
// line 658
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.', 658, $this->source); })()), "ProductImage", [], "any", false, false, true, 658), "count", [], "any", false, false, true, 658) > 0)) {
// line 659
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.', 659, $this->source); })()), "ProductImage", [], "any", false, false, true, 659), "count", [], "any", false, false, true, 659) - 1);
// line 660
echo " ";
} else {
// line 661
echo " ";
$context["imageCount"] = 0;
// line 662
echo " ";
}
// line 663
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.', 663, $this->source); })()), "getProductClasses", [], "method", false, false, true, 663));
foreach ($context['_seq'] as $context["_key"] => $context["ProductClass"]) {
// line 664
echo " ";
if (twig_get_attribute($this->env, $this->source, $context["ProductClass"], "file_name", [], "any", false, false, true, 664)) {
// line 665
echo " ";
$context["imageCount"] = ((isset($context["imageCount"]) || array_key_exists("imageCount", $context) ? $context["imageCount"] : (function () { throw new RuntimeError('Variable "imageCount" does not exist.', 665, $this->source); })()) + 1);
// line 666
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.', 666, $this->source); })()), 666, $this->source), "html", null, true);
echo "\">
";
// line 667
if ((twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 667) && twig_get_attribute($this->env, $this->source, $context["ProductClass"], "ClassCategory2", [], "any", false, false, true, 667))) {
// line 668
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, 668), "id", [], "any", false, false, true, 668), 668, $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, 668), "id", [], "any", false, false, true, 668), 668, $this->source), "html", null, true);
echo "\"
src=\"";
// line 669
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, 669), 669, $this->source), "save_image"), "html", null, true);
echo "\"
data-class_category1=\"";
// line 670
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, 670), "id", [], "any", false, false, true, 670), 670, $this->source), "html", null, true);
echo "\"
data-class_category2=\"";
// line 671
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, 671), "id", [], "any", false, false, true, 671), 671, $this->source), "html", null, true);
echo "\">
";
} elseif (twig_get_attribute($this->env, $this->source, // line 672
$context["ProductClass"], "ClassCategory1", [], "any", false, false, true, 672)) {
// line 673
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, 673), "id", [], "any", false, false, true, 673), 673, $this->source), "html", null, true);
echo "-\"
src=\"";
// line 674
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, 674), 674, $this->source), "save_image"), "html", null, true);
echo "\"
data-class_category1=\"";
// line 675
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, 675), "id", [], "any", false, false, true, 675), 675, $this->source), "html", null, true);
echo "\">
";
}
// line 677
echo " </div>
";
}
// line 679
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 681
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 688
echo "\t\t\t\t\t\t<div class=\"ec-productRole__title\">
\t\t\t\t\t\t\t<h1 class=\"ec-headingTitle\">";
// line 689
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.', 689, $this->source); })()), "name", [], "any", false, false, true, 689), 689, $this->source), "html", null, true);
echo "</h1>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
// line 692
echo "\t\t\t\t\t\t<ul class=\"ec-productRole__tags\">
\t\t\t\t\t\t\t";
// line 693
$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); })()), "Tags", [], "any", false, false, true, 693));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 694
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, 694), 694, $this->source), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed($context["Tag"], 694, $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 696
echo "\t\t\t\t\t\t</ul>
";
// line 697
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.', 697, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 697)) || !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.', 697, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 697)))) {
// line 698
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 699
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.', 699, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 699))) {
// line 700
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.', 700, $this->source); })()), "ViewData", [0 => 1], "method", false, false, true, 700), 700, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t";
}
// line 702
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.', 702, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 702))) {
// line 703
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.', 703, $this->source); })()), "ViewData", [0 => 2], "method", false, false, true, 703), 703, $this->source), "html", null, true);
echo "本立</p>
\t\t\t\t\t\t\t";
}
// line 705
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 707
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.', 707, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 707)) || !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.', 707, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 707)))) {
// line 708
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 709
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.', 709, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 709))) {
// line 710
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.', 710, $this->source); })()), "ViewData", [0 => 4], "method", false, false, true, 710), 710, $this->source), "html", null, true);
echo "段</p>
\t\t\t\t\t\t\t";
}
// line 712
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.', 712, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 712))) {
// line 713
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.', 713, $this->source); })()), "ViewData", [0 => 5], "method", false, false, true, 713), 713, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t";
}
// line 715
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 717
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.', 717, $this->source); })()), "ViewData", [0 => 6], "method", false, false, true, 717))) {
// line 718
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 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); })()), "ViewData", [0 => 6], "method", false, false, true, 719), 719, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 722
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.', 722, $this->source); })()), "description_detail", [], "any", false, false, true, 722), 722, $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 726
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.', 726, $this->source); })()), "hasProductClass", [], "any", false, false, true, 726)) {
// line 727
echo "<div class=\"ec-productRole__priceRegular\">
\t\t\t\t\t\t\t\t";
// line 728
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.', 728, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 728)) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 728, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 728) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 728, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 728)))) {
// line 729
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.', 729, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 729), 729, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 730
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 731
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 731, $this->source); })()), "getPrice01Min", [], "any", false, false, true, 731)) && !(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.', 731, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 731)))) {
// line 732
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.', 732, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 732), 732, $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.', 732, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, true, 732), 732, $this->source)), "html", null, true);
echo "</span></span>
\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 733
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 735
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
} else {
// line 737
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.', 737, $this->source); })()), "getPrice01Max", [], "any", false, false, true, 737))) {
// line 738
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.', 738, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, true, 738), 738, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularTax\">";
// line 739
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 741
echo "\t\t\t\t\t\t\t";
}
// line 742
echo "\t\t\t\t\t\t\t";
// line 743
echo "\t\t\t\t\t\t\t<div class=\"ec-productRole__price\">
\t\t\t\t\t\t\t\t";
// line 744
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.', 744, $this->source); })()), "hasProductClass", [], "any", false, false, true, 744)) {
// line 745
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.', 745, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 745) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 745, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 745))) {
// line 746
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 747
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.', 747, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 747), 747, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 748
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 751
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 752
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.', 752, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 752), 752, $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.', 752, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 752), 752, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 753
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 756
echo "\t\t\t\t\t\t\t\t";
} else {
// line 757
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 758
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 758, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 758), 758, $this->source)), "html", null, true);
echo "</span>
\t\t\t\t\t\t\t\t\t<span class=\"ec-price__tax\">";
// line 759
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 762
echo "\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
// line 764
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.', 764, $this->source); })()), "stock_find", [], "any", false, false, true, 764)) {
// line 765
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.', 765, $this->source); })()), "id", [], "any", false, false, true, 765)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\" data-category-ids=\"";
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "Product/product_category_ids.twig", ["Product" => (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 765, $this->source); })())]);
echo "\">
\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 769
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 772
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 772)) {
// line 773
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 774
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.', 774, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 774), 774, $this->source), 'row');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 775
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.', 775, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 775), 775, $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 777
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 777)) {
// line 778
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 779
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.', 779, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 779), 779, $this->source), 'row');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 780
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.', 780, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 780), 780, $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 783
echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
}
// line 784
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 785
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.', 785, $this->source); })()), "quantity", [], "any", false, false, true, 785), 785, $this->source), 'widget');
echo "
\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
// line 786
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.', 786, $this->source); })()), "quantity", [], "any", false, false, true, 786), 786, $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 789
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.', 789, $this->source); })()), 789, $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 793
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 798
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.', 798, $this->source); })()), "stock_min", [], "any", false, false, true, 798)) {
// line 799
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.', 799, $this->source); })()), "stock_min", [], "any", false, false, true, 799), 799, $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.', 799, $this->source); })()), "stock_min", [], "any", false, false, true, 799) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 799, $this->source); })()), "stock_max", [], "any", false, false, true, 799))) {
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.', 799, $this->source); })()), "stock_max", [], "any", false, false, true, 799), 799, $this->source), "html", null, true);
}
echo "</span></div>
\t\t\t\t\t\t\t\t\t\t";
}
// line 801
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 807
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 811
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 813
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 817
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 820
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 821
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 824
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 825
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 831
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.', 831, $this->source); })()), "option_favorite_product", [], "any", false, false, true, 831)) {
// line 832
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.', 832, $this->source); })()), "id", [], "any", false, false, true, 832)]), "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 834
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 834, $this->source); })()) == false)) {
// line 835
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 836
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 839
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 842
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 846
echo "\t\t\t\t\t\t";
// line 847
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.', 847, $this->source); })()), "code_min", [], "any", false, false, true, 847))) {
// line 848
echo "\t\t\t\t\t\t<div class=\"ec-productRole__code\">
\t\t\t\t\t\t\t";
// line 849
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.', 849, $this->source); })()), "code_min", [], "any", false, false, true, 849), 849, $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.', 849, $this->source); })()), "code_min", [], "any", false, false, true, 849) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 849, $this->source); })()), "code_max", [], "any", false, false, true, 849))) {
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.', 849, $this->source); })()), "code_max", [], "any", false, false, true, 849), 849, $this->source), "html", null, true);
}
echo "</span>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 852
echo "\t\t\t\t\t\t";
// line 853
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.', 853, $this->source); })()), "ProductCategories", [], "any", false, false, true, 853))) {
// line 854
echo "\t\t\t\t\t\t<div class=\"ec-productRole__category\">
\t\t\t\t\t\t\t<div>";
// line 855
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 856
$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.', 856, $this->source); })()), "ProductCategories", [], "any", false, false, true, 856));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 857
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 859
$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, 859), "path", [], "any", false, false, true, 859));
$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 860
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, 860), 860, $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, 860), 860, $this->source), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 860) == false)) {
// line 861
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 863
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 866
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 868
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 875
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.', 875, $this->source); })()), "freearea", [], "any", false, false, true, 875)) {
// line 876
echo "\t\t\t<div class=\"ec-productRole__description\">
\t\t\t\t";
// line 877
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.', 877, $this->source); })()), "freearea", [], "any", false, false, true, 877), 877, $this->source)), array(), true, false, true);
echo "
\t\t\t</div>
\t\t\t";
}
// line 880
echo "
\t\t\t<!-- 同じカテゴリーの商品 -->
\t\t\t";
// line 882
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.', 882, $this->source); })()), "ProductCategories", [], "any", false, false, true, 882))) {
// line 883
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.', 883, $this->source); })()), "ProductCategories", [], "any", false, false, true, 883), 883, $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.', 883, $this->source); })()), "Category", [], "any", false, false, true, 883), "parent", [], "any", false, false, true, 883)); }));
// line 884
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.', 884, $this->source); })()), "ProductCategories", [], "any", false, false, true, 884), 884, $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.', 884, $this->source); })()), "Category", [], "any", false, false, true, 884), "parent", [], "any", false, false, true, 884)) && !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.', 884, $this->source); })()), "Category", [], "any", false, false, true, 884), "name", [], "any", false, false, true, 884), [0 => "新着商品", 1 => "迷ったらココ!!開店祝い等の定番!", 2 => "郵送商品(全国へ宅急便でお届けします)", 3 => "委託商品'(全国のお花屋さんに委託します)"])); }));
// line 885
echo "
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t";
// line 887
if ( !twig_test_empty((isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 887, $this->source); })()))) {
// line 888
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">";
// line 889
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.', 889, $this->source); })()), "Category", [], "any", false, false, true, 889), "name", [], "any", false, false, true, 889), 889, $this->source), "html", null, true);
echo "の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t";
// line 891
$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 892
(isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 892, $this->source); })()), "Category", [], "any", false, false, true, 892)]], "method", false, false, true, 891), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 891), "setMaxResults", [0 => 100], "method", false, false, true, 893), "getQuery", [], "method", false, false, true, 893), "getResult", [], "method", false, false, true, 893);
// line 894
echo "
\t\t\t\t\t\t";
// line 895
$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.', 895, $this->source); })()), 895, $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.', 895, $this->source); })()), "id", [], "any", false, false, true, 895) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 895, $this->source); })()), "id", [], "any", false, false, true, 895)); }), 0, 4);
// line 896
echo "
\t\t\t\t\t\t";
// line 897
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.', 897, $this->source); })())) > 0)) {
// line 898
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.', 898, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 899
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 900
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, 900)]), "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 902
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, 902), 902, $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 904
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 904), 904, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 905
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, 905), 905, $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 909
echo "\t\t\t\t\t\t";
}
// line 910
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
} elseif ( !twig_test_empty( // line 912
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 912, $this->source); })()))) {
// line 913
echo "\t\t\t\t<div class=\"same_category_product_block\">
\t\t\t\t\t<p class=\"same_category_name\">";
// line 914
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.', 914, $this->source); })()), "Category", [], "any", false, false, true, 914), "name", [], "any", false, false, true, 914), 914, $this->source), "html", null, true);
echo "の他の商品</p>
\t\t\t\t\t<div class=\"product_grid\">
\t\t\t\t\t\t";
// line 916
$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 917
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 917, $this->source); })()), "Category", [], "any", false, false, true, 917)]], "method", false, false, true, 916), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 916), "setMaxResults", [0 => 100], "method", false, false, true, 918), "getQuery", [], "method", false, false, true, 918), "getResult", [], "method", false, false, true, 918);
// line 919
echo "
\t\t\t\t\t\t";
// line 920
$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.', 920, $this->source); })()), 920, $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.', 920, $this->source); })()), "id", [], "any", false, false, true, 920) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 920, $this->source); })()), "id", [], "any", false, false, true, 920)); }), 0, 4);
// line 921
echo "
\t\t\t\t\t\t";
// line 922
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.', 922, $this->source); })())) > 0)) {
// line 923
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.', 923, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 924
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 925
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, 925)]), "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 927
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, 927), 927, $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 929
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 929), 929, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 930
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, 930), 930, $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 934
echo "\t\t\t\t\t\t";
}
// line 935
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
}
// line 938
echo "\t\t\t</div>
\t\t\t";
}
// line 940
echo "\t\t\t<!-- おすすめ商品 -->
\t\t\t";
// line 941
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.', 941, $this->source); })()), "ProductCategories", [], "any", false, false, true, 941))) {
// line 942
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.', 942, $this->source); })()), "ProductCategories", [], "any", false, false, true, 942), 942, $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.', 942, $this->source); })()), "Category", [], "any", false, false, true, 942), "parent", [], "any", false, false, true, 942)); }));
// line 943
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.', 943, $this->source); })()), "ProductCategories", [], "any", false, false, true, 943), 943, $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.', 943, $this->source); })()), "Category", [], "any", false, false, true, 943), "parent", [], "any", false, false, true, 943)) && !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.', 943, $this->source); })()), "Category", [], "any", false, false, true, 943), "name", [], "any", false, false, true, 943), [0 => "新着商品", 1 => "迷ったらココ!!開店祝い等の定番!", 2 => "郵送商品(全国へ宅急便でお届けします)", 3 => "委託商品'(全国のお花屋さんに委託します)"])); }));
// line 944
echo "
\t\t\t<div class=\"same_category_product_area\">
\t\t\t\t";
// line 946
if ( !twig_test_empty((isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 946, $this->source); })()))) {
// line 947
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 950
$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 951
(isset($context["ChildCategory"]) || array_key_exists("ChildCategory", $context) ? $context["ChildCategory"] : (function () { throw new RuntimeError('Variable "ChildCategory" does not exist.', 951, $this->source); })()), "Category", [], "any", false, false, true, 951)]], "method", false, false, true, 950), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 950), "setMaxResults", [0 => 100], "method", false, false, true, 952), "getQuery", [], "method", false, false, true, 952), "getResult", [], "method", false, false, true, 952);
// line 953
echo "
\t\t\t\t\t\t";
// line 954
$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.', 954, $this->source); })()), 954, $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.', 954, $this->source); })()), "id", [], "any", false, false, true, 954) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 954, $this->source); })()), "id", [], "any", false, false, true, 954)); }), 0, 200);
// line 955
echo "
\t\t\t\t\t\t";
// line 956
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.', 956, $this->source); })())) > 0)) {
// line 957
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.', 957, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 958
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 959
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, 959)]), "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 961
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, 961), 961, $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 963
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 963), 963, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 964
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, 964), 964, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t";
// line 966
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 969
echo "\t\t\t\t\t\t";
}
// line 970
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
} elseif ( !twig_test_empty( // line 972
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 972, $this->source); })()))) {
// line 973
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 976
$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 977
(isset($context["ParentCategory"]) || array_key_exists("ParentCategory", $context) ? $context["ParentCategory"] : (function () { throw new RuntimeError('Variable "ParentCategory" does not exist.', 977, $this->source); })()), "Category", [], "any", false, false, true, 977)]], "method", false, false, true, 976), "orderBy", [0 => "p.create_date", 1 => "DESC"], "method", false, false, true, 976), "setMaxResults", [0 => 100], "method", false, false, true, 978), "getQuery", [], "method", false, false, true, 978), "getResult", [], "method", false, false, true, 978);
// line 979
echo "
\t\t\t\t\t\t";
// line 980
$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.', 980, $this->source); })()), 980, $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.', 980, $this->source); })()), "id", [], "any", false, false, true, 980) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 980, $this->source); })()), "id", [], "any", false, false, true, 980)); }), 0, 200);
// line 981
echo "
\t\t\t\t\t\t";
// line 982
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.', 982, $this->source); })())) > 0)) {
// line 983
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.', 983, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 984
echo "\t\t\t\t\t\t<div class=\"product_item\">
\t\t\t\t\t\t\t<a href=\"";
// line 985
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, 985)]), "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 987
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, 987), 987, $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 989
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, true, 989), 989, $this->source), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t<p class=\"product_price\">";
// line 990
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, 990), 990, $this->source)), "html", null, true);
echo "</p>
\t\t\t\t\t\t\t\t";
// line 992
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 995
echo "\t\t\t\t\t\t";
}
// line 996
echo "\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t";
}
// line 999
echo "\t\t\t</div>
\t\t\t";
}
// line 1001
echo "
";
// line 1002
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.', 1002, $this->source); })()), "ViewData", [0 => 9], "method", false, false, true, 1002))) {
// line 1003
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 1006
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.', 1006, $this->source); })()), "ViewData", [0 => 9], "method", false, false, true, 1006), 1006, $this->source), "html", null, true);
echo "</p>
</div>
</div>
";
}
// line 1010
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.', 1010, $this->source); })()), "ViewData", [0 => 10], "method", false, false, true, 1010))) {
// line 1011
echo " <div class=\"produt_scene_text_area\">
<div class=\"frame\">
<h3 class=\"area_ttl\">こんなシーンでも使われています</h3>
<p class=\"produt_scene_text\">";
// line 1014
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.', 1014, $this->source); })()), "ViewData", [0 => 10], "method", false, false, true, 1014), 1014, $this->source), "html", null, true);
echo "</p>
</div>
</div>
";
}
// line 1018
echo "\t\t</div>
\t</div>
</section>
\t";
// line 1022
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__33c90c7e9f51962249f85448901b8a04";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 2007 => 1022, 2001 => 1018, 1994 => 1014, 1989 => 1011, 1986 => 1010, 1979 => 1006, 1974 => 1003, 1972 => 1002, 1969 => 1001, 1965 => 999, 1960 => 996, 1957 => 995, 1949 => 992, 1945 => 990, 1941 => 989, 1936 => 987, 1931 => 985, 1928 => 984, 1923 => 983, 1921 => 982, 1918 => 981, 1916 => 980, 1913 => 979, 1911 => 977, 1910 => 976, 1905 => 973, 1903 => 972, 1899 => 970, 1896 => 969, 1888 => 966, 1884 => 964, 1880 => 963, 1875 => 961, 1870 => 959, 1867 => 958, 1862 => 957, 1860 => 956, 1857 => 955, 1855 => 954, 1852 => 953, 1850 => 951, 1849 => 950, 1844 => 947, 1842 => 946, 1838 => 944, 1835 => 943, 1832 => 942, 1830 => 941, 1827 => 940, 1823 => 938, 1818 => 935, 1815 => 934, 1805 => 930, 1801 => 929, 1796 => 927, 1791 => 925, 1788 => 924, 1783 => 923, 1781 => 922, 1778 => 921, 1776 => 920, 1773 => 919, 1771 => 917, 1770 => 916, 1765 => 914, 1762 => 913, 1760 => 912, 1756 => 910, 1753 => 909, 1743 => 905, 1739 => 904, 1734 => 902, 1729 => 900, 1726 => 899, 1721 => 898, 1719 => 897, 1716 => 896, 1714 => 895, 1711 => 894, 1709 => 892, 1708 => 891, 1703 => 889, 1700 => 888, 1698 => 887, 1694 => 885, 1691 => 884, 1688 => 883, 1686 => 882, 1682 => 880, 1676 => 877, 1673 => 876, 1671 => 875, 1662 => 868, 1658 => 866, 1650 => 863, 1635 => 861, 1626 => 860, 1609 => 859, 1605 => 857, 1601 => 856, 1597 => 855, 1594 => 854, 1591 => 853, 1589 => 852, 1577 => 849, 1574 => 848, 1571 => 847, 1569 => 846, 1563 => 842, 1556 => 839, 1550 => 836, 1547 => 835, 1545 => 834, 1539 => 832, 1537 => 831, 1526 => 825, 1522 => 824, 1516 => 821, 1512 => 820, 1507 => 817, 1500 => 813, 1496 => 811, 1489 => 807, 1481 => 801, 1471 => 799, 1469 => 798, 1461 => 793, 1454 => 789, 1448 => 786, 1444 => 785, 1437 => 784, 1434 => 783, 1428 => 780, 1424 => 779, 1421 => 778, 1419 => 777, 1414 => 775, 1410 => 774, 1407 => 773, 1405 => 772, 1399 => 769, 1389 => 765, 1387 => 764, 1383 => 762, 1377 => 759, 1373 => 758, 1370 => 757, 1367 => 756, 1361 => 753, 1355 => 752, 1352 => 751, 1346 => 748, 1342 => 747, 1339 => 746, 1337 => 745, 1335 => 744, 1332 => 743, 1330 => 742, 1327 => 741, 1322 => 739, 1315 => 738, 1312 => 737, 1308 => 735, 1303 => 733, 1294 => 732, 1292 => 731, 1288 => 730, 1281 => 729, 1279 => 728, 1276 => 727, 1273 => 726, 1266 => 722, 1260 => 719, 1257 => 718, 1254 => 717, 1250 => 715, 1244 => 713, 1241 => 712, 1235 => 710, 1233 => 709, 1230 => 708, 1227 => 707, 1223 => 705, 1217 => 703, 1214 => 702, 1208 => 700, 1206 => 699, 1203 => 698, 1201 => 697, 1198 => 696, 1187 => 694, 1183 => 693, 1180 => 692, 1175 => 689, 1172 => 688, 1164 => 681, 1157 => 679, 1153 => 677, 1148 => 675, 1144 => 674, 1139 => 673, 1137 => 672, 1133 => 671, 1129 => 670, 1125 => 669, 1118 => 668, 1116 => 667, 1111 => 666, 1108 => 665, 1105 => 664, 1100 => 663, 1097 => 662, 1094 => 661, 1091 => 660, 1088 => 659, 1086 => 658, 1084 => 657, 1065 => 656, 1048 => 655, 1038 => 647, 1032 => 644, 1028 => 643, 1025 => 642, 1022 => 641, 1016 => 638, 1010 => 637, 1007 => 636, 1001 => 633, 997 => 632, 994 => 631, 992 => 630, 990 => 629, 987 => 628, 985 => 627, 982 => 626, 977 => 624, 970 => 623, 967 => 622, 963 => 620, 958 => 618, 949 => 617, 947 => 616, 943 => 615, 936 => 614, 934 => 613, 931 => 612, 928 => 611, 923 => 607, 916 => 605, 912 => 603, 907 => 601, 902 => 600, 900 => 599, 896 => 598, 889 => 597, 887 => 596, 884 => 595, 881 => 594, 877 => 593, 875 => 592, 864 => 591, 842 => 589, 824 => 588, 814 => 580, 804 => 579, 706 => 489, 673 => 458, 671 => 457, 625 => 414, 618 => 410, 614 => 409, 610 => 408, 606 => 407, 602 => 405, 596 => 403, 594 => 402, 589 => 401, 586 => 400, 576 => 398, 562 => 396, 554 => 395, 536 => 394, 531 => 392, 508 => 372, 498 => 365, 463 => 333, 458 => 330, 449 => 324, 445 => 322, 443 => 321, 440 => 320, 431 => 314, 427 => 312, 425 => 311, 325 => 213, 317 => 211, 315 => 210, 310 => 208, 307 => 207, 305 => 206, 291 => 195, 286 => 193, 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\treturn;
\t\t\t}
\t\t\t// ボリュームアップ本体(ラジオ選択肢)が存在しない場合は、
\t\t\t// 表示を切り替えるラジオを差し込めないため、自由入力欄を常に表示しておく
\t\t\tif(option_el.length === 0){
\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\treturn;
\t\t\t}
\t\t\tfree_input.css(\"width\", 100);
\t\t\tfree_input.parents(\".plg_aoio\").hide();
\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\$(`#\${option} .form-check`).on('click', function() {
\t\t\t\tconst \$this_radio = \$(this).find('input[type=\"radio\"]');
\t\t\t\tif(\$this_radio.hasClass(\"js-volumeUp_free\")){
\t\t\t\t\tfree_input.parents(\".plg_aoio\").show();
\t\t\t\t} else {
\t\t\t\t\tfree_input.parents(\".plg_aoio\").hide();
\t\t\t\t\tfree_input.val(\"\");
\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);
});
// .review-container にid付与
\$(\".review-container\").attr(\"id\", \"product_rating_area\");
\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 src=\"{{ asset('assets/js/product_option_ui.js') }}\"></script>
\t<script>
\$(function () {
// 立て札関連のオプションを1つの枠にまとめる
// (カート画面でも使うため product_option_ui.js に切り出し済み)
if (typeof initTatefudaBox === 'function') {
initTatefudaBox(\$(document));
}
});
// 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\" data-category-ids=\"{{ include('Product/product_category_ids.twig', {Product: Product}) }}\">
\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__33c90c7e9f51962249f85448901b8a04", "");
}
public function checkSecurity()
{
static $tags = array("set" => 3, "if" => 124, "for" => 394);
static $filters = array("escape" => 193, "raw" => 195, "json_encode" => 208, "trans" => 314, "no_image_product" => 398, "slice" => 401, "replace" => 401, "default" => 401, "price" => 614, "nl2br" => 722, "first" => 883, "filter" => 883, "length" => 897);
static $functions = array("constant" => 124, "asset" => 193, "class_categories_as_json" => 195, "url" => 365, "include" => 765, "form_row" => 774, "form_errors" => 775, "form_widget" => 785, "form_rest" => 789, "template_from_string" => 877, "repository" => 891);
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', 'include', 'form_row', 'form_errors', '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;
}
}
}