<?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__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42 */
class __TwigTemplate_b9c36aa56f816924628381d563fab24601469bf5871727f4759921ad74053636 extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
}
protected function doGetParent(array $context)
{
// line 11
return "fullwidth_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42"));
// line 13
$context["body_class"] = "product_page";
// line 11
$this->parent = $this->loadTemplate("fullwidth_frame.twig", "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42", 11);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
// line 15
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 16
echo " <style>
.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 95
public function block_javascript($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
// line 96
echo " <script>
eccube.classCategories = ";
// line 97
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 97, $this->source); })()));
echo ";
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
";
// line 108
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 108)) {
// line 109
echo " fnSetClassCategories(
\$('#form1'), ";
// line 110
echo json_encode(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 110, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 110), "vars", [], "any", false, false, false, 110), "value", [], "any", false, false, false, 110));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 112
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 112)) {
// line 113
echo " eccube.checkStock(\$('#form1'), ";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 113, $this->source); })()), "id", [], "any", false, false, false, 113), "html", null, true);
echo ", ";
echo json_encode(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 113, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 113), "vars", [], "any", false, false, false, 113), "value", [], "any", false, false, false, 113));
echo ", null);
";
}
// line 115
echo " </script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\$('.slide-item').height(baseHeight * rate); // 余白を削除する
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
\$('.item_visual').on('init beforeChange', function(event, slick, currentSlide){
var i = (currentSlide ? currentSlide : 0) + 1;
var progress = (i / slick.slideCount) * 100;
\$('.progress-bar').css('width', progress + '%');
});
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: true,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
//オプションの必須チェック
// choice_display_area要素を取得
var \$choiceDisplayAreas = \$('.choice_display_area');
// 全ての要素がdata-select-resultがtrueかどうかチェックする関数
function allDataSelectResultTrue() {
var allTrue = true;
\$choiceDisplayAreas.each(function() {
if (\$(this).attr('data-select-result') !== 'true') {
allTrue = false;
return false; // eachループを抜ける
}
});
return allTrue;
}
// 全ての要素がdata-select-resultがtrueでなければ.error_message_cartを表示し、クリックイベントを中止
if (!allDataSelectResultTrue()) {
\$('.error_message_cart').show();
event.preventDefault(); // クリックイベントを中止
event.stopImmediatePropagation(); // 他のイベントハンドラーに影響を与えないようにする
return;
}
";
// line 210
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 210)) {
// line 211
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 213
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 219
echo "
";
// line 220
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 220)) {
// line 221
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 223
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 229
echo "
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 232
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html", null, true);
echo "');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').text(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"";
// line 259
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
echo "\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('";
// line 266
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"";
// line 286
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 286, $this->source); })()), "name", [], "any", false, false, false, 286), "html", null, true);
echo "\",
\"image\": [
";
// line 288
$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.', 288, $this->source); })()), "ProductImage", [], "any", false, false, false, 288));
$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 289
echo " \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 289, $this->source); })()), "request", [], "any", false, false, false, 289), "schemeAndHttpHost", [], "any", false, false, false, 289), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 289)) {
echo ",";
}
// line 290
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 292
echo " \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 292, $this->source); })()), "request", [], "any", false, false, false, 292), "schemeAndHttpHost", [], "any", false, false, false, 292), "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 294
echo " ],
\"description\": \"";
// line 295
echo twig_escape_filter($this->env, twig_slice($this->env, twig_replace_filter(((twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", true, true, false, 295)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, false, 295), twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 295, $this->source); })()), "description_detail", [], "any", false, false, false, 295))) : (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 295, $this->source); })()), "description_detail", [], "any", false, false, false, 295))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 296
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.', 296, $this->source); })()), "code_min", [], "any", false, false, false, 296)) {
// line 297
echo " \"sku\": \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 297, $this->source); })()), "code_min", [], "any", false, false, false, 297), "html", null, true);
echo "\",
";
}
// line 299
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 301
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.', 301, $this->source); })()), "id", [], "any", false, false, false, 301)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 302
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config", $context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.', 302, $this->source); })()), "currency", [], "any", false, false, false, 302), "html", null, true);
echo "\",
\"price\": ";
// line 303
((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 303, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 303)) ? (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.', 303, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 303), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 304
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.', 304, $this->source); })()), "stock_find", [], "any", false, false, false, 304)) ? ("InStock") : ("OutOfStock"));
echo "\",
\"optionPrice\": 0
}
}
</script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 312
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 313
echo " <div class=\"ec-productRole\">
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual\">
";
// line 319
$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.', 319, $this->source); })()), "ProductImage", [], "any", false, false, false, 319));
$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 320
echo " <div class=\"slide-item\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 320)) ? (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.', 320, $this->source); })()), "name", [], "any", false, false, false, 320), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\"";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 320) > 1)) {
echo " loading=\"lazy\"";
}
echo "></div>
";
$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 322
echo " <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, false, 322)) ? (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.', 322, $this->source); })()), "name", [], "any", false, false, false, 322), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\"></div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 324
echo " </div>
<div class=\"progress\">
<div class=\"progress-bar\"></div>
</div>
<div class=\"item_nav\">
";
// line 331
$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.', 331, $this->source); })()), "ProductImage", [], "any", false, false, false, 331));
$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 332
echo " <div class=\"slideThumb\" data-index=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, false, 332), "html", null, true);
echo "\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 334
echo " </div>
</div>
</div>
<div class=\"ec-grid2__cell\">
<div class=\"ec-productRole__profile\">
";
// line 341
echo " <ul class=\"ec-productRole__tags\">
";
// line 343
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.', 343, $this->source); })()), "ViewData", [0 => 1], "method", false, false, false, 343))) {
// line 344
echo " ";
$context["view_data_icons"] = twig_reverse_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.', 344, $this->source); })()), "ViewData", [0 => 1], "method", false, false, false, 344));
// line 345
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["view_data_icons"]) || array_key_exists("view_data_icons", $context) ? $context["view_data_icons"] : (function () { throw new RuntimeError('Variable "view_data_icons" does not exist.', 345, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["view_data_icon"]) {
// line 346
echo " <li class=\"ec-productRole__tag\">";
echo twig_escape_filter($this->env, $context["view_data_icon"], "html", null, true);
echo "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['view_data_icon'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 348
echo " ";
}
// line 349
echo "
</ul>
";
// line 354
echo " ";
// line 363
echo "
";
// line 365
echo " ";
$context["parentId"] = 34;
// line 366
echo " ";
$context["childCategories"] = [];
// line 367
echo " ";
// line 368
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.', 368, $this->source); })()), "ProductCategories", [], "any", false, false, false, 368));
foreach ($context['_seq'] as $context["_key"] => $context["productCategory"]) {
// line 369
echo " ";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["productCategory"], "Category", [], "any", false, false, false, 369), "Parent", [], "any", false, false, false, 369) && (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["productCategory"], "Category", [], "any", false, false, false, 369), "Parent", [], "any", false, false, false, 369), "id", [], "any", false, false, false, 369) == (isset($context["parentId"]) || array_key_exists("parentId", $context) ? $context["parentId"] : (function () { throw new RuntimeError('Variable "parentId" does not exist.', 369, $this->source); })())))) {
// line 370
echo " ";
$context["childCategories"] = twig_array_merge((isset($context["childCategories"]) || array_key_exists("childCategories", $context) ? $context["childCategories"] : (function () { throw new RuntimeError('Variable "childCategories" does not exist.', 370, $this->source); })()), [0 => twig_get_attribute($this->env, $this->source, $context["productCategory"], "Category", [], "any", false, false, false, 370)]);
// line 371
echo " ";
}
// line 372
echo " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['productCategory'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 373
echo " <div class=\"ec-productRole__title_brand\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["childCategories"]) || array_key_exists("childCategories", $context) ? $context["childCategories"] : (function () { throw new RuntimeError('Variable "childCategories" does not exist.', 373, $this->source); })()), 0, [], "array", false, false, false, 373), "name", [], "any", false, false, false, 373), "html", null, true);
echo "</div>
";
// line 377
echo " <div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">";
// line 378
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 378, $this->source); })()), "name", [], "any", false, false, false, 378), "html", null, true);
echo "</h2>
";
// line 381
echo " ";
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.', 381, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 381)) {
// line 382
echo " <div class=\"ec-headingTitle_favorite\">
<form action=\"";
// line 383
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.', 383, $this->source); })()), "id", [], "any", false, false, false, 383)]), "html", null, true);
echo "\" method=\"post\">
<div class=\"\">
";
// line 385
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 385, $this->source); })()) == false)) {
// line 386
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite\">
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
<path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
\tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
\tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
\tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
</svg>
</button>
";
} else {
// line 396
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite ec-blockBtn--favorite_disabled\" disabled=\"disabled\">
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
<path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
\tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
\tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
\tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
</svg>
</button>
";
}
// line 406
echo " </div>
</form>
</div><!--/.ec-headingTitle_favorite-->
";
}
// line 410
echo "
</div>
";
// line 414
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.', 414, $this->source); })()), "code_min", [], "any", false, false, false, 414))) {
// line 415
echo " <div class=\"ec-productRole__code\">
";
// line 416
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, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 416, $this->source); })()), "code_min", [], "any", false, false, false, 416), "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.', 416, $this->source); })()), "code_min", [], "any", false, false, false, 416) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 416, $this->source); })()), "code_max", [], "any", false, false, false, 416))) {
echo " ~ ";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 416, $this->source); })()), "code_max", [], "any", false, false, false, 416), "html", null, true);
}
echo "</span>
</div>
";
}
// line 419
echo "
";
// line 421
echo " ";
// line 439
echo "
";
// line 441
echo " <div class=\"ec-productRole__price\">
";
// line 442
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.', 442, $this->source); })()), "hasProductClass", [], "any", false, false, false, 442)) {
// line 443
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.', 443, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 443) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 443, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 443))) {
// line 444
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 445
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 445, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 445)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 446
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</div>
";
} else {
// line 449
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 450
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 450, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 450)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 450, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 450)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 451
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</div>
";
}
// line 454
echo " ";
} else {
// line 455
echo " <div class=\"ec-price\">
<span class=\"ec-price__price\">";
// line 456
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 456, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 456)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 457
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</div>
";
}
// line 460
echo " </div>
";
// line 463
echo " ";
// line 480
echo "
<form action=\"";
// line 481
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.', 481, $this->source); })()), "id", [], "any", false, false, false, 481)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 482
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.', 482, $this->source); })()), "stock_find", [], "any", false, false, false, 482)) {
// line 483
echo " <div class=\"ec-productRole__actions\">
";
// line 485
echo " ";
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 485)) {
// line 486
echo " <div class=\"standard_input ec-select\">
";
// line 487
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 487, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 487), 'row');
echo "
";
// line 488
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 488, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 488), 'errors');
echo "
</div>
";
// line 490
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 490)) {
// line 491
echo " <div class=\"standard_input ec-select\">
";
// line 492
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 492, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 492), 'row');
echo "
";
// line 493
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 493, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 493), 'errors');
echo "
</div><!--/.standard_input-->
";
}
// line 496
echo " ";
}
// line 497
echo "
";
// line 499
echo " <div id=\"option_input\">
";
// line 500
echo twig_include($this->env, $context, "Product/option.twig", array(), true, true);
echo "
";
// line 501
echo twig_include($this->env, $context, "Product/option_js.twig", array(), true, true);
echo "
</div><!--/#option_input-->
";
// line 505
echo " <div class=\"error_message_cart\">
<span>※ 未設定項目を選択してください</span>
</div><!--/.error_message_cart-->
";
// line 526
echo "
</div>
";
// line 530
echo " <div class=\"free_info_area\">
<span>250,000円<span class=\"zeikomi\">(税別)</span>以上のご購入で送料無料</span>
</div><!--/.free_info_area-->
<p class=\"delivery_txt\">商品のお届け先によって、お届けに制限がある場合や、配送送料のご負担が必要となる場合がございます。ご注文前に<a target=\"_blank\" class=\"bottom_info\" href=\"";
// line 535
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "delivery\">こちら</a>よりご確認ください。</p>
<div class=\"cart_btn_area\">
<div class=\"cart_btn_area__left\">
";
// line 541
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.', 541, $this->source); })()), "ViewData", [0 => 2], "method", false, false, false, 541))) {
// line 542
echo " <div class=\"cart_viewdata\">
<span>お届け目安</span> <span class=\"num\">";
// line 543
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 543, $this->source); })()), "ViewData", [0 => 2], "method", false, false, false, 543), "html", null, true);
echo "</span></li>
</div><!--/.cart_viewdata-->
";
}
// line 546
echo "
<div class=\"ec-numberInput\">
";
// line 549
echo " ";
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 549, $this->source); })()), "quantity", [], "any", false, false, false, 549), 'widget');
echo "
";
// line 550
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 550, $this->source); })()), "quantity", [], "any", false, false, false, 550), 'errors');
echo "
</div>
</div><!--/.cart_btn_area__left-->
<div class=\"ec-productRole__btn\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
";
// line 556
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html", null, true);
echo "
</button>
</div>
</div><!--/.cart_btn_area-->
";
} else {
// line 562
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 564
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
</button>
</div>
";
}
// line 568
echo "
";
// line 569
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 569, $this->source); })()), 'rest');
echo "
</form>
<ul class=\"cart_btn_bottom_info\">
<li><a class=\"bottom_info\" href=\"";
// line 573
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "guide#target_02\">ご注文方法について</a></li>
<li><a class=\"bottom_info\" href=\"";
// line 574
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "contact\">お問い合わせはこちら</a></li>
</ul>
";
// line 578
echo " ";
$context["page_url"] = (($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage") . "products/detail/") . twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 578, $this->source); })()), "id", [], "any", false, false, false, 578));
// line 579
echo " ";
$context["image_url"] = ("https://online.ikus.furniture" . $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(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.', 579, $this->source); })()), "ProductImage", [], "any", false, false, false, 579), 0, [], "array", false, false, false, 579), "save_image"));
// line 580
echo "
<ul class=\"cart_btn_bottom_sns\">
<li>
<a class=\"pinterest\" href=\"https://www.pinterest.com/pin/create/button/?url=";
// line 583
echo twig_escape_filter($this->env, twig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url", $context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.', 583, $this->source); })())), "html", null, true);
echo "&media=";
echo twig_escape_filter($this->env, (isset($context["image_url"]) || array_key_exists("image_url", $context) ? $context["image_url"] : (function () { throw new RuntimeError('Variable "image_url" does not exist.', 583, $this->source); })()), "html", null, true);
echo "\" target=\"_blank\">
<img src=\"";
// line 584
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_pinterest.svg"), "html", null, true);
echo "\">
</a>
</li>
<li>
<a class=\"line\" href=\"https://social-plugins.line.me/lineit/share?url=";
// line 588
echo twig_escape_filter($this->env, twig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url", $context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.', 588, $this->source); })())), "html", null, true);
echo "\" target=\"_blank\">
<img src=\"";
// line 589
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_line.svg"), "html", null, true);
echo "\">
</a>
</li>
<li>
<a class=\"twitter\" href=\"https://twitter.com/intent/tweet?url=";
// line 593
echo twig_escape_filter($this->env, twig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url", $context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.', 593, $this->source); })())), "html", null, true);
echo "\" target=\"_blank\">
<img src=\"";
// line 594
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_twitter.svg"), "html", null, true);
echo "\">
</a>
</li>
<li>
<a class=\"facebook\" href=\"https://www.facebook.com/sharer/sharer.php?u=";
// line 598
echo twig_escape_filter($this->env, twig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url", $context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.', 598, $this->source); })())), "html", null, true);
echo "\" target=\"_blank\">
<img src=\"";
// line 599
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_facebook.svg"), "html", null, true);
echo "\">
</a>
</li>
</ul>
";
// line 605
echo twig_include($this->env, $context, "Product/option_description.twig");
echo "<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 608
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html", null, true);
echo "\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">";
// line 609
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html", null, true);
echo "</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">";
// line 612
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html", null, true);
echo "</span>
<a href=\"";
// line 613
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
echo "\" class=\"ec-inlineBtn--action\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html", null, true);
echo "</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<section id=\"product_free_bottom\">
<div class=\"product_title__inner\">
<h2 class=\"product_ja_title\">詳細情報</h2>
</div><!--/.home_title__inner-->
<div class=\"product_free_bottom__inner\">
";
// line 631
echo twig_nl2br(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 631, $this->source); })()), "description_detail", [], "any", false, false, false, 631));
echo "
</div>
</section><!--/#product_free_bottom-->
";
// line 636
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.', 636, $this->source); })()), "ViewData", [0 => 4], "method", false, false, false, 636))) {
// line 637
echo " <section id=\"product_free_bottom\">
<div class=\"product_title__inner\">
<h2 class=\"product_ja_title\">特記事項</h2>
</div><!--/.home_title__inner-->
<div class=\"product_free_bottom__inner\">
";
// line 642
echo twig_nl2br(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 642, $this->source); })()), "ViewData", [0 => 4], "method", false, false, false, 642));
echo "
</div>
</section><!--/#product_free_bottom-->
";
}
// line 646
echo "
";
// line 648
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.', 648, $this->source); })()), "freearea", [], "any", false, false, false, 648)) {
// line 649
echo " ";
// line 660
echo " ";
}
// line 661
echo "
";
// line 664
echo " ";
echo twig_include($this->env, $context, "ProductReview42/Resource/template/default/review.twig");
echo "
<div class=\"ec-layoutRole__contents\">
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
public function getTemplateName()
{
return "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1138 => 664, 1134 => 661, 1131 => 660, 1129 => 649, 1127 => 648, 1123 => 646, 1116 => 642, 1109 => 637, 1107 => 636, 1100 => 631, 1077 => 613, 1073 => 612, 1067 => 609, 1063 => 608, 1057 => 605, 1048 => 599, 1044 => 598, 1037 => 594, 1033 => 593, 1026 => 589, 1022 => 588, 1015 => 584, 1009 => 583, 1004 => 580, 1001 => 579, 998 => 578, 992 => 574, 988 => 573, 981 => 569, 978 => 568, 971 => 564, 967 => 562, 958 => 556, 949 => 550, 944 => 549, 940 => 546, 934 => 543, 931 => 542, 928 => 541, 920 => 535, 913 => 530, 908 => 526, 902 => 505, 896 => 501, 892 => 500, 889 => 499, 886 => 497, 883 => 496, 877 => 493, 873 => 492, 870 => 491, 868 => 490, 863 => 488, 859 => 487, 856 => 486, 853 => 485, 850 => 483, 848 => 482, 844 => 481, 841 => 480, 839 => 463, 835 => 460, 829 => 457, 825 => 456, 822 => 455, 819 => 454, 813 => 451, 807 => 450, 804 => 449, 798 => 446, 794 => 445, 791 => 444, 789 => 443, 787 => 442, 784 => 441, 781 => 439, 779 => 421, 776 => 419, 764 => 416, 761 => 415, 758 => 414, 753 => 410, 747 => 406, 735 => 396, 723 => 386, 721 => 385, 716 => 383, 713 => 382, 710 => 381, 705 => 378, 702 => 377, 695 => 373, 689 => 372, 686 => 371, 683 => 370, 680 => 369, 675 => 368, 673 => 367, 670 => 366, 667 => 365, 664 => 363, 662 => 354, 656 => 349, 653 => 348, 644 => 346, 639 => 345, 636 => 344, 633 => 343, 630 => 341, 622 => 334, 603 => 332, 586 => 331, 577 => 324, 566 => 322, 544 => 320, 526 => 319, 518 => 313, 508 => 312, 492 => 304, 488 => 303, 484 => 302, 480 => 301, 476 => 299, 470 => 297, 468 => 296, 463 => 295, 460 => 294, 450 => 292, 436 => 290, 428 => 289, 410 => 288, 405 => 286, 382 => 266, 372 => 259, 342 => 232, 337 => 229, 328 => 223, 324 => 221, 322 => 220, 319 => 219, 310 => 213, 306 => 211, 304 => 210, 207 => 115, 199 => 113, 197 => 112, 192 => 110, 189 => 109, 187 => 108, 173 => 97, 170 => 96, 160 => 95, 73 => 16, 63 => 15, 52 => 11, 50 => 13, 37 => 11,);
}
public function getSourceContext()
{
return new Source("{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'fullwidth_frame.twig' %}
{% set body_class = 'product_page' %}
{% block stylesheet %}
<style>
.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
</style>
{% endblock %}
{% block javascript %}
<script>
eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
{% if form.classcategory_id2 is defined %}
fnSetClassCategories(
\$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
);
{% elseif form.classcategory_id1 is defined %}
eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
{% endif %}
</script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\$('.slide-item').height(baseHeight * rate); // 余白を削除する
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
\$('.item_visual').on('init beforeChange', function(event, slick, currentSlide){
var i = (currentSlide ? currentSlide : 0) + 1;
var progress = (i / slick.slideCount) * 100;
\$('.progress-bar').css('width', progress + '%');
});
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: true,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
//オプションの必須チェック
// choice_display_area要素を取得
var \$choiceDisplayAreas = \$('.choice_display_area');
// 全ての要素がdata-select-resultがtrueかどうかチェックする関数
function allDataSelectResultTrue() {
var allTrue = true;
\$choiceDisplayAreas.each(function() {
if (\$(this).attr('data-select-result') !== 'true') {
allTrue = false;
return false; // eachループを抜ける
}
});
return allTrue;
}
// 全ての要素がdata-select-resultがtrueでなければ.error_message_cartを表示し、クリックイベントを中止
if (!allDataSelectResultTrue()) {
\$('.error_message_cart').show();
event.preventDefault(); // クリックイベントを中止
event.stopImmediatePropagation(); // 他のイベントハンドラーに影響を与えないようにする
return;
}
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').text(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"{{ url('block_cart') }}\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('{{ 'カートへの追加に失敗しました。'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"{{ Product.name }}\",
\"image\": [
{% for img in Product.ProductImage %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
{% else %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
{% endfor %}
],
\"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
{% if Product.code_min %}
\"sku\": \"{{ Product.code_min }}\",
{% endif %}
\"offers\": {
\"@type\": \"Offer\",
\"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
\"priceCurrency\": \"{{ eccube_config.currency }}\",
\"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
\"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\",
\"optionPrice\": 0
}
}
</script>
{% endblock %}
{% block main %}
<div class=\"ec-productRole\">
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual\">
{% for ProductImage in Product.ProductImage %}
<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>
{% else %}
<div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
{% endfor %}
</div>
<div class=\"progress\">
<div class=\"progress-bar\"></div>
</div>
<div class=\"item_nav\">
{% for ProductImage in Product.ProductImage %}
<div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
{% endfor %}
</div>
</div>
</div>
<div class=\"ec-grid2__cell\">
<div class=\"ec-productRole__profile\">
{# 表示項目追加 #}
<ul class=\"ec-productRole__tags\">
{# ソファの場合 配列の処理が必要 #}
{% if Product.ViewData(1) is not empty %}
{% set view_data_icons = Product.ViewData(1)|reverse %}
{% for view_data_icon in view_data_icons %}
<li class=\"ec-productRole__tag\">{{ view_data_icon }}</li>
{% endfor %}
{% endif %}
</ul>
{# タグ #}
{#
{% if Product.Tags is not empty %}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
{% endif %}
#}
{# ブランド名 #}
{% set parentId = 34 %}
{% set childCategories = [] %}
{# 商品が所属しているカテゴリをチェックし、ID:34の子カテゴリを探す #}
{% for productCategory in Product.ProductCategories %}
{% if productCategory.Category.Parent and productCategory.Category.Parent.id == parentId %}
{% set childCategories = childCategories|merge([productCategory.Category]) %}
{% endif %}
{% endfor %}
<div class=\"ec-productRole__title_brand\">{{ childCategories[0].name }}</div>
{# 商品名 #}
<div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
{# お気に入り追加 #}
{% if BaseInfo.option_favorite_product %}
<div class=\"ec-headingTitle_favorite\">
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<div class=\"\">
{% if is_favorite == false %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite\">
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
<path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
\tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
\tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
\tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
</svg>
</button>
{% else %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite ec-blockBtn--favorite_disabled\" disabled=\"disabled\">
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
<path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
\tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
\tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
\tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
</svg>
</button>
{% endif %}
</div>
</form>
</div><!--/.ec-headingTitle_favorite-->
{% endif %}
</div>
{# 商品コード #}
{% if Product.code_min is not empty %}
<div class=\"ec-productRole__code\">
{{ '#'|trans }}<span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
</div>
{% endif %}
{# 通常価格 #}
{#
{% if Product.hasProductClass -%}
<div class=\"ec-productRole__priceRegular\">
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
{% endif %}
</div>
{% else %}
{% if Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
{% endif %}
{% endif %}
#}
{# 販売価格 #}
<div class=\"ec-productRole__price\">
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
</div>
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
<span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
</div>
{% endif %}
</div>
{# 関連カテゴリ #}
{#
{% if Product.ProductCategories is not empty %}
<div class=\"ec-productRole__category\">
<div>{{ '関連カテゴリ'|trans }}</div>
{% for ProductCategory in Product.ProductCategories %}
<ul>
<li>
{% for Category in ProductCategory.Category.path %}
<a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
<span>></span>{% endif -%}
{% endfor %}
</li>
</ul>
{% endfor %}
</div>
{% endif %}
#}
<form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
{% if Product.stock_find %}
<div class=\"ec-productRole__actions\">
{# 規格選択 #}
{% if form.classcategory_id1 is defined %}
<div class=\"standard_input ec-select\">
{{ form_row(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"standard_input ec-select\">
{{ form_row(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div><!--/.standard_input-->
{% endif %}
{% endif %}
{# オプション表示 #}
<div id=\"option_input\">
{{ include('Product/option.twig', ignore_missing=true) }}
{{ include('Product/option_js.twig', ignore_missing=true) }}
</div><!--/#option_input-->
{# エラーメッセージ表示 #}
<div class=\"error_message_cart\">
<span>※ 未設定項目を選択してください</span>
</div><!--/.error_message_cart-->
{# 配送
{% if Product.ViewData(3) is not empty %}
<div class=\"delivery_info\">
<span class=\"delivery_info_ttl\">配送方法</span>
<div class=\"delivery_info__right\">
<div class=\"delivery_info__right__top\">
<span class=\"delivery_info__icon\">{{ Product.ViewData(3) }}</span> <a class=\"delivery_link\" href=\"{{ url('homepage') }}help/agreement#target_delivery\">配送について</a>
</div><!--/.delivery_info__right__top-->
{% if Product.ViewData(3) == '開梱・設置配送' %}
<br>
<p class=\"notes_txt\">室内へ搬入・設置し梱包材をお持ち帰りいたします。必要に応じて商品の組立ても含みます。</p>
{% endif %}
</div><!--/.delivery_info__right-->
</div><!--/.delivery_info-->
{% endif %}
#}
</div>
{# 送料無料条件を表示 #}
<div class=\"free_info_area\">
<span>250,000円<span class=\"zeikomi\">(税別)</span>以上のご購入で送料無料</span>
</div><!--/.free_info_area-->
<p class=\"delivery_txt\">商品のお届け先によって、お届けに制限がある場合や、配送送料のご負担が必要となる場合がございます。ご注文前に<a target=\"_blank\" class=\"bottom_info\" href=\"{{ url('homepage') }}delivery\">こちら</a>よりご確認ください。</p>
<div class=\"cart_btn_area\">
<div class=\"cart_btn_area__left\">
{# お届け日数目安 #}
{% if Product.ViewData(2) is not empty %}
<div class=\"cart_viewdata\">
<span>お届け目安</span> <span class=\"num\">{{ Product.ViewData(2) }}</span></li>
</div><!--/.cart_viewdata-->
{% endif %}
<div class=\"ec-numberInput\">
{#<span>{{ '数量'|trans }}</span>#}
{{ form_widget(form.quantity) }}
{{ form_errors(form.quantity) }}
</div>
</div><!--/.cart_btn_area__left-->
<div class=\"ec-productRole__btn\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
{{ 'カートに入れる'|trans }}
</button>
</div>
</div><!--/.cart_btn_area-->
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
{{ form_rest(form) }}
</form>
<ul class=\"cart_btn_bottom_info\">
<li><a class=\"bottom_info\" href=\"{{ url('homepage') }}guide#target_02\">ご注文方法について</a></li>
<li><a class=\"bottom_info\" href=\"{{ url('homepage') }}contact\">お問い合わせはこちら</a></li>
</ul>
{# SNSシェア #}
{% set page_url = url('homepage') ~ 'products/detail/' ~ Product.id %}
{% set image_url = 'https://online.ikus.furniture' ~ asset(Product.ProductImage[0], 'save_image') %}
<ul class=\"cart_btn_bottom_sns\">
<li>
<a class=\"pinterest\" href=\"https://www.pinterest.com/pin/create/button/?url={{ page_url|url_encode }}&media={{ image_url }}\" target=\"_blank\">
<img src=\"{{ asset('assets/img/common/icon_pinterest.svg') }}\">
</a>
</li>
<li>
<a class=\"line\" href=\"https://social-plugins.line.me/lineit/share?url={{ page_url|url_encode }}\" target=\"_blank\">
<img src=\"{{ asset('assets/img/common/icon_line.svg') }}\">
</a>
</li>
<li>
<a class=\"twitter\" href=\"https://twitter.com/intent/tweet?url={{ page_url|url_encode }}\" target=\"_blank\">
<img src=\"{{ asset('assets/img/common/icon_twitter.svg') }}\">
</a>
</li>
<li>
<a class=\"facebook\" href=\"https://www.facebook.com/sharer/sharer.php?u={{ page_url|url_encode }}\" target=\"_blank\">
<img src=\"{{ asset('assets/img/common/icon_facebook.svg') }}\">
</a>
</li>
</ul>
{{ include('Product/option_description.twig') }}<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<section id=\"product_free_bottom\">
<div class=\"product_title__inner\">
<h2 class=\"product_ja_title\">詳細情報</h2>
</div><!--/.home_title__inner-->
<div class=\"product_free_bottom__inner\">
{{ Product.description_detail|raw|nl2br }}
</div>
</section><!--/#product_free_bottom-->
{# 特記事項 #}
{% if Product.ViewData(4) is not empty %}
<section id=\"product_free_bottom\">
<div class=\"product_title__inner\">
<h2 class=\"product_ja_title\">特記事項</h2>
</div><!--/.home_title__inner-->
<div class=\"product_free_bottom__inner\">
{{ Product.ViewData(4)|raw|nl2br }}
</div>
</section><!--/#product_free_bottom-->
{% endif %}
{% if Product.freearea %}
{#
<section id=\"product_free_bottom\">
<div class=\"product_title__inner\">
<h2 class=\"product_ja_title\">詳細情報</h2>
</div><!--/.home_title__inner-->
<div class=\"product_free_bottom__inner\">
{{ include(template_from_string(Product.freearea)) }}
</div>
</section><!--/#product_free_bottom-->
#}
{% endif %}
{# レビュー表示 #}
{{ include('ProductReview42/Resource/template/default/review.twig') }}
<div class=\"ec-layoutRole__contents\">
{% endblock %}
", "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42", "");
}
}