<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* Product/detail.twig */
class __TwigTemplate_45e7dc29dc2cbbcc0a07b12d6337c5003f04628b5f76a225e6edfce1bc79d517 extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
}
protected function doGetParent(array $context)
{
// line 11
return "default_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
// line 13
$context["body_class"] = "product_page";
// line 11
$this->parent = $this->loadTemplate("default_frame.twig", "Product/detail.twig", 11);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
// line 15
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 16
echo " <style>
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
background: rgba(0,0,0,50%);
padding: 40px 20px;
overflow: auto;
opacity: 0;
visibility: hidden;
transition: .3s;
box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
content: \"\";
display: inline-block;
vertical-align: middle;
height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
opacity: 1;
visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
position: relative;
display: inline-block;
vertical-align: middle;
max-width: 500px;
width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: -40px;
right: -40px;
width: 40px;
height: 40px;
font-size: 40px;
color: #fff;
cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
background: #fff;
text-align: left;
padding: 30px;
}
.slide-item:not(.slick-slide) {
text-align:center;
}
.slide-item:not(.slick-slide) img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 89
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 90
echo " <script>
eccube.classCategories = ";
// line 91
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.', 91, $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 102
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 102)) {
// line 103
echo " fnSetClassCategories(
\$('#form1'), ";
// line 104
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.', 104, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 104), "vars", [], "any", false, false, false, 104), "value", [], "any", false, false, false, 104));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 106
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 106)) {
// line 107
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.', 107, $this->source); })()), "id", [], "any", false, false, false, 107), "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.', 107, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 107), "vars", [], "any", false, false, false, 107), "value", [], "any", false, false, false, 107));
echo ", null);
";
}
// line 109
echo " </script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 123
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 123)) {
// line 124
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 126
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.product_class_unselected"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 132
echo "
";
// line 133
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 133)) {
// line 134
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 136
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.product_class_unselected"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 142
echo "
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 145
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.invalid_quantity"), "html", null, true);
echo "');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').html(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"";
// line 172
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 179
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_cart_error"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
var cat = \$(\".hide_class_category1 select,.hide_class_category2 select\");
\$.each(cat, function(){
var select = \$(this);
select.val(select.find(\"option:last\").val());
select.trigger(\"change\");
});
});
\$('.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 206
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.', 206, $this->source); })()), "name", [], "any", false, false, false, 206), "html", null, true);
echo "\",
\"image\": [
";
// line 208
$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.', 208, $this->source); })()), "ProductImage", [], "any", false, false, false, 208));
$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 209
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.', 209, $this->source); })()), "request", [], "any", false, false, false, 209), "schemeAndHttpHost", [], "any", false, false, false, 209), "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, 209)) {
echo ",";
}
// line 210
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 212
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.', 212, $this->source); })()), "request", [], "any", false, false, false, 212), "schemeAndHttpHost", [], "any", false, false, false, 212), "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 214
echo " ],
\"description\": \"";
// line 215
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, 215)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, false, 215), twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 215, $this->source); })()), "description_detail", [], "any", false, false, false, 215))) : (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 215, $this->source); })()), "description_detail", [], "any", false, false, false, 215))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 216
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.', 216, $this->source); })()), "code_min", [], "any", false, false, false, 216)) {
// line 217
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.', 217, $this->source); })()), "code_min", [], "any", false, false, false, 217), "html", null, true);
echo "\",
";
}
// line 219
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 221
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.', 221, $this->source); })()), "id", [], "any", false, false, false, 221)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 222
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.', 222, $this->source); })()), "currency", [], "any", false, false, false, 222), "html", null, true);
echo "\",
\"price\": ";
// line 223
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.', 223, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 223), "html", null, true);
echo ",
\"availability\": \"";
// line 224
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.', 224, $this->source); })()), "stock_find", [], "any", false, false, false, 224)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
<script>
\$(function(){
// 変数に要素を入れる
var open = \$('.modal-open'),
close = \$('.modal-close'),
container = \$('.modal-container');
//開くボタンをクリックしたらモーダルを表示する
open.on('click',function(){
container.addClass('active');
return false;
});
//閉じるボタンをクリックしたらモーダルを閉じる
close.on('click',function(){
container.removeClass('active');
});
//モーダルの外側をクリックしたらモーダルを閉じる
\$(document).on('click',function(e) {
if(!\$(e.target).closest('.modal-body').length) {
container.removeClass('active');
}
});
});
</script>
<script>
\$(function() {
var w = window.innerWidth;
\$('.slide-thumb').each(function () {
\$(this).appendTo('.item_visual_thumb');
});
if( \$('.item_visual_main .slide-item').length < 2 ){
\$('.item_visual_thumb').hide();
return;
}
if (w > 767) {
\$('.item_visual_main').not('.slick-initialized').slick({
dots: false,
arrows: true,
autoplay: true,
infinite: true,
fade: false,
autoplaySpeed: 3600,
speed: 450,
slidesToShow: 1,
variableWidth: true,
centerMode: true,
centerPadding: '50px',
lazyLoad: 'progressive',
asNavFor: \".item_visual_thumb\"
});
} else {
\$('.item_visual_main').not('.slick-initialized').slick({
dots: false,
arrows: true,
autoplay: true,
infinite: true,
fade: false,
autoplaySpeed: 3600,
speed: 450,
slidesToShow: 1,
variableWidth: false,
centerMode: true,
centerPadding: '0',
lazyLoad: 'progressive',
asNavFor: \".item_visual_thumb\"
});
}
if (w > 960) {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
slidesToShow: 10,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
} else if (960 >= w > 639) {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
rows: 2,
slidesToShow: 5,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
} else {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
rows: 3,
slidesToShow: 3,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
}
});
</script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 351
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 352
echo " ";
if (($this->extensions['Customize\Twig\Extension\TwigExtension']->IsChainStore() == false)) {
// line 353
echo " <div class=\"breadcrumb-wrapper\">
<ol class=\"breadcrumb\" itemscope itemtype=\"https://schema.org/BreadcrumbList\">
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<a itemprop=\"item\" href=\"";
// line 356
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "\">
<span itemprop=\"name\">HOME</span>
</a>
<meta itemprop=\"position\" content=\"1\" />
</li>
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<a itemprop=\"item\" href=\"";
// line 362
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "\">
<span itemprop=\"name\">ONLINE SHOP</span>
</a>
<meta itemprop=\"position\" content=\"2\" />
</li>
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<span itemprop=\"name\">";
// line 368
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.', 368, $this->source); })()), "name", [], "any", false, false, false, 368), "html", null, true);
echo "</span>
<meta itemprop=\"position\" content=\"3\" />
</li>
</ol>
</div>
";
}
// line 374
echo "
";
// line 375
$context["hasCategory"] = 0;
// line 376
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.', 376, $this->source); })()), "ProductCategories", [], "any", false, false, false, 376));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 377
echo " ";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductCategory"], "Category", [], "any", false, false, false, 377), "id", [], "any", false, false, false, 377) == 1)) {
// line 378
echo " ";
$context["hasCategory"] = 1;
// line 379
echo " ";
}
// line 380
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 381
echo " <div class=\"ec-productRole\">
";
// line 383
echo " <div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">";
// line 384
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.', 384, $this->source); })()), "name", [], "any", false, false, false, 384), "html", null, true);
echo "</h2>
</div>
<div class=\"ec-grid2\">
<div class=\"ec-grid2__column\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual_main\">
";
// line 391
$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.', 391, $this->source); })()), "ProductImage", [], "any", false, false, false, 391));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
// line 392
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 "\"></div>
<div class=\"slide-thumb\"><img src=\"";
// line 393
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\"></div>
";
$context['_iterated'] = true;
}
if (!$context['_iterated']) {
// line 395
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 "\"/></div>
<div class=\"slide-thumb\"><img src=\"";
// line 396
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 "\"/></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 398
echo " </div>
<div class=\"item_visual_thumb\">
</div>
</div>
</div>
<div class=\"ec-grid2__column\">
<div class=\"ec-productRole__profile\">
";
// line 407
echo " <ul class=\"ec-productRole__tags\">
";
// line 408
$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.', 408, $this->source); })()), "Tags", [], "any", false, false, false, 408));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 409
echo " <li class=\"ec-productRole__tag tag_";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Tag"], "id", [], "any", false, false, false, 409), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["Tag"], "html", null, true);
echo "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 411
echo " </ul>
";
// line 413
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 413, $this->source); })()), "hasProductClass", [], "any", false, false, false, 413)) {
// line 414
echo "<div class=\"ec-productRole__priceRegular\">
";
// line 415
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.', 415, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 415)) && (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 415, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 415) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 415, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 415)))) {
// line 416
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_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); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 416)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 417
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
} elseif (( !(null === twig_get_attribute($this->env, $this->source, // line 418
(isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 418, $this->source); })()), "getPrice01Min", [], "any", false, false, false, 418)) && !(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.', 418, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 418)))) {
// line 419
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":<span class=\"price01-default\">";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 419, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 419)), "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.', 419, $this->source); })()), "getPrice01IncTaxMax", [], "any", false, false, false, 419)), "html", null, true);
echo "</span></span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 420
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 422
echo " </div>
";
} else {
// line 424
echo " ";
if ( !(null === twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 424, $this->source); })()), "getPrice01Max", [], "any", false, false, false, 424))) {
// line 425
echo " <span class=\"ec-productRole__priceRegularPrice\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.normal_price"), "html", null, true);
echo ":";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 425, $this->source); })()), "getPrice01IncTaxMin", [], "any", false, false, false, 425)), "html", null, true);
echo "</span>
<span class=\"ec-productRole__priceRegularTax\">";
// line 426
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
";
}
// line 428
echo " ";
}
// line 429
echo " ";
// line 430
echo " <div class=\"ec-productRole__price\">
";
// line 431
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.', 431, $this->source); })()), "hasProductClass", [], "any", false, false, false, 431)) {
// line 432
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.', 432, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 432) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 432, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 432))) {
// line 433
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 434
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.', 434, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 434)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 435
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
} else {
// line 438
echo " <div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">";
// line 439
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.', 439, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 439)), "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.', 439, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 439)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">";
// line 440
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.tax_include"), "html", null, true);
echo "</span>
</div>
";
}
// line 443
echo " ";
} else {
// line 444
echo " <div class=\"ec-price\">
<span class=\"ec-price__price\">";
// 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((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 446, $this->source); })())) ? ("incl. tax") : ("common.tax_include"))), "html", null, true);
echo "</span>
</div>
";
}
// line 449
echo " </div>
";
// line 451
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.', 451, $this->source); })()), "code_min", [], "any", false, false, false, 451))) {
// line 452
echo " <div class=\"ec-productRole__code\">
";
// line 453
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 453, $this->source); })())) ? ("Product code") : ("front.product.code"))), "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.', 453, $this->source); })()), "code_min", [], "any", false, false, false, 453), "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.', 453, $this->source); })()), "code_min", [], "any", false, false, false, 453) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 453, $this->source); })()), "code_max", [], "any", false, false, false, 453))) {
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.', 453, $this->source); })()), "code_max", [], "any", false, false, false, 453), "html", null, true);
}
echo "</span>
</div>
";
}
// line 456
echo " ";
// line 457
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.', 457, $this->source); })()), "ProductCategories", [], "any", false, false, false, 457))) {
// line 458
echo " <div class=\"ec-productRole__category\">
<ul class=\"ec-productRole-category-list\">
";
// line 460
$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.', 460, $this->source); })()), "ProductCategories", [], "any", false, false, false, 460));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 461
echo " ";
$context["continue1"] = false;
// line 462
echo " ";
if ((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, $context["ProductCategory"], "Category", [], "any", false, false, false, 462), "path", [], "any", false, false, false, 462), 0, [], "array", false, false, false, 462), "id", [], "any", false, false, false, 462) == 11)) {
// line 463
echo " ";
$context["continue1"] = true;
// line 464
echo " ";
}
// line 465
echo " ";
if ( !(isset($context["continue1"]) || array_key_exists("continue1", $context) ? $context["continue1"] : (function () { throw new RuntimeError('Variable "continue1" does not exist.', 465, $this->source); })())) {
// line 466
echo " <li class=\"ec-productRole-category-list__item\">
";
// line 467
$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, false, 467), "path", [], "any", false, false, false, 467));
$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 468
echo " <a class=\"category-";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "id", [], "any", false, false, false, 468), "html", null, true);
echo "\" href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?category_id=";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "id", [], "any", false, false, false, 468), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "name", [], "any", false, false, false, 468), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 468) == false)) {
echo "<span>></span>";
}
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 470
echo " </li>
";
}
// line 472
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 473
echo " </ul>
</div>
";
}
// line 476
echo "
<div class=\"ec-productRole__description\">";
// line 477
echo 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.', 477, $this->source); })()), "description_detail", [], "any", false, false, false, 477));
echo "
</div>
<form action=\"";
// line 480
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.', 480, $this->source); })()), "id", [], "any", false, false, false, 480)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 481
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.', 481, $this->source); })()), "stock_find", [], "any", false, false, false, 481)) {
// line 482
echo " <div class=\"ec-productRole__actions\">
";
// line 483
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 483)) {
// line 484
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 484, $this->source); })()), "hide_class_category1", [], "any", false, false, false, 484)) {
// line 485
echo " <div class=\"ec-select hide_class_category1\" style=\"display:none;\">
";
} else {
// line 487
echo " <div class=\"ec-select\">
";
}
// line 489
echo "
";
// line 490
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.', 490, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 490), 'widget');
echo "
";
// line 491
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.', 491, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 491), 'errors');
echo "
</div>
";
// line 493
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 493)) {
// line 494
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 494, $this->source); })()), "hide_class_category2", [], "any", false, false, false, 494)) {
// line 495
echo " <div class=\"ec-select hide_class_category2\" style=\"display:none;\">
";
} else {
// line 497
echo " <div class=\"ec-select\">
";
}
// line 499
echo "
";
// line 500
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.', 500, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 500), 'widget');
echo "
";
// line 501
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.', 501, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 501), 'errors');
echo "
</div>
";
}
// line 504
echo " ";
}
// line 505
echo " <div class=\"ec-numberInput\"><span>";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 505, $this->source); })())) ? ("Quantity") : ("common.quantity"))), "html", null, true);
echo "</span>
";
// line 506
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.', 506, $this->source); })()), "quantity", [], "any", false, false, false, 506), 'widget');
echo "
";
// line 507
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.', 507, $this->source); })()), "quantity", [], "any", false, false, false, 507), 'errors');
echo "
</div>
</div>
<div class=\"ec-productRole__btn ec-productRole__btn--add\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
";
// line 513
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 513, $this->source); })())) ? ("Add to cart") : ("front.product.add_cart"))), "html", null, true);
echo "
</button>
</div>
";
} else {
// line 517
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 519
(((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 519, $this->source); })())) ? (print ("Out of stock")) : (print (twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.out_of_stock"), "html", null, true))));
echo "
</button>
</div>
";
}
// line 523
echo "
";
// line 524
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.', 524, $this->source); })()), 'rest');
echo "
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 530
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>
";
// line 531
if (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 531, $this->source); })()) == false)) {
// line 532
echo " <div id=\"ec-modal-header\" class=\"text-center\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_cart_complete"), "html", null, true);
echo "</div>
";
} else {
// line 534
echo " <div class=\"text-center\">Added to cart</div>
";
}
// line 536
echo " <div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">";
// line 538
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 538, $this->source); })())) ? ("Keep shopping") : ("front.product.continue"))), "html", null, true);
echo "</span>
<a href=\"";
// line 539
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((((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 539, $this->source); })())) ? ("Go to cart") : ("common.go_to_cart"))), "html", null, true);
echo "</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"like_return-btn\">
";
// line 547
if (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 547, $this->source); })()) == false)) {
// line 548
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.', 548, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 548)) {
// line 549
echo " <form action=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_favorite", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 549, $this->source); })()), "id", [], "any", false, false, false, 549)]), "html", null, true);
echo "\" method=\"post\">
<div class=\"ec-productRole__btn ec-productRole__btn--favorite\">
";
// line 551
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 551, $this->source); })()) == false)) {
// line 552
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
";
// line 553
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_favorite"), "html", null, true);
echo "
</button>
";
} else {
// line 556
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">";
// line 557
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.add_favorite_alrady"), "html", null, true);
echo "
</button>
";
}
// line 560
echo " </div>
</form>
";
}
// line 563
echo " ";
}
// line 564
echo "
<div class=\"ec-productRole__btn ec-productRole__btn--favorite\">
<a class=\"ec-blockBtn--cancel\" href=\"";
// line 566
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "\">
";
// line 567
echo (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 567, $this->source); })())) ? ("Back to product list") : ("商品一覧に戻る"));
echo "
</a>
</div>
</div>
";
// line 572
if (($this->extensions['Customize\Twig\Extension\TwigExtension']->IsChainStore() == false)) {
// line 573
echo " ";
if (((isset($context["hasCategory"]) || array_key_exists("hasCategory", $context) ? $context["hasCategory"] : (function () { throw new RuntimeError('Variable "hasCategory" does not exist.', 573, $this->source); })()) == 1)) {
// line 574
echo " <div class=\"ec-modal-02\">
<div class=\"ec-modal-02__banner modal-open\">
";
// line 576
if (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 576, $this->source); })()) == false)) {
// line 577
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product/banner_howtoeat.png"), "html", null, true);
echo "\" alt=\"おいしいお召し上がり方\">
";
} else {
// line 579
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product/banner_howtoeat_en.png"), "html", null, true);
echo "\" alt=\"How to eat deliciously\">
";
}
// line 581
echo " </div>
<div class=\"modal-container\">
<div class=\"modal-body\">
<!-- 閉じるボタン -->
<div class=\"modal-close\">×</div>
<!-- モーダル内のコンテンツ -->
<div class=\"modal-content\">
";
// line 588
if (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 588, $this->source); })()) == false)) {
// line 589
echo " <p><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product/goodtoeat.jpg"), "html", null, true);
echo "\" width=\"500\" height=\"600\" alt=\"ダシーズのおいしい食べ方\"></p>
";
} else {
// line 591
echo " <p><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product/goodtoeat_en.jpg"), "html", null, true);
echo "\" width=\"500\" height=\"600\" alt=\"How to eat deliciously\"></p>
";
}
// line 593
echo " </div>
</div>
</div>
</div>
";
}
// line 598
echo " ";
}
// line 599
echo "
</div>
</div>
</div>
";
// line 603
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.', 603, $this->source); })()), "freearea", [], "any", false, false, false, 603)) {
// line 604
echo " <div class=\"ec-productRole__description\">
";
// line 605
echo twig_include($this->env, $context, twig_template_from_string($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 605, $this->source); })()), "freearea", [], "any", false, false, false, 605)));
echo "
</div>
";
}
// line 608
echo " </div>
";
// line 610
if (($this->extensions['Customize\Twig\Extension\TwigExtension']->IsChainStore() == false)) {
// line 611
echo " ";
if (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 611, $this->source); })()) == true)) {
// line 612
echo " ";
$context["NewProducts"] = $this->extensions['Customize\Twig\Extension\TwigExtension']->getCustomizeNewProduct();
// line 613
echo " ";
if ((twig_length_filter($this->env, (isset($context["NewProducts"]) || array_key_exists("NewProducts", $context) ? $context["NewProducts"] : (function () { throw new RuntimeError('Variable "NewProducts" does not exist.', 613, $this->source); })())) > 0)) {
// line 614
echo " <div class=\"ec-products-top-area ec-products-top-area--new-list\">
<div class=\"ec-product-category-title\">
<h2 class=\"ec-product-category-title__title\">";
// line 616
echo (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 616, $this->source); })())) ? ("Recommended") : ("こちらもおすすめ"));
echo "</span></h2>
</div>
<div class=\"ec-shelfRole\">
<ul class=\"ec-shelfGrid\">
";
// line 620
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["NewProducts"]) || array_key_exists("NewProducts", $context) ? $context["NewProducts"] : (function () { throw new RuntimeError('Variable "NewProducts" does not exist.', 620, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
// line 621
echo " <li class=\"ec-shelfGrid__item\">
<a href=\"";
// line 622
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, false, 622)]), "html", null, true);
echo "\">
<p class=\"ec-shelfGrid__item-image\">
<img src=\"";
// line 624
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(twig_get_attribute($this->env, $this->source, $context["Product"], "main_list_image", [], "any", false, false, false, 624)), "save_image"), "html", null, true);
echo "\" alt=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, false, 624), "html", null, true);
echo "\" loading=\"lazy\">
</p>
<p class=\"ec-shelfGrid__title\">";
// line 626
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "name", [], "any", false, false, false, 626), "html", null, true);
echo "</p>
";
// line 627
if (twig_get_attribute($this->env, $this->source, $context["Product"], "description_list", [], "any", false, false, false, 627)) {
// line 628
echo " <p class=\"ec-shelfGrid__description\">";
echo nl2br(twig_get_attribute($this->env, $this->source, $context["Product"], "description_list", [], "any", false, false, false, 628));
echo "</p>
";
}
// line 630
echo " <p class=\"price02-default\">
";
// line 631
if (twig_get_attribute($this->env, $this->source, $context["Product"], "hasProductClass", [], "any", false, false, false, 631)) {
// line 632
echo " ";
if ((twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02Min", [], "any", false, false, false, 632) == twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02Max", [], "any", false, false, false, 632))) {
// line 633
echo " ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 633)), "html", null, true);
echo "<span>";
echo (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 633, $this->source); })())) ? ("(incl. tax)") : ("(税込)"));
echo "</span>
";
} else {
// line 635
echo " ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 635)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMax", [], "any", false, false, false, 635)), "html", null, true);
echo "<span>";
echo (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 635, $this->source); })())) ? ("(incl. tax)") : ("(税込)"));
echo "</span>
";
}
// line 637
echo " ";
} else {
// line 638
echo " ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 638)), "html", null, true);
echo "<span>";
echo (((isset($context["EnUser"]) || array_key_exists("EnUser", $context) ? $context["EnUser"] : (function () { throw new RuntimeError('Variable "EnUser" does not exist.', 638, $this->source); })())) ? ("(incl. tax)") : ("(税込)"));
echo "</span>
";
}
// line 640
echo " </p>
</a>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 644
echo " </ul>
</div>
</div>
";
}
// line 648
echo " ";
}
// line 649
echo " ";
}
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
public function getTemplateName()
{
return "Product/detail.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1311 => 649, 1308 => 648, 1302 => 644, 1293 => 640, 1285 => 638, 1282 => 637, 1272 => 635, 1264 => 633, 1261 => 632, 1259 => 631, 1256 => 630, 1250 => 628, 1248 => 627, 1244 => 626, 1237 => 624, 1232 => 622, 1229 => 621, 1225 => 620, 1218 => 616, 1214 => 614, 1211 => 613, 1208 => 612, 1205 => 611, 1203 => 610, 1199 => 608, 1193 => 605, 1190 => 604, 1188 => 603, 1182 => 599, 1179 => 598, 1172 => 593, 1166 => 591, 1160 => 589, 1158 => 588, 1149 => 581, 1143 => 579, 1137 => 577, 1135 => 576, 1131 => 574, 1128 => 573, 1126 => 572, 1118 => 567, 1114 => 566, 1110 => 564, 1107 => 563, 1102 => 560, 1096 => 557, 1093 => 556, 1087 => 553, 1084 => 552, 1082 => 551, 1076 => 549, 1073 => 548, 1071 => 547, 1058 => 539, 1054 => 538, 1050 => 536, 1046 => 534, 1040 => 532, 1038 => 531, 1034 => 530, 1025 => 524, 1022 => 523, 1015 => 519, 1011 => 517, 1004 => 513, 995 => 507, 991 => 506, 986 => 505, 983 => 504, 977 => 501, 973 => 500, 970 => 499, 966 => 497, 962 => 495, 959 => 494, 957 => 493, 952 => 491, 948 => 490, 945 => 489, 941 => 487, 937 => 485, 934 => 484, 932 => 483, 929 => 482, 927 => 481, 923 => 480, 917 => 477, 914 => 476, 909 => 473, 903 => 472, 899 => 470, 874 => 468, 857 => 467, 854 => 466, 851 => 465, 848 => 464, 845 => 463, 842 => 462, 839 => 461, 835 => 460, 831 => 458, 828 => 457, 826 => 456, 814 => 453, 811 => 452, 808 => 451, 805 => 449, 799 => 446, 795 => 445, 792 => 444, 789 => 443, 783 => 440, 777 => 439, 774 => 438, 768 => 435, 764 => 434, 761 => 433, 759 => 432, 757 => 431, 754 => 430, 752 => 429, 749 => 428, 744 => 426, 737 => 425, 734 => 424, 730 => 422, 725 => 420, 716 => 419, 714 => 418, 710 => 417, 703 => 416, 701 => 415, 698 => 414, 695 => 413, 692 => 411, 681 => 409, 677 => 408, 674 => 407, 664 => 398, 656 => 396, 651 => 395, 644 => 393, 639 => 392, 634 => 391, 624 => 384, 621 => 383, 618 => 381, 612 => 380, 609 => 379, 606 => 378, 603 => 377, 598 => 376, 596 => 375, 593 => 374, 584 => 368, 575 => 362, 566 => 356, 561 => 353, 558 => 352, 548 => 351, 412 => 224, 408 => 223, 404 => 222, 400 => 221, 396 => 219, 390 => 217, 388 => 216, 383 => 215, 380 => 214, 370 => 212, 356 => 210, 348 => 209, 330 => 208, 325 => 206, 295 => 179, 285 => 172, 255 => 145, 250 => 142, 241 => 136, 237 => 134, 235 => 133, 232 => 132, 223 => 126, 219 => 124, 217 => 123, 201 => 109, 193 => 107, 191 => 106, 186 => 104, 183 => 103, 181 => 102, 167 => 91, 164 => 90, 154 => 89, 73 => 16, 63 => 15, 52 => 11, 50 => 13, 37 => 11,);
}
public function getSourceContext()
{
return new Source("{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'product_page' %}
{% block stylesheet %}
<style>
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
background: rgba(0,0,0,50%);
padding: 40px 20px;
overflow: auto;
opacity: 0;
visibility: hidden;
transition: .3s;
box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
content: \"\";
display: inline-block;
vertical-align: middle;
height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
opacity: 1;
visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
position: relative;
display: inline-block;
vertical-align: middle;
max-width: 500px;
width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: -40px;
right: -40px;
width: 40px;
height: 40px;
font-size: 40px;
color: #fff;
cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
background: #fff;
text-align: left;
padding: 30px;
}
.slide-item:not(.slick-slide) {
text-align:center;
}
.slide-item:not(.slick-slide) img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
</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);
}
});
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ 'front.product.product_class_unselected'|trans }}');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('{{ 'front.product.product_class_unselected'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('{{ 'front.product.invalid_quantity'|trans }}');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').html(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"{{ url('block_cart') }}\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('{{ 'front.product.add_cart_error'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
var cat = \$(\".hide_class_category1 select,.hide_class_category2 select\");
\$.each(cat, function(){
var select = \$(this);
select.val(select.find(\"option:last\").val());
select.trigger(\"change\");
});
});
\$('.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 }},
\"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
}
}
</script>
<script>
\$(function(){
// 変数に要素を入れる
var open = \$('.modal-open'),
close = \$('.modal-close'),
container = \$('.modal-container');
//開くボタンをクリックしたらモーダルを表示する
open.on('click',function(){
container.addClass('active');
return false;
});
//閉じるボタンをクリックしたらモーダルを閉じる
close.on('click',function(){
container.removeClass('active');
});
//モーダルの外側をクリックしたらモーダルを閉じる
\$(document).on('click',function(e) {
if(!\$(e.target).closest('.modal-body').length) {
container.removeClass('active');
}
});
});
</script>
<script>
\$(function() {
var w = window.innerWidth;
\$('.slide-thumb').each(function () {
\$(this).appendTo('.item_visual_thumb');
});
if( \$('.item_visual_main .slide-item').length < 2 ){
\$('.item_visual_thumb').hide();
return;
}
if (w > 767) {
\$('.item_visual_main').not('.slick-initialized').slick({
dots: false,
arrows: true,
autoplay: true,
infinite: true,
fade: false,
autoplaySpeed: 3600,
speed: 450,
slidesToShow: 1,
variableWidth: true,
centerMode: true,
centerPadding: '50px',
lazyLoad: 'progressive',
asNavFor: \".item_visual_thumb\"
});
} else {
\$('.item_visual_main').not('.slick-initialized').slick({
dots: false,
arrows: true,
autoplay: true,
infinite: true,
fade: false,
autoplaySpeed: 3600,
speed: 450,
slidesToShow: 1,
variableWidth: false,
centerMode: true,
centerPadding: '0',
lazyLoad: 'progressive',
asNavFor: \".item_visual_thumb\"
});
}
if (w > 960) {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
slidesToShow: 10,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
} else if (960 >= w > 639) {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
rows: 2,
slidesToShow: 5,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
} else {
\$('.item_visual_thumb').not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: false,
infinite: true,
rows: 3,
slidesToShow: 3,
lazyLoad: 'progressive',
focusOnSelect: true,
asNavFor: \".item_visual_main\"
});
}
});
</script>
{% endblock %}
{% block main %}
{% if IsChainStore() == false %}
<div class=\"breadcrumb-wrapper\">
<ol class=\"breadcrumb\" itemscope itemtype=\"https://schema.org/BreadcrumbList\">
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<a itemprop=\"item\" href=\"{{ url('homepage') }}\">
<span itemprop=\"name\">HOME</span>
</a>
<meta itemprop=\"position\" content=\"1\" />
</li>
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<a itemprop=\"item\" href=\"{{ url('product_list') }}\">
<span itemprop=\"name\">ONLINE SHOP</span>
</a>
<meta itemprop=\"position\" content=\"2\" />
</li>
<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
<span itemprop=\"name\">{{ Product.name }}</span>
<meta itemprop=\"position\" content=\"3\" />
</li>
</ol>
</div>
{% endif %}
{% set hasCategory = 0 %}
{% for ProductCategory in Product.ProductCategories %}
{% if ProductCategory.Category.id == 1 %}
{% set hasCategory = 1 %}
{% endif %}
{% endfor %}
<div class=\"ec-productRole\">
{# 商品名 #}
<div class=\"ec-productRole__title\">
<h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
</div>
<div class=\"ec-grid2\">
<div class=\"ec-grid2__column\">
<div class=\"ec-sliderItemRole\">
<div class=\"item_visual_main\">
{% for ProductImage in Product.ProductImage %}
<div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\"></div>
<div class=\"slide-thumb\"><img src=\"{{ asset(ProductImage, 'save_image') }}\"></div>
{% else %}
<div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\"/></div>
<div class=\"slide-thumb\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\"/></div>
{% endfor %}
</div>
<div class=\"item_visual_thumb\">
</div>
</div>
</div>
<div class=\"ec-grid2__column\">
<div class=\"ec-productRole__profile\">
{# タグ #}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
{# 通常価格 #}
{% if Product.hasProductClass -%}
<div class=\"ec-productRole__priceRegular\">
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
</div>
{% else %}
{% if Product.getPrice01Max is not null %}
<span class=\"ec-productRole__priceRegularPrice\">{{ 'front.product.normal_price'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
<span class=\"ec-productRole__priceRegularTax\">{{ 'common.tax_include'|trans }}</span>
{% endif %}
{% endif %}
{# 販売価格 #}
<div class=\"ec-productRole__price\">
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ 'common.tax_include'|trans }}</span>
</div>
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
<span class=\"ec-price__tax\">{{ 'common.tax_include'|trans }}</span>
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">{{ (EnUser ? 'incl. tax' : 'common.tax_include')|trans }}</span>
</div>
{% endif %}
</div>
{# 商品コード #}
{% if Product.code_min is not empty %}
<div class=\"ec-productRole__code\">
{{ (EnUser ? 'Product code' : 'front.product.code')|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
</div>
{% endif %}
{# 関連カテゴリ #}
{% if Product.ProductCategories is not empty %}
<div class=\"ec-productRole__category\">
<ul class=\"ec-productRole-category-list\">
{% for ProductCategory in Product.ProductCategories %}
{% set continue1 = false %}
{% if ProductCategory.Category.path[0].id == 11 %}
{% set continue1 = true %}
{% endif %}
{% if not continue1 %}
<li class=\"ec-productRole-category-list__item\">
{% for Category in ProductCategory.Category.path %}
<a class=\"category-{{ Category.id }}\" href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a>{%- if loop.last == false %}<span>></span>{% endif -%}
{% endfor %}
</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
<div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
</div>
<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 %}
{% if Product.hide_class_category1 %}
<div class=\"ec-select hide_class_category1\" style=\"display:none;\">
{% else %}
<div class=\"ec-select\">
{% endif %}
{{ form_widget(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
{% if Product.hide_class_category2 %}
<div class=\"ec-select hide_class_category2\" style=\"display:none;\">
{% else %}
<div class=\"ec-select\">
{% endif %}
{{ form_widget(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"ec-numberInput\"><span>{{ (EnUser ? 'Quantity' : 'common.quantity')|trans }}</span>
{{ form_widget(form.quantity) }}
{{ form_errors(form.quantity) }}
</div>
</div>
<div class=\"ec-productRole__btn ec-productRole__btn--add\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
{{ (EnUser ? 'Add to cart' : 'front.product.add_cart')|trans }}
</button>
</div>
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ (EnUser ? 'Out of stock' : 'front.product.out_of_stock'|trans) }}
</button>
</div>
{% endif %}
{{ form_rest(form) }}
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
{% if EnUser == false %}
<div id=\"ec-modal-header\" class=\"text-center\">{{ 'front.product.add_cart_complete'|trans }}</div>
{% else %}
<div class=\"text-center\">Added to cart</div>
{% endif %}
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">{{ (EnUser ? 'Keep shopping' : 'front.product.continue')|trans }}</span>
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ (EnUser ? 'Go to cart' : 'common.go_to_cart')|trans }}</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"like_return-btn\">
{% if EnUser == false %}
{% if BaseInfo.option_favorite_product %}
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<div class=\"ec-productRole__btn ec-productRole__btn--favorite\">
{% if is_favorite == false %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
{{ 'front.product.add_favorite'|trans }}
</button>
{% else %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
disabled=\"disabled\">{{ 'front.product.add_favorite_alrady'|trans }}
</button>
{% endif %}
</div>
</form>
{% endif %}
{% endif %}
<div class=\"ec-productRole__btn ec-productRole__btn--favorite\">
<a class=\"ec-blockBtn--cancel\" href=\"{{ url('product_list') }}\">
{{ EnUser ? 'Back to product list' : '商品一覧に戻る' }}
</a>
</div>
</div>
{% if IsChainStore() == false %}
{% if hasCategory == 1 %}
<div class=\"ec-modal-02\">
<div class=\"ec-modal-02__banner modal-open\">
{% if EnUser == false %}
<img src=\"{{ asset('assets/img/product/banner_howtoeat.png') }}\" alt=\"おいしいお召し上がり方\">
{% else %}
<img src=\"{{ asset('assets/img/product/banner_howtoeat_en.png') }}\" alt=\"How to eat deliciously\">
{% endif %}
</div>
<div class=\"modal-container\">
<div class=\"modal-body\">
<!-- 閉じるボタン -->
<div class=\"modal-close\">×</div>
<!-- モーダル内のコンテンツ -->
<div class=\"modal-content\">
{% if EnUser == false %}
<p><img src=\"{{ asset('assets/img/product/goodtoeat.jpg') }}\" width=\"500\" height=\"600\" alt=\"ダシーズのおいしい食べ方\"></p>
{% else %}
<p><img src=\"{{ asset('assets/img/product/goodtoeat_en.jpg') }}\" width=\"500\" height=\"600\" alt=\"How to eat deliciously\"></p>
{% endif %}
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
</div>
</div>
</div>
{% if Product.freearea %}
<div class=\"ec-productRole__description\">
{{ include(template_from_string(Product.freearea)) }}
</div>
{% endif %}
</div>
{% if IsChainStore() == false %}
{% if EnUser == true %}
{% set NewProducts = CustomizeNewProduct() %}
{% if NewProducts|length > 0 %}
<div class=\"ec-products-top-area ec-products-top-area--new-list\">
<div class=\"ec-product-category-title\">
<h2 class=\"ec-product-category-title__title\">{{ EnUser ? 'Recommended' : 'こちらもおすすめ' }}</span></h2>
</div>
<div class=\"ec-shelfRole\">
<ul class=\"ec-shelfGrid\">
{% for Product in NewProducts %}
<li class=\"ec-shelfGrid__item\">
<a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
<p class=\"ec-shelfGrid__item-image\">
<img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" loading=\"lazy\">
</p>
<p class=\"ec-shelfGrid__title\">{{ Product.name }}</p>
{% if Product.description_list %}
<p class=\"ec-shelfGrid__description\">{{ Product.description_list|raw|nl2br }}</p>
{% endif %}
<p class=\"price02-default\">
{% if Product.hasProductClass %}
{% if Product.getPrice02Min == Product.getPrice02Max %}
{{ Product.getPrice02IncTaxMin|price }}<span>{{ EnUser ? '(incl. tax)' : '(税込)' }}</span>
{% else %}
{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}<span>{{ EnUser ? '(incl. tax)' : '(税込)' }}</span>
{% endif %}
{% else %}
{{ Product.getPrice02IncTaxMin|price }}<span>{{ EnUser ? '(incl. tax)' : '(税込)' }}</span>
{% endif %}
</p>
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
{% endif %}
{% endif %}
{% endif %}
{% endblock %}
", "Product/detail.twig", "/home/offshore2022/test-darcys-factory.xyz/public_html/app/template/default/Product/detail.twig");
}
}