<?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_3b6ea7f8da308e5bb19cb8a611ebe9291f68f81c23d8c14571e16676e46b80ea extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
$this->sandbox = $this->env->getExtension('\Twig\Extension\SandboxExtension');
$this->checkSecurity();
}
protected function doGetParent(array $context)
{
// line 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>
@media only screen and (max-width: 1023px) {
body {
margin-top: 30px;
}
}
.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 101
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 102
echo " <script>
eccube.classCategories = ";
// line 103
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 103, $this->source); })()), 103, $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 114
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 114)) {
// line 115
echo " fnSetClassCategories(
\$('#form1'), ";
// line 116
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 116, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 116), "vars", [], "any", false, false, true, 116), "value", [], "any", false, false, true, 116), 116, $this->source));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 118
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 118)) {
// line 119
echo " eccube.checkStock(\$('#form1'), ";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 119, $this->source); })()), "id", [], "any", false, false, true, 119), 119, $this->source), "html", null, true);
echo ", ";
echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 119, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 119), "vars", [], "any", false, false, true, 119), "value", [], "any", false, false, true, 119), 119, $this->source));
echo ", null);
";
}
// line 121
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);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: false,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 185
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 185)) {
// line 186
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 188
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 194
echo "
";
// line 195
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 195)) {
// line 196
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 198
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 204
echo "
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 207
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 234
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 241
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 261
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 261, $this->source); })()), "name", [], "any", false, false, true, 261), 261, $this->source), "html", null, true);
echo "\",
\"image\": [
";
// line 263
$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.', 263, $this->source); })()), "ProductImage", [], "any", false, false, true, 263));
$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 264
echo " \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 264, $this->source); })()), "request", [], "any", false, false, true, 264), "schemeAndHttpHost", [], "any", false, false, true, 264), 264, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 264, $this->source), "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, true, 264)) {
echo ",";
}
// line 265
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 267
echo " \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 267, $this->source); })()), "request", [], "any", false, false, true, 267), "schemeAndHttpHost", [], "any", false, false, true, 267), 267, $this->source), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\"
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 269
echo " ],
\"description\": \"";
// line 270
echo twig_escape_filter($this->env, twig_slice($this->env, twig_replace_filter(((twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", true, true, true, 270)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, true, 270), 270, $this->source), $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 270, $this->source); })()), "description_detail", [], "any", false, false, true, 270), 270, $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.', 270, $this->source); })()), "description_detail", [], "any", false, false, true, 270))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 271
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.', 271, $this->source); })()), "code_min", [], "any", false, false, true, 271)) {
// line 272
echo " \"sku\": \"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 272, $this->source); })()), "code_min", [], "any", false, false, true, 272), 272, $this->source), "html", null, true);
echo "\",
";
}
// line 274
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 276
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.', 276, $this->source); })()), "id", [], "any", false, false, true, 276)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 277
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config", $context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.', 277, $this->source); })()), "currency", [], "any", false, false, true, 277), 277, $this->source), "html", null, true);
echo "\",
\"price\": ";
// line 278
((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 278, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 278)) ? (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.', 278, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 278), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 279
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.', 279, $this->source); })()), "stock_find", [], "any", false, false, true, 279)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 285
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 286
echo "
<!-- PAGE CONTENTS -->
<div class=\"products productsWakamefurikake productsSingle\">
<section class=\"sub-container\">
";
// line 292
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.', 292, $this->source); })()), "id", [], "any", false, false, true, 292) === 59)) {
// line 293
echo "
<div class=\"ad\">
<section class=\"ad-kvArea\">
<div class=\"ad-kvArea__inner\">
<h1 class=\"dn\">しそ入ひじきふりかけ</h1>
";
// line 300
echo " ";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 300, $this->source); })()), "request", [], "any", false, false, true, 300), "query", [], "any", false, false, true, 300), "get", [0 => "utm_content"], "method", false, false, true, 300) === "healthy")) {
// line 301
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv2.png"), "html", null, true);
echo "\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"";
// line 302
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv2-sp.png"), "html", null, true);
echo "\" class=\"imgAd dn-pcTab__ad\">
";
} elseif ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, // line 303
(isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 303, $this->source); })()), "request", [], "any", false, false, true, 303), "query", [], "any", false, false, true, 303), "get", [0 => "utm_content"], "method", false, false, true, 303) === "jitan")) {
// line 304
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv3.png"), "html", null, true);
echo "\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"";
// line 305
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv3-sp.png"), "html", null, true);
echo "\" class=\"imgAd dn-pcTab__ad\">
";
} elseif ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, // line 306
(isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 306, $this->source); })()), "request", [], "any", false, false, true, 306), "query", [], "any", false, false, true, 306), "get", [0 => "utm_content"], "method", false, false, true, 306) === "google_shimei")) {
// line 307
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv4.png"), "html", null, true);
echo "\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"";
// line 308
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv4-sp.png"), "html", null, true);
echo "\" class=\"imgAd dn-pcTab__ad\">
";
} else {
// line 310
echo " <img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv.png"), "html", null, true);
echo "\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"";
// line 311
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/kv-sp.png"), "html", null, true);
echo "\" class=\"imgAd dn-pcTab__ad\">
";
}
// line 313
echo " </div>
</section>
";
// line 315
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 315, $this->source); })()), "request", [], "any", false, false, true, 315), "query", [], "any", false, false, true, 315), "get", [0 => "utm_content"], "method", false, false, true, 315) === "healthy")) {
// line 316
echo " <section class=\"ad-healthyArea\">
<div class=\"ad-healthyArea__inner\">
<h2><span>食物繊維</span>と<br class=\"dn-pcTab__ad\"><span>ミネラル</span>たっぷり!</h2>
<div class=\"ad-healthyArea__inner__inner\">
<div class=\"ad-healthyArea__txt\">
<p class=\"top-txt\">
海藻類の中でも特に<br>
<span>栄養価の高い</span>ひじき。
</p>
<p class=\"bottom-txt\">
カルシウム、食物繊維、マグネシウムが<br>
豊富に含まれます。<br>
その他にも、ビタミンBや鉄分なども含ま<br>
れ、しかも低カロリー。
</p>
</div>
<div class=\"ad-healthyArea__img dn-pc__ad\">
<img src=\"";
// line 333
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/healthy-sp.png"), "html", null, true);
echo "\" class=\"imgFit\">
</div>
</div>
</div>
</section>
<section class=\"ad-timeArea\">
<div class=\"ad-timeArea__inner\">
<h2><span class=\"hl-red\">うま味と甘味</span>の絶妙なバランスが<br><span class=\"hl-big\">様々な場面で<br class=\"dn-pc__ad\"><span class=\"hl-red\">大活躍!</span></h2>
<div class=\"ad-timeArea__contents\">
<section class=\"ad-timeArea__contents-time\">
<div class=\"ad-timeArea__contents-time__left\">
<h3>時短×簡単</h3>
<p>
おにぎりが簡単に絶品に!<br>
忙しい朝やお弁当作りにも時短で便利。<br>
<br>
パパッとひとふりで、お茶漬けが本格的な味に。<br>
しその風味豊かなひじきふりかけで
<span class=\"timeTxt\">時短料理<span class=\"black\">を</span>実現!</span>
</p>
</div>
<div class=\"ad-timeArea__contents-time__right\">
<img src=\"";
// line 355
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/furikake_img.png"), "html", null, true);
echo "\" class=\"dn-mobile\">
<img src=\"";
// line 356
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/furikake_img-sp.png"), "html", null, true);
echo "\" class=\"dn-pc__ad\">
</div>
</section>
<section class=\"ad-timeArea__contents-arrangement\">
<div class=\"ad-timeArea__contents-arrangement__heading\">
<h3>アレンジは多種多様<span>いつもの料理が手軽に<br class=\"dn-pc__ad\">美味しく健康的に!</span></h3>
</div>
<div class=\"ad-timeArea__contents-arrangement__items\">
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 365
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img01.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>チャーハンに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 369
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img02.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>浅漬けに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 373
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img04.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>とり天に!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 377
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img03.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>トーストにも!</p>
</div>
</div>
</section>
</div>
</div>
</section>
";
} else {
// line 386
echo " <section class=\"ad-timeArea\">
<div class=\"ad-timeArea__inner\">
<h2><span class=\"hl-red\">うま味と甘味</span>の絶妙なバランスが<br><span class=\"hl-big\">様々な場面で<br class=\"dn-pc__ad\"><span class=\"hl-red\">大活躍!</span></h2>
<div class=\"ad-timeArea__contents\">
<section class=\"ad-timeArea__contents-time\">
<div class=\"ad-timeArea__contents-time__left\">
<h3>時短×簡単</h3>
<p>
おにぎりが簡単に絶品に!<br>
忙しい朝やお弁当作りにも時短で便利。<br>
<br>
パパッとひとふりで、お茶漬けが本格的な味に。<br>
しその風味豊かなひじきふりかけで
<span class=\"timeTxt\">時短料理<span class=\"black\">を</span>実現!</span>
</p>
</div>
<div class=\"ad-timeArea__contents-time__right\">
<img src=\"";
// line 403
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/furikake_img.png"), "html", null, true);
echo "\" class=\"dn-mobile\">
<img src=\"";
// line 404
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/furikake_img-sp.png"), "html", null, true);
echo "\" class=\"dn-pc__ad\">
</div>
</section>
<section class=\"ad-timeArea__contents-arrangement\">
<div class=\"ad-timeArea__contents-arrangement__heading\">
<h3>アレンジは多種多様<span>いつもの料理が手軽に<br class=\"dn-pc__ad\">美味しく健康的に!</span></h3>
</div>
<div class=\"ad-timeArea__contents-arrangement__items\">
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 413
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img01.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>チャーハンに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 417
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img02.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>浅漬けに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 421
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img04.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>とり天に!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"";
// line 425
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/cooki_img03.png"), "html", null, true);
echo "\" class=\"imgFit\">
<p>トーストにも!</p>
</div>
</div>
</section>
</div>
</div>
</section>
<section class=\"ad-healthyArea\">
<div class=\"ad-healthyArea__inner\">
<h2><span>食物繊維</span>と<br class=\"dn-pcTab__ad\"><span>ミネラル</span>たっぷり!</h2>
<div class=\"ad-healthyArea__inner__inner\">
<div class=\"ad-healthyArea__txt\">
<p class=\"top-txt\">
海藻類の中でも特に<br>
<span>栄養価の高い</span>ひじき。
</p>
<p class=\"bottom-txt\">
カルシウム、食物繊維、マグネシウムが<br>
豊富に含まれます。<br>
その他にも、ビタミンBや鉄分なども含ま<br>
れ、しかも低カロリー。
</p>
</div>
<div class=\"ad-healthyArea__img dn-pc__ad\">
<img src=\"";
// line 450
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/healthy-sp.png"), "html", null, true);
echo "\" class=\"imgFit\">
</div>
</div>
</div>
</section>
";
}
// line 456
echo " <section class=\"ad-voiceArea\">
<div class=\"ad-voiceArea__inner\">
<div class=\"ad-voiceArea__content\">
<div class=\"ad-voiceArea__heading\">
<h2><span>いつも沢山のお声<br class=\"dn-pc__ad\">ありがとうございます!</span><br class=\"dn-mobile\">ご利用いただいた<br class=\"dn-pc\">お客様からのお声</h2>
</div>
<div class=\"ad-voiceArea__items\">
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>01</div>
<div class=\"ad-voiceArea__item-right\">
<p><span>とても美味しい</span>ひじきふりかけです。<br>
しっとりしていて食べやすく、<span>ホカホカご飯にもお弁当にも最適</span>です。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>02</div>
<div class=\"ad-voiceArea__item-right\">
<p>しっとりとしたヒジキがほんのりしそ風味で<span>すごく好きな味です。</span><br>
<span>もう一袋買えば良かった、</span>と後悔してます。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>03</div>
<div class=\"ad-voiceArea__item-right\">
<p>毎朝食べてます。美味しいし、<span>手軽にひじきが食べれてとても満足</span>です。<br>
いつも塩分無視してたっぷりかけてるので、<span>無くなったらリピ</span>します。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>04</div>
<div class=\"ad-voiceArea__item-right\">
<p>おにぎりに使うのがお気に入りで<span>幼稚園児のお弁当や食事に栄養をプラス</span><br class=\"dn-mobile\">
するのに活用させてもらってます!</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class=\"ad-aboutArea\">
<div class=\"ad-aboutArea__inner\">
<h2>30年以上の<br class=\"dn-pcTab__ad\"><span>「おいしさの追求」</span>で<br>多くのファンに<br class=\"dn-pcTab__ad\">ご支持いただく</h2>
<div class=\"ad-aboutArea__content\">
<div class=\"ad-aboutArea__content-kv\">
<img src=\"";
// line 500
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/history1.png"), "html", null, true);
echo "\" class=\"imgFit\">
</div>
<div class=\"ad-aboutArea__content-items\">
<div class=\"ad-aboutArea__content-items__left\">
<h3>大正10年(1921年)創業<br>100年の歴史と革新</h3>
<p>
1921年に山陰特産品の板わかめ問屋として創業。<br>
<br>
「ひじきふりかけ」の先駆者<br>
30年以上の「おいしさの追求」で、<br>
多くのファンに支持されてきました。<br>
<br>
忙しくても、自分や大切な人の健康を支えたい<br class=\"dn-mobile\">
あなたへ。<br>
栄養豊富な海の幸を、食卓と健康を大切にする<br class=\"dn-mobile\">
すべての方のためにお届けします。<br>
</p>
</div>
<div class=\"ad-aboutArea__content-items__right\">
<div class=\"ad-aboutArea__content-items__right-top\">
<img src=\"";
// line 520
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/history2.png"), "html", null, true);
echo "\" class=\"imgFit\">
</div>
<div class=\"ad-aboutArea__content-items__right-bottom\">
<img src=\"";
// line 523
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/history3.png"), "html", null, true);
echo "\" class=\"imgFit\">
</div>
</div>
</div>
</div>
</div>
</section>
<div class=\"ad-cart\">
<a href=\"#cart__area\">
<div>
<div>
<img src=\"";
// line 534
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/icon-cart.png"), "html", null, true);
echo "\" class=\"imgFit dn-sp__ad\">
<img src=\"";
// line 535
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/product-ad/icon-cart-sp.png"), "html", null, true);
echo "\" class=\"imgFit dn-pcTab__ad\">
</div>
<p>
商品をカートに<br class=\"dn-sp__ad\">追加する
</p>
</div>
</a>
</div>
</div>
";
} else {
// line 546
echo " <!-- H1 商品カテゴリーの見出し -->
<div class=\"sub-h1--products\">
<h1 class=\"itemTitle\">
";
// line 549
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 549, $this->source); })()), "name", [], "any", false, false, true, 549), 549, $this->source), "html", null, true);
echo "
</h1>
<div class=\"itemImg\">
<div class=\"itemImgInner\">
<img src=\"";
// line 553
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/products/wf_h1_01.jpg"), "html", null, true);
echo "\" alt=\"\" class=\"imgObjectFitCover\">
</div>
</div>
</div>
<!-- /H1 -->
";
}
// line 559
echo " <!-- CONTENTS -->
<div class=\"l-container l-2ColumnContainer\">
<!-- MAIN-CONTENTS -->
<div class=\"l-main\">
<!-- BREAD CRUMBS -->
<div class=\"sub-breadcrumbsWrap\">
<ul class=\"sub-breadcrumbs\">
<li><a href=\"/\">TOP</a></li>
<li><a href=\"/products/list\">商品一覧</a></li>
<li>";
// line 568
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 568, $this->source); })()), "name", [], "any", false, false, true, 568), 568, $this->source), "html", null, true);
echo "</li>
</ul>
</div>
<!-- /BREAD CRUMBS -->
<!-- MAIN CONTENTS -->
<section class=\"products-sgContent\">
<!-- PRODUCTS PHOTO -->
<div class=\"products-sgContent__pPhoto\">
<div class=\"productsPhotoSlide\">
<ul id=\"categorySingleSlider\" class=\"main clearfix\">
";
// line 578
$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.', 578, $this->source); })()), "ProductImage", [], "any", false, false, true, 578));
$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 579
echo " <li><span class=\"imgWrap\">
<img src=\"";
// line 580
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 580, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, true, 580)) ? (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.', 580, $this->source); })()), "name", [], "any", false, false, true, 580), "html", null, true))) : (print ("")));
echo "\" alt=\"\"
class=\"imgObjectFitCover\" ";
// line 581
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, true, 581) > 1)) {
echo " loading=\"lazy\"";
}
echo ">
</span>
</li>
";
$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 585
echo " <li>
<span class=\"imgWrap\">
<img src=\"";
// line 587
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, true, 587)) ? (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.', 587, $this->source); })()), "name", [], "any", false, false, true, 587), "html", null, true))) : (print ("")));
echo "\"
class=\"imgObjectFitCover\">
</span>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 592
echo " </ul>
<ul id=\"categorySingleSliderNav\" class=\"sub clearfix\">
";
// line 594
$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.', 594, $this->source); })()), "ProductImage", [], "any", false, false, true, 594));
$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 595
echo " <li data-index=\"";
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, true, 595), 595, $this->source), "html", null, true);
echo "\">
<span class=\"imgWrap\">
<img src=\"";
// line 597
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 597, $this->source), "save_image"), "html", null, true);
echo "\" alt=\"\"
class=\"imgObjectFitCover\" loading=\"lazy\">
</span>
</li>
";
++$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 602
echo " </ul>
</div>
</div>
<!-- /PRODUCTS PHOTO -->
<!-- PRODUCTS DATA -->
<div class=\"products-sgContent__pData\" id=\"cart__area\">
<div class=\"titleWrap\">
<h2 class=\"itemPName\">";
// line 610
echo twig_escape_filter($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 610, $this->source); })()), "name", [], "any", false, false, true, 610), 610, $this->source), "html", null, true);
echo "</h2>
";
// line 611
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 611, $this->source); })()), "hasProductClass", [], "any", false, false, true, 611)) {
// line 612
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.', 612, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 612) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 612, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 612))) {
// line 613
echo " <p class=\"itemPrice\">
";
// line 614
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 614, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 614), 614, $this->source)), "html", null, true);
echo "
<span class=\"tax\">";
// line 615
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</p>
";
} else {
// line 618
echo " <p class=\"itemPrice\">
";
// line 619
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 619, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 619), 619, $this->source)), "html", null, true);
echo " ~ ";
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 619, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, true, 619), 619, $this->source)), "html", null, true);
echo "
<span class=\"tax\">";
// line 620
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</p>
";
}
// line 623
echo " ";
} else {
// line 624
echo " <p class=\"itemPrice\">
";
// line 625
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 625, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, true, 625), 625, $this->source)), "html", null, true);
echo "
<span class=\"tax\">";
// line 626
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html", null, true);
echo "</span>
</p>
";
}
// line 629
echo " </div>
<form action=\"";
// line 631
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.', 631, $this->source); })()), "id", [], "any", false, false, true, 631)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 632
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.', 632, $this->source); })()), "stock_find", [], "any", false, false, true, 632)) {
// line 633
echo " <div class=\"ec-productRole__actions\">
";
// line 634
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, true, 634)) {
// line 635
echo " <div class=\"ec-select\">
";
// line 636
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 636, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 636), 636, $this->source), 'row');
echo "
";
// line 637
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 637, $this->source); })()), "classcategory_id1", [], "any", false, false, true, 637), 637, $this->source), 'errors');
echo "
</div>
";
// line 639
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, true, 639)) {
// line 640
echo " <div class=\"ec-select\">
";
// line 641
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 641, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 641), 641, $this->source), 'row');
echo "
";
// line 642
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 642, $this->source); })()), "classcategory_id2", [], "any", false, false, true, 642), 642, $this->source), 'errors');
echo "
</div>
";
}
// line 645
echo " ";
}
// line 646
echo " <div class=\"quantityWrap\">
<span>数量</span>
<div class=\"quantityWrapInner\">
<div class=\"item-select\">
";
// line 650
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 650, $this->source); })()), "quantity", [], "any", false, false, true, 650), 650, $this->source), 'widget');
echo "
";
// line 651
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 651, $this->source); })()), "quantity", [], "any", false, false, true, 651), 651, $this->source), 'errors');
echo "
</div>
<div class=\"product-single-quantityBtnBlock\">
<div class=\"quantityBtn quantityBtn__plus\"><span class=\"btnInner\">+</span></div>
<div class=\"quantityBtn quantityBtn__minus\"><span class=\"btnInner\">-</span></div>
</div>
</div>
</div>
</div>
<div class=\"cartBtnWrap\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart mod-btn-02 cartBtn\">
";
// line 662
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html", null, true);
echo "
</button>
</div>
";
} else {
// line 666
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 668
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
</button>
</div>
";
}
// line 672
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 675
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 676
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 679
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html", null, true);
echo "</span>
<a href=\"";
// line 680
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>
";
// line 687
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 687, $this->source); })()), 687, $this->source), 'rest');
echo "
</form>
";
// line 691
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.', 691, $this->source); })()), "option_favorite_product", [], "any", false, false, true, 691)) {
// line 692
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.', 692, $this->source); })()), "id", [], "any", false, false, true, 692)]), "html", null, true);
echo "\" method=\"post\">
<div class=\"favoriteBtnWrap\">
";
// line 694
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 694, $this->source); })()) == false)) {
// line 695
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel mod-btn-02 favoriteBtn\">お気に入りに追加</button>
";
} else {
// line 697
echo " <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel mod-btn-02 favoriteBtn\"
disabled=\"disabled\">";
// line 698
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html", null, true);
echo "
</button>
";
}
// line 701
echo " </div>
</form>
";
}
// line 704
echo "
<div class=\"itemInfoWrap\">
<p>
";
// line 707
echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 707, $this->source); })()), "description_detail", [], "any", false, false, true, 707), 707, $this->source));
echo "
</p>
</div>
";
// line 710
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.', 710, $this->source); })()), "freearea", [], "any", false, false, true, 710)) {
// line 711
echo " <div class=\"ec-productRole__description\">
";
// line 712
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, twig_template_from_string($this->env, $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 712, $this->source); })()), "freearea", [], "any", false, false, true, 712), 712, $this->source)), array(), true, false, true);
echo "
</div>
";
}
// line 715
echo " </div>
<!-- /PRODUCTS DATA -->
</section>
<!-- /MAIN CONTENTS -->
<div class=\"marginTop30\">
";
// line 721
if (array_key_exists("plugin_snippets", $context)) {
// line 722
echo " ";
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "snippet.twig", ["snippets" => (isset($context["plugin_snippets"]) || array_key_exists("plugin_snippets", $context) ? $context["plugin_snippets"] : (function () { throw new RuntimeError('Variable "plugin_snippets" does not exist.', 722, $this->source); })())]);
echo "
";
}
// line 724
echo " </div>
";
// line 726
if (twig_get_attribute($this->env, $this->source, (isset($context["Layout"]) || array_key_exists("Layout", $context) ? $context["Layout"] : (function () { throw new RuntimeError('Variable "Layout" does not exist.', 726, $this->source); })()), "MainBottom", [], "any", false, false, true, 726)) {
// line 727
echo " ";
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "block.twig", ["Blocks" => twig_get_attribute($this->env, $this->source, (isset($context["Layout"]) || array_key_exists("Layout", $context) ? $context["Layout"] : (function () { throw new RuntimeError('Variable "Layout" does not exist.', 727, $this->source); })()), "MainBottom", [], "any", false, false, true, 727)]);
echo "
";
}
// line 729
echo "
";
// line 730
if (twig_get_attribute($this->env, $this->source, (isset($context["Layout"]) || array_key_exists("Layout", $context) ? $context["Layout"] : (function () { throw new RuntimeError('Variable "Layout" does not exist.', 730, $this->source); })()), "ContentsBottom", [], "any", false, false, true, 730)) {
// line 731
echo " <div class=\"ec-layoutRole__contentBottom\">
";
// line 732
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "block.twig", ["Blocks" => twig_get_attribute($this->env, $this->source, (isset($context["Layout"]) || array_key_exists("Layout", $context) ? $context["Layout"] : (function () { throw new RuntimeError('Variable "Layout" does not exist.', 732, $this->source); })()), "ContentsBottom", [], "any", false, false, true, 732)]);
echo "
</div>
";
}
// line 735
echo " </div>
<!-- /MAIN-CONTENTS -->
<!-- SIDE-CONTENTS -->
";
// line 739
echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env, $context, "Block/side_menu.twig");
echo "
<!-- /SIDE-CONTENTS -->
</div>
<!-- /CONTENTS -->
</section>
</div>
<!-- /PAGE CONTENTS -->
";
$__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 ( 1295 => 739, 1289 => 735, 1283 => 732, 1280 => 731, 1278 => 730, 1275 => 729, 1269 => 727, 1267 => 726, 1263 => 724, 1257 => 722, 1255 => 721, 1247 => 715, 1241 => 712, 1238 => 711, 1236 => 710, 1230 => 707, 1225 => 704, 1220 => 701, 1214 => 698, 1211 => 697, 1207 => 695, 1205 => 694, 1199 => 692, 1197 => 691, 1190 => 687, 1178 => 680, 1174 => 679, 1168 => 676, 1164 => 675, 1159 => 672, 1152 => 668, 1148 => 666, 1141 => 662, 1127 => 651, 1123 => 650, 1117 => 646, 1114 => 645, 1108 => 642, 1104 => 641, 1101 => 640, 1099 => 639, 1094 => 637, 1090 => 636, 1087 => 635, 1085 => 634, 1082 => 633, 1080 => 632, 1076 => 631, 1072 => 629, 1066 => 626, 1062 => 625, 1059 => 624, 1056 => 623, 1050 => 620, 1044 => 619, 1041 => 618, 1035 => 615, 1031 => 614, 1028 => 613, 1026 => 612, 1024 => 611, 1020 => 610, 1010 => 602, 991 => 597, 985 => 595, 968 => 594, 964 => 592, 951 => 587, 947 => 585, 928 => 581, 922 => 580, 919 => 579, 901 => 578, 888 => 568, 877 => 559, 868 => 553, 861 => 549, 856 => 546, 842 => 535, 838 => 534, 824 => 523, 818 => 520, 795 => 500, 749 => 456, 740 => 450, 712 => 425, 705 => 421, 698 => 417, 691 => 413, 679 => 404, 675 => 403, 656 => 386, 644 => 377, 637 => 373, 630 => 369, 623 => 365, 611 => 356, 607 => 355, 582 => 333, 563 => 316, 561 => 315, 557 => 313, 552 => 311, 547 => 310, 542 => 308, 537 => 307, 535 => 306, 531 => 305, 526 => 304, 524 => 303, 520 => 302, 515 => 301, 512 => 300, 504 => 293, 501 => 292, 494 => 286, 484 => 285, 469 => 279, 465 => 278, 461 => 277, 457 => 276, 453 => 274, 447 => 272, 445 => 271, 440 => 270, 437 => 269, 427 => 267, 413 => 265, 405 => 264, 387 => 263, 382 => 261, 359 => 241, 349 => 234, 319 => 207, 314 => 204, 305 => 198, 301 => 196, 299 => 195, 296 => 194, 287 => 188, 283 => 186, 281 => 185, 215 => 121, 207 => 119, 205 => 118, 200 => 116, 197 => 115, 195 => 114, 181 => 103, 178 => 102, 168 => 101, 75 => 16, 65 => 15, 54 => 11, 52 => 13, 39 => 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>
@media only screen and (max-width: 1023px) {
body {
margin-top: 30px;
}
}
.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);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: false,
responsive: [{
breakpoint: 768,
settings: {
dots: true
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
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\" }}\"
}
}
</script>
{% endblock %}
{% block main %}
<!-- PAGE CONTENTS -->
<div class=\"products productsWakamefurikake productsSingle\">
<section class=\"sub-container\">
{# 広告流入かそれ以外かの条件分岐 #}
{% if Product.id is same as(59) %}
<div class=\"ad\">
<section class=\"ad-kvArea\">
<div class=\"ad-kvArea__inner\">
<h1 class=\"dn\">しそ入ひじきふりかけ</h1>
{# utm_contentによってKV表示を切り替え #}
{% if app.request.query.get('utm_content') is same as('healthy') %}
<img src=\"{{ asset('assets/img/product-ad/kv2.png')}}\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"{{ asset('assets/img/product-ad/kv2-sp.png')}}\" class=\"imgAd dn-pcTab__ad\">
{% elseif app.request.query.get('utm_content') is same as('jitan') %}
<img src=\"{{ asset('assets/img/product-ad/kv3.png')}}\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"{{ asset('assets/img/product-ad/kv3-sp.png')}}\" class=\"imgAd dn-pcTab__ad\">
{% elseif app.request.query.get('utm_content') is same as('google_shimei') %}
<img src=\"{{ asset('assets/img/product-ad/kv4.png')}}\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"{{ asset('assets/img/product-ad/kv4-sp.png')}}\" class=\"imgAd dn-pcTab__ad\">
{% else %}
<img src=\"{{ asset('assets/img/product-ad/kv.png')}}\" class=\"imgFit dn-sp__ad kv__ad\">
<img src=\"{{ asset('assets/img/product-ad/kv-sp.png')}}\" class=\"imgAd dn-pcTab__ad\">
{% endif %}
</div>
</section>
{% if app.request.query.get('utm_content') is same as('healthy') %}
<section class=\"ad-healthyArea\">
<div class=\"ad-healthyArea__inner\">
<h2><span>食物繊維</span>と<br class=\"dn-pcTab__ad\"><span>ミネラル</span>たっぷり!</h2>
<div class=\"ad-healthyArea__inner__inner\">
<div class=\"ad-healthyArea__txt\">
<p class=\"top-txt\">
海藻類の中でも特に<br>
<span>栄養価の高い</span>ひじき。
</p>
<p class=\"bottom-txt\">
カルシウム、食物繊維、マグネシウムが<br>
豊富に含まれます。<br>
その他にも、ビタミンBや鉄分なども含ま<br>
れ、しかも低カロリー。
</p>
</div>
<div class=\"ad-healthyArea__img dn-pc__ad\">
<img src=\"{{ asset('assets/img/product-ad/healthy-sp.png')}}\" class=\"imgFit\">
</div>
</div>
</div>
</section>
<section class=\"ad-timeArea\">
<div class=\"ad-timeArea__inner\">
<h2><span class=\"hl-red\">うま味と甘味</span>の絶妙なバランスが<br><span class=\"hl-big\">様々な場面で<br class=\"dn-pc__ad\"><span class=\"hl-red\">大活躍!</span></h2>
<div class=\"ad-timeArea__contents\">
<section class=\"ad-timeArea__contents-time\">
<div class=\"ad-timeArea__contents-time__left\">
<h3>時短×簡単</h3>
<p>
おにぎりが簡単に絶品に!<br>
忙しい朝やお弁当作りにも時短で便利。<br>
<br>
パパッとひとふりで、お茶漬けが本格的な味に。<br>
しその風味豊かなひじきふりかけで
<span class=\"timeTxt\">時短料理<span class=\"black\">を</span>実現!</span>
</p>
</div>
<div class=\"ad-timeArea__contents-time__right\">
<img src=\"{{ asset('assets/img/product-ad/furikake_img.png')}}\" class=\"dn-mobile\">
<img src=\"{{ asset('assets/img/product-ad/furikake_img-sp.png')}}\" class=\"dn-pc__ad\">
</div>
</section>
<section class=\"ad-timeArea__contents-arrangement\">
<div class=\"ad-timeArea__contents-arrangement__heading\">
<h3>アレンジは多種多様<span>いつもの料理が手軽に<br class=\"dn-pc__ad\">美味しく健康的に!</span></h3>
</div>
<div class=\"ad-timeArea__contents-arrangement__items\">
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img01.png')}}\" class=\"imgFit\">
<p>チャーハンに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img02.png')}}\" class=\"imgFit\">
<p>浅漬けに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img04.png')}}\" class=\"imgFit\">
<p>とり天に!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img03.png')}}\" class=\"imgFit\">
<p>トーストにも!</p>
</div>
</div>
</section>
</div>
</div>
</section>
{% else %}
<section class=\"ad-timeArea\">
<div class=\"ad-timeArea__inner\">
<h2><span class=\"hl-red\">うま味と甘味</span>の絶妙なバランスが<br><span class=\"hl-big\">様々な場面で<br class=\"dn-pc__ad\"><span class=\"hl-red\">大活躍!</span></h2>
<div class=\"ad-timeArea__contents\">
<section class=\"ad-timeArea__contents-time\">
<div class=\"ad-timeArea__contents-time__left\">
<h3>時短×簡単</h3>
<p>
おにぎりが簡単に絶品に!<br>
忙しい朝やお弁当作りにも時短で便利。<br>
<br>
パパッとひとふりで、お茶漬けが本格的な味に。<br>
しその風味豊かなひじきふりかけで
<span class=\"timeTxt\">時短料理<span class=\"black\">を</span>実現!</span>
</p>
</div>
<div class=\"ad-timeArea__contents-time__right\">
<img src=\"{{ asset('assets/img/product-ad/furikake_img.png')}}\" class=\"dn-mobile\">
<img src=\"{{ asset('assets/img/product-ad/furikake_img-sp.png')}}\" class=\"dn-pc__ad\">
</div>
</section>
<section class=\"ad-timeArea__contents-arrangement\">
<div class=\"ad-timeArea__contents-arrangement__heading\">
<h3>アレンジは多種多様<span>いつもの料理が手軽に<br class=\"dn-pc__ad\">美味しく健康的に!</span></h3>
</div>
<div class=\"ad-timeArea__contents-arrangement__items\">
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img01.png')}}\" class=\"imgFit\">
<p>チャーハンに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img02.png')}}\" class=\"imgFit\">
<p>浅漬けに!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img04.png')}}\" class=\"imgFit\">
<p>とり天に!</p>
</div>
<div class=\"ad-timeArea__contents-arrangement__item\">
<img src=\"{{ asset('assets/img/product-ad/cooki_img03.png')}}\" class=\"imgFit\">
<p>トーストにも!</p>
</div>
</div>
</section>
</div>
</div>
</section>
<section class=\"ad-healthyArea\">
<div class=\"ad-healthyArea__inner\">
<h2><span>食物繊維</span>と<br class=\"dn-pcTab__ad\"><span>ミネラル</span>たっぷり!</h2>
<div class=\"ad-healthyArea__inner__inner\">
<div class=\"ad-healthyArea__txt\">
<p class=\"top-txt\">
海藻類の中でも特に<br>
<span>栄養価の高い</span>ひじき。
</p>
<p class=\"bottom-txt\">
カルシウム、食物繊維、マグネシウムが<br>
豊富に含まれます。<br>
その他にも、ビタミンBや鉄分なども含ま<br>
れ、しかも低カロリー。
</p>
</div>
<div class=\"ad-healthyArea__img dn-pc__ad\">
<img src=\"{{ asset('assets/img/product-ad/healthy-sp.png')}}\" class=\"imgFit\">
</div>
</div>
</div>
</section>
{% endif %}
<section class=\"ad-voiceArea\">
<div class=\"ad-voiceArea__inner\">
<div class=\"ad-voiceArea__content\">
<div class=\"ad-voiceArea__heading\">
<h2><span>いつも沢山のお声<br class=\"dn-pc__ad\">ありがとうございます!</span><br class=\"dn-mobile\">ご利用いただいた<br class=\"dn-pc\">お客様からのお声</h2>
</div>
<div class=\"ad-voiceArea__items\">
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>01</div>
<div class=\"ad-voiceArea__item-right\">
<p><span>とても美味しい</span>ひじきふりかけです。<br>
しっとりしていて食べやすく、<span>ホカホカご飯にもお弁当にも最適</span>です。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>02</div>
<div class=\"ad-voiceArea__item-right\">
<p>しっとりとしたヒジキがほんのりしそ風味で<span>すごく好きな味です。</span><br>
<span>もう一袋買えば良かった、</span>と後悔してます。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>03</div>
<div class=\"ad-voiceArea__item-right\">
<p>毎朝食べてます。美味しいし、<span>手軽にひじきが食べれてとても満足</span>です。<br>
いつも塩分無視してたっぷりかけてるので、<span>無くなったらリピ</span>します。</p>
</div>
</div>
<div class=\"ad-voiceArea__item\">
<div class=\"ad-voiceArea__item-left\">VOICE<br>04</div>
<div class=\"ad-voiceArea__item-right\">
<p>おにぎりに使うのがお気に入りで<span>幼稚園児のお弁当や食事に栄養をプラス</span><br class=\"dn-mobile\">
するのに活用させてもらってます!</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class=\"ad-aboutArea\">
<div class=\"ad-aboutArea__inner\">
<h2>30年以上の<br class=\"dn-pcTab__ad\"><span>「おいしさの追求」</span>で<br>多くのファンに<br class=\"dn-pcTab__ad\">ご支持いただく</h2>
<div class=\"ad-aboutArea__content\">
<div class=\"ad-aboutArea__content-kv\">
<img src=\"{{ asset('assets/img/product-ad/history1.png')}}\" class=\"imgFit\">
</div>
<div class=\"ad-aboutArea__content-items\">
<div class=\"ad-aboutArea__content-items__left\">
<h3>大正10年(1921年)創業<br>100年の歴史と革新</h3>
<p>
1921年に山陰特産品の板わかめ問屋として創業。<br>
<br>
「ひじきふりかけ」の先駆者<br>
30年以上の「おいしさの追求」で、<br>
多くのファンに支持されてきました。<br>
<br>
忙しくても、自分や大切な人の健康を支えたい<br class=\"dn-mobile\">
あなたへ。<br>
栄養豊富な海の幸を、食卓と健康を大切にする<br class=\"dn-mobile\">
すべての方のためにお届けします。<br>
</p>
</div>
<div class=\"ad-aboutArea__content-items__right\">
<div class=\"ad-aboutArea__content-items__right-top\">
<img src=\"{{ asset('assets/img/product-ad/history2.png')}}\" class=\"imgFit\">
</div>
<div class=\"ad-aboutArea__content-items__right-bottom\">
<img src=\"{{ asset('assets/img/product-ad/history3.png')}}\" class=\"imgFit\">
</div>
</div>
</div>
</div>
</div>
</section>
<div class=\"ad-cart\">
<a href=\"#cart__area\">
<div>
<div>
<img src=\"{{ asset('assets/img/product-ad/icon-cart.png')}}\" class=\"imgFit dn-sp__ad\">
<img src=\"{{ asset('assets/img/product-ad/icon-cart-sp.png')}}\" class=\"imgFit dn-pcTab__ad\">
</div>
<p>
商品をカートに<br class=\"dn-sp__ad\">追加する
</p>
</div>
</a>
</div>
</div>
{% else %}
<!-- H1 商品カテゴリーの見出し -->
<div class=\"sub-h1--products\">
<h1 class=\"itemTitle\">
{{ Product.name }}
</h1>
<div class=\"itemImg\">
<div class=\"itemImgInner\">
<img src=\"{{ asset('assets/img/products/wf_h1_01.jpg') }}\" alt=\"\" class=\"imgObjectFitCover\">
</div>
</div>
</div>
<!-- /H1 -->
{% endif %}
<!-- CONTENTS -->
<div class=\"l-container l-2ColumnContainer\">
<!-- MAIN-CONTENTS -->
<div class=\"l-main\">
<!-- BREAD CRUMBS -->
<div class=\"sub-breadcrumbsWrap\">
<ul class=\"sub-breadcrumbs\">
<li><a href=\"/\">TOP</a></li>
<li><a href=\"/products/list\">商品一覧</a></li>
<li>{{ Product.name }}</li>
</ul>
</div>
<!-- /BREAD CRUMBS -->
<!-- MAIN CONTENTS -->
<section class=\"products-sgContent\">
<!-- PRODUCTS PHOTO -->
<div class=\"products-sgContent__pPhoto\">
<div class=\"productsPhotoSlide\">
<ul id=\"categorySingleSlider\" class=\"main clearfix\">
{% for ProductImage in Product.ProductImage %}
<li><span class=\"imgWrap\">
<img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" alt=\"\"
class=\"imgObjectFitCover\" {% if loop.index > 1 %} loading=\"lazy\"{% endif %}>
</span>
</li>
{% else %}
<li>
<span class=\"imgWrap\">
<img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\"
class=\"imgObjectFitCover\">
</span>
</li>
{% endfor %}
</ul>
<ul id=\"categorySingleSliderNav\" class=\"sub clearfix\">
{% for ProductImage in Product.ProductImage %}
<li data-index=\"{{ loop.index0 }}\">
<span class=\"imgWrap\">
<img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\"
class=\"imgObjectFitCover\" loading=\"lazy\">
</span>
</li>
{% endfor %}
</ul>
</div>
</div>
<!-- /PRODUCTS PHOTO -->
<!-- PRODUCTS DATA -->
<div class=\"products-sgContent__pData\" id=\"cart__area\">
<div class=\"titleWrap\">
<h2 class=\"itemPName\">{{ Product.name }}</h2>
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<p class=\"itemPrice\">
{{ Product.getPrice02IncTaxMin|price }}
<span class=\"tax\">{{ '(税込)'|trans }}</span>
</p>
{% else %}
<p class=\"itemPrice\">
{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
<span class=\"tax\">{{ '(税込)'|trans }}</span>
</p>
{% endif %}
{% else %}
<p class=\"itemPrice\">
{{ Product.getPrice02IncTaxMin|price }}
<span class=\"tax\">{{ '(税込)'|trans }}</span>
</p>
{% endif %}
</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 %}
<div class=\"ec-select\">
{{ form_row(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"ec-select\">
{{ form_row(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"quantityWrap\">
<span>数量</span>
<div class=\"quantityWrapInner\">
<div class=\"item-select\">
{{ form_widget(form.quantity) }}
{{ form_errors(form.quantity) }}
</div>
<div class=\"product-single-quantityBtnBlock\">
<div class=\"quantityBtn quantityBtn__plus\"><span class=\"btnInner\">+</span></div>
<div class=\"quantityBtn quantityBtn__minus\"><span class=\"btnInner\">-</span></div>
</div>
</div>
</div>
</div>
<div class=\"cartBtnWrap\">
<button type=\"submit\" class=\"ec-blockBtn--action add-cart mod-btn-02 cartBtn\">
{{ 'カートに入れる'|trans }}
</button>
</div>
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
<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>
{{ form_rest(form) }}
</form>
{% if BaseInfo.option_favorite_product %}
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<div class=\"favoriteBtnWrap\">
{% if is_favorite == false %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel mod-btn-02 favoriteBtn\">お気に入りに追加</button>
{% else %}
<button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel mod-btn-02 favoriteBtn\"
disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
</button>
{% endif %}
</div>
</form>
{% endif %}
<div class=\"itemInfoWrap\">
<p>
{{ Product.description_detail|raw|nl2br }}
</p>
</div>
{% if Product.freearea %}
<div class=\"ec-productRole__description\">
{{ include(template_from_string(Product.freearea), sandboxed = true) }}
</div>
{% endif %}
</div>
<!-- /PRODUCTS DATA -->
</section>
<!-- /MAIN CONTENTS -->
<div class=\"marginTop30\">
{% if plugin_snippets is defined %}
{{ include('snippet.twig', { snippets: plugin_snippets }) }}
{% endif %}
</div>
{% if Layout.MainBottom %}
{{ include('block.twig', {'Blocks': Layout.MainBottom}) }}
{% endif %}
{% if Layout.ContentsBottom %}
<div class=\"ec-layoutRole__contentBottom\">
{{ include('block.twig', {'Blocks': Layout.ContentsBottom}) }}
</div>
{% endif %}
</div>
<!-- /MAIN-CONTENTS -->
<!-- SIDE-CONTENTS -->
{{ include('Block/side_menu.twig') }}
<!-- /SIDE-CONTENTS -->
</div>
<!-- /CONTENTS -->
</section>
</div>
<!-- /PAGE CONTENTS -->
{% endblock %}", "Product/detail.twig", "/home/kaorimehonpo/kaorime.co.jp/public_html/shop.kaorime.co.jp/app/template/kaorime/Product/detail.twig");
}
public function checkSecurity()
{
static $tags = array("set" => 13, "if" => 114, "for" => 263);
static $filters = array("raw" => 103, "json_encode" => 116, "escape" => 119, "trans" => 188, "no_image_product" => 267, "slice" => 270, "replace" => 270, "default" => 270, "price" => 614, "nl2br" => 707);
static $functions = array("class_categories_as_json" => 103, "url" => 234, "asset" => 264, "form_row" => 636, "form_errors" => 637, "form_widget" => 650, "form_rest" => 687, "include" => 712, "template_from_string" => 712);
try {
$this->sandbox->checkSecurity(
['set', 'if', 'for'],
['raw', 'json_encode', 'escape', 'trans', 'no_image_product', 'slice', 'replace', 'default', 'price', 'nl2br'],
['class_categories_as_json', 'url', 'asset', 'form_row', 'form_errors', 'form_widget', 'form_rest', 'include', 'template_from_string']
);
} catch (SecurityError $e) {
$e->setSourceContext($this->source);
if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
$e->setTemplateLine($tags[$e->getTagName()]);
} elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
$e->setTemplateLine($filters[$e->getFilterName()]);
} elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
$e->setTemplateLine($functions[$e->getFunctionName()]);
}
throw $e;
}
}
}