<?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/list.twig */
class __TwigTemplate_2540083cd6d312e1063499d94ad38e033494c7a31043c32ede75cc0607468d8c 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/list.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/list.twig"));
// line 13
$context["body_class"] = "product_page";
// line 11
$this->parent = $this->loadTemplate("default_frame.twig", "Product/list.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 " <link rel=\"stylesheet\" href=\"/html/plugins/ion-rangeslider/css/ion.rangeSlider.min.css\">
<style>
/* ============================================
サイドバー付き 2カラムレイアウト
============================================ */
.ec-productListLayout {
display: flex;
gap: 32px;
align-items: flex-start;
}
/* ============================================
サイドバー(フィルターパネル)
============================================ */
.ec-filterSidebar {
position: static;
margin: 20px;
width: 240px;
flex-shrink: 0;
}
\t\t.ec-searchnavRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
\t\t.ec-shelfRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
\t\t.ec-pagerRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
.ec-filterSidebar__section {
background: #fff;
border: 1px solid #e8e8e8;
border-radius: 6px;
padding: 18px 16px;
margin-bottom: 16px;
}
.ec-filterSidebar__heading {
font-size: 13px;
font-weight: bold;
color: #222;
margin: 0 0 12px;
padding-bottom: 10px;
border-bottom: 2px solid #222;
letter-spacing: 0.05em;
}
/* カテゴリリスト */
.ec-filterSidebar__categoryList,
.ec-filterSidebar__categoryList ul {
list-style: none;
padding: 0;
margin: 0;
}
.ec-filterSidebar__categoryList li a {
display: block;
padding: 6px 8px;
font-size: 13px;
color: #444;
text-decoration: none;
border-radius: 4px;
transition: background 0.15s, color 0.15s;
}
.ec-filterSidebar__categoryList li a:hover {
background: #f5f5f5;
color: #222;
}
.ec-filterSidebar__categoryList li.is-active > a {
font-weight: bold;
color: #c00;
background: #fff5f5;
}
/* サブカテゴリ */
.ec-filterSidebar__categoryList ul {
padding-left: 12px;
margin-top: 2px;
}
.ec-filterSidebar__categoryList ul li a {
font-size: 12px;
color: #666;
padding: 4px 8px;
}
/* メーカーリスト */
.ec-filterSidebar__makerList {
list-style: none;
padding: 0;
margin: 0;
}
.ec-filterSidebar__makerList li {
border-bottom: 1px solid #f0f0f0;
}
.ec-filterSidebar__makerList li:last-child {
border-bottom: none;
}
.ec-filterSidebar__makerList li a {
display: flex;
align-items: center;
gap: 6px;
padding: 7px 6px;
font-size: 13px;
color: #444;
text-decoration: none;
transition: color 0.15s;
}
.ec-filterSidebar__makerList li a:hover {
color: #c00;
}
.ec-filterSidebar__makerList li.is-active a {
font-weight: bold;
color: #c00;
}
.ec-filterSidebar__makerList li.is-active a::before {
content: \"✓\";
font-size: 11px;
color: #c00;
}
/* 価格帯フィルター */
.ec-filterSidebar__priceDisplay {
text-align: center;
font-size: 13px;
color: #333;
margin-bottom: 12px;
font-weight: bold;
}
.ec-filterSidebar__priceDisplay span {
color: #c00;
}
.ec-filterSidebar__priceSliderWrap {
padding: 0 4px;
margin-bottom: 16px;
}
.ec-filterSidebar__priceApply {
display: block;
width: 100%;
padding: 8px;
background: #222;
color: #fff;
border: none;
border-radius: 4px;
font-size: 13px;
cursor: pointer;
text-align: center;
transition: background 0.2s;
}
.ec-filterSidebar__priceApply:hover {
background: #444;
}
.ec-filterSidebar__pricePreset {
list-style: none;
padding: 0;
margin: 10px 0 0;
}
.ec-filterSidebar__pricePreset li a {
display: block;
padding: 5px 6px;
font-size: 12px;
color: #666;
text-decoration: none;
border-radius: 4px;
transition: background 0.15s;
}
.ec-filterSidebar__pricePreset li a:hover {
background: #f5f5f5;
color: #333;
}
/* 絞り込みリセット */
.ec-filterSidebar__reset a {
display: block;
text-align: center;
padding: 8px;
font-size: 12px;
color: #888;
text-decoration: underline;
border: 1px solid #ddd;
border-radius: 4px;
transition: color 0.15s, border-color 0.15s;
}
.ec-filterSidebar__reset a:hover {
color: #c00;
border-color: #c00;
}
/* 現在の絞り込み条件バッジ */
.ec-filterActive {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 12px;
padding: 10px 12px;
background: #f9f9f9;
border: 1px solid #e8e8e8;
border-radius: 6px;
}
.ec-filterActive__label {
font-size: 11px;
color: #888;
align-self: center;
margin-right: 4px;
}
.ec-filterActive__tag {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 8px;
background: #222;
color: #fff;
border-radius: 20px;
font-size: 11px;
}
.ec-filterActive__tag a {
color: #aaa;
text-decoration: none;
font-size: 12px;
line-height: 1;
}
.ec-filterActive__tag a:hover {
color: #fff;
}
/* メインコンテンツ側 */
.ec-productListMain {
flex: 1;
min-width: 0;
}
/* ion-rangeslider カスタマイズ */
.irs--flat .irs-bar {
background-color: #222;
}
.irs--flat .irs-handle > i:first-child {
background-color: #222;
}
.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
background-color: #222;
font-size: 11px;
}
/* モバイル対応 */
@media (max-width: 767px) {
.ec-productListLayout {
flex-direction: column;
}
.ec-filterSidebar {
\tposition: static;
width: 100%;
}
.ec-filterSidebar__section {
margin-bottom: 10px;
}
/* モバイルではアコーディオン形式 */
.ec-filterSidebar__body {
display: none;
}
.ec-filterSidebar__body.is-open {
display: block;
}
.ec-filterSidebar__heading {
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.ec-filterSidebar__heading.is-open {
margin-bottom: 12px;
padding-bottom: 10px;
border-bottom: 2px solid #222;
}
.ec-filterSidebar__heading::after {
content: \"▼\";
font-size: 10px;
color: #888;
transition: transform 0.2s;
}
.ec-filterSidebar__heading.is-open::after {
transform: rotate(180deg);
}
}
</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 341
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 342
echo " <script>
eccube.productsClassCategories = {
";
// line 344
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 344, $this->source); })()));
$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["Product"]) {
// line 345
echo " \"";
echo twig_escape_filter($this->env, twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, false, 345), "js"), "html", null, true);
echo "\": ";
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($context["Product"]);
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 345) == false)) {
echo ", ";
}
// line 346
echo " ";
++$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['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 347
echo " };
\$(function() {
// 表示件数を変更
\$('.disp-number').change(function() {
var dispNumber = \$(this).val();
\$('#disp_number').val(dispNumber);
\$('#pageno').val(1);
\$(\"#form1\").submit();
});
// 並び順を変更
\$('.order-by').change(function() {
var orderBy = \$(this).val();
\$('#orderby').val(orderBy);
\$('#pageno').val(1);
\$(\"#form1\").submit();
});
// ==============================
// 価格帯スライダー(ion-rangeslider)
// ==============================
var priceMin = parseInt('";
// line 370
((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.', 370, $this->source); })()), "request", [], "any", false, false, false, 370), "query", [], "any", false, false, false, 370), "get", [0 => "price_min"], "method", false, false, false, 370)) ? (print (twig_escape_filter($this->env, 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.', 370, $this->source); })()), "request", [], "any", false, false, false, 370), "query", [], "any", false, false, false, 370), "get", [0 => "price_min"], "method", false, false, false, 370), "html", null, true))) : (print (0)));
echo "') || 0;
var priceMax = parseInt('";
// line 371
((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.', 371, $this->source); })()), "request", [], "any", false, false, false, 371), "query", [], "any", false, false, false, 371), "get", [0 => "price_max"], "method", false, false, false, 371)) ? (print (twig_escape_filter($this->env, 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.', 371, $this->source); })()), "request", [], "any", false, false, false, 371), "query", [], "any", false, false, false, 371), "get", [0 => "price_max"], "method", false, false, false, 371), "html", null, true))) : (print (5000000)));
echo "') || 5000000;
\$(\"#price-range-slider\").ionRangeSlider({
type: \"double\",
min: 0,
max: 5000000,
from: priceMin,
to: priceMax,
step: 10000,
prettify_enabled: true,
prettify_separator: \",\",
postfix: \"円\",
onFinish: function(data) {
\$('#price_min_val').val(data.from);
\$('#price_max_val').val(data.to);
// 表示更新
\$('#price-display-min').text(Number(data.from).toLocaleString());
\$('#price-display-max').text(Number(data.to).toLocaleString());
}
});
// 価格フォーム送信
\$('#price-filter-apply').on('click', function() {
var min = \$('#price_min_val').val();
var max = \$('#price_max_val').val();
var url = new URL(window.location.href);
url.searchParams.set('price_min', min);
url.searchParams.set('price_max', max);
url.searchParams.delete('pageno');
window.location.href = url.toString();
});
// モバイル:アコーディオン
\$('.ec-filterSidebar__heading').on('click', function() {
if (\$(window).width() <= 767) {
\$(this).toggleClass('is-open');
\$(this).next('.ec-filterSidebar__body').toggleClass('is-open');
}
});
});
\$('.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()
});
\t // 価格プリセットのクイック適用
\t function applyPrice(min, max) {
\t var url = new URL(window.location.href);
\t url.searchParams.set('price_min', min);
\t url.searchParams.set('price_max', max);
\t url.searchParams.delete('pageno');
\t window.location.href = url.toString();
\t }
</script>
<script src=\"/html/plugins/ion-rangeslider/js/ion.rangeSlider.min.js\"></script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 432
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 433
echo "
";
// line 435
$context["hasFilter"] = (((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.', 435, $this->source); })()), "request", [], "any", false, false, false, 435), "query", [], "any", false, false, false, 435), "get", [0 => "category_id"], "method", false, false, false, 435) || 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.', 435, $this->source); })()), "request", [], "any", false, false, false, 435), "query", [], "any", false, false, false, 435), "get", [0 => "maker_id"], "method", false, false, false, 435)) || 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.', 435, $this->source); })()), "request", [], "any", false, false, false, 435), "query", [], "any", false, false, false, 435), "get", [0 => "price_min"], "method", false, false, false, 435)) || 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.', 435, $this->source); })()), "request", [], "any", false, false, false, 435), "query", [], "any", false, false, false, 435), "get", [0 => "price_max"], "method", false, false, false, 435));
// line 436
echo "
";
// line 440
echo " <div class=\"ec-productListLayout\">
";
// line 443
echo " <aside class=\"ec-filterSidebar\">
";
// line 445
echo " <div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">価格帯</h3>
<div class=\"ec-filterSidebar__body is-open\">
<div class=\"ec-filterSidebar__priceDisplay\">
<span id=\"price-display-min\">";
// line 449
((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.', 449, $this->source); })()), "request", [], "any", false, false, false, 449), "query", [], "any", false, false, false, 449), "get", [0 => "price_min"], "method", false, false, false, 449)) ? (print (twig_escape_filter($this->env, twig_number_format_filter($this->env, 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.', 449, $this->source); })()), "request", [], "any", false, false, false, 449), "query", [], "any", false, false, false, 449), "get", [0 => "price_min"], "method", false, false, false, 449)), "html", null, true))) : (print ("0")));
echo "</span>円
〜
<span id=\"price-display-max\">";
// line 451
((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.', 451, $this->source); })()), "request", [], "any", false, false, false, 451), "query", [], "any", false, false, false, 451), "get", [0 => "price_max"], "method", false, false, false, 451)) ? (print (twig_escape_filter($this->env, twig_number_format_filter($this->env, 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.', 451, $this->source); })()), "request", [], "any", false, false, false, 451), "query", [], "any", false, false, false, 451), "get", [0 => "price_max"], "method", false, false, false, 451)), "html", null, true))) : (print ("5,000,000")));
echo "</span>円
</div>
<div class=\"ec-filterSidebar__priceSliderWrap\">
<input type=\"text\" id=\"price-range-slider\" style=\"display:none;\">
<input type=\"hidden\" id=\"price_min_val\" value=\"";
// line 455
((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.', 455, $this->source); })()), "request", [], "any", false, false, false, 455), "query", [], "any", false, false, false, 455), "get", [0 => "price_min"], "method", false, false, false, 455)) ? (print (twig_escape_filter($this->env, 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.', 455, $this->source); })()), "request", [], "any", false, false, false, 455), "query", [], "any", false, false, false, 455), "get", [0 => "price_min"], "method", false, false, false, 455), "html", null, true))) : (print (0)));
echo "\">
<input type=\"hidden\" id=\"price_max_val\" value=\"";
// line 456
((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.', 456, $this->source); })()), "request", [], "any", false, false, false, 456), "query", [], "any", false, false, false, 456), "get", [0 => "price_max"], "method", false, false, false, 456)) ? (print (twig_escape_filter($this->env, 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.', 456, $this->source); })()), "request", [], "any", false, false, false, 456), "query", [], "any", false, false, false, 456), "get", [0 => "price_max"], "method", false, false, false, 456), "html", null, true))) : (print (5000000)));
echo "\">
</div>
<button id=\"price-filter-apply\" class=\"ec-filterSidebar__priceApply\">この価格帯で絞り込む</button>
<ul class=\"ec-filterSidebar__pricePreset\">
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(0, 300000)\">〜30万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(300000, 600000)\">30万円〜60万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(600000, 1000000)\">60万円〜100万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(1000000, 5000000)\">100万円〜</a></li>
</ul>
</div>
</div>
";
// line 471
echo " <div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">ブランド</h3>
<div class=\"ec-filterSidebar__body is-open\">
<ul class=\"ec-filterSidebar__makerList\">
";
// line 475
if (array_key_exists("Makers", $context)) {
// line 476
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["Makers"]) || array_key_exists("Makers", $context) ? $context["Makers"] : (function () { throw new RuntimeError('Variable "Makers" does not exist.', 476, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["MakerItem"]) {
// line 477
echo " <li class=\"";
echo ((( !(null === (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 477, $this->source); })())) && (twig_get_attribute($this->env, $this->source, (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 477, $this->source); })()), "id", [], "any", false, false, false, 477) == twig_get_attribute($this->env, $this->source, $context["MakerItem"], "id", [], "any", false, false, false, 477)))) ? ("is-active") : (""));
echo "\">
<a href=\"";
// line 478
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?maker_id=";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["MakerItem"], "id", [], "any", false, false, false, 478), "html", null, true);
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.', 478, $this->source); })()), "request", [], "any", false, false, false, 478), "query", [], "any", false, false, false, 478), "get", [0 => "category_id"], "method", false, false, false, 478)) {
echo "&category_id=";
echo twig_escape_filter($this->env, 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.', 478, $this->source); })()), "request", [], "any", false, false, false, 478), "query", [], "any", false, false, false, 478), "get", [0 => "category_id"], "method", false, false, false, 478), "html", null, true);
}
echo "\">
";
// line 479
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["MakerItem"], "name", [], "any", false, false, false, 479), "html", null, true);
echo "
</a>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['MakerItem'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 483
echo " ";
} else {
// line 484
echo " ";
// line 485
echo " ";
$context["makerList"] = [0 => ["id" => 1, "name" => "LIXIL"], 1 => ["id" => 2, "name" => "YKK AP"], 2 => ["id" => 3, "name" => "三協アルミ"], 3 => ["id" => 4, "name" => "四国化成"], 4 => ["id" => 5, "name" => "タカショー"], 5 => ["id" => 6, "name" => "ユニソン"], 6 => ["id" => 7, "name" => "エスビック"], 7 => ["id" => 8, "name" => "パナソニック"], 8 => ["id" => 9, "name" => "イナバ"], 9 => ["id" => 10, "name" => "ヨドコウ"], 10 => ["id" => 13, "name" => "タクボ"]];
// line 498
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["makerList"]) || array_key_exists("makerList", $context) ? $context["makerList"] : (function () { throw new RuntimeError('Variable "makerList" does not exist.', 498, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["maker"]) {
// line 499
echo " <li class=\"";
echo ((( !(null === (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 499, $this->source); })())) && (twig_get_attribute($this->env, $this->source, (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 499, $this->source); })()), "id", [], "any", false, false, false, 499) == twig_get_attribute($this->env, $this->source, $context["maker"], "id", [], "any", false, false, false, 499)))) ? ("is-active") : (""));
echo "\">
<a href=\"";
// line 500
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?maker_id=";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["maker"], "id", [], "any", false, false, false, 500), "html", null, true);
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.', 500, $this->source); })()), "request", [], "any", false, false, false, 500), "query", [], "any", false, false, false, 500), "get", [0 => "category_id"], "method", false, false, false, 500)) {
echo "&category_id=";
echo twig_escape_filter($this->env, 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.', 500, $this->source); })()), "request", [], "any", false, false, false, 500), "query", [], "any", false, false, false, 500), "get", [0 => "category_id"], "method", false, false, false, 500), "html", null, true);
}
echo "\">
";
// line 501
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["maker"], "name", [], "any", false, false, false, 501), "html", null, true);
echo "
</a>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['maker'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 505
echo " ";
}
// line 506
echo " </ul>
</div>
</div>
";
// line 510
echo " <div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">カテゴリ</h3>
<div class=\"ec-filterSidebar__body is-open\">
";
// line 513
$context["categoryList"] = [0 => ["id" => 7, "name" => "カーポート・車庫", "children" => []], 1 => ["id" => 16, "name" => "ガレージ・倉庫", "children" => []], 2 => ["id" => 8, "name" => "サイクルポート・駐輪場", "children" => []], 3 => ["id" => 9, "name" => "ゲート", "children" => [0 => ["id" => 30, "name" => "跳ね上げ式ゲート"], 1 => ["id" => 29, "name" => "伸縮ゲート"], 2 => ["id" => 31, "name" => "ガレージシャッター"]]], 4 => ["id" => 12, "name" => "テラス", "children" => [0 => ["id" => 33, "name" => "テラス囲い"], 1 => ["id" => 32, "name" => "テラス屋根"]]], 5 => ["id" => 19, "name" => "ベランダ・バルコニー", "children" => [0 => ["id" => 35, "name" => "ベランダ・バルコニー屋根"], 1 => ["id" => 34, "name" => "ベランダ・バルコニー"]]], 6 => ["id" => 18, "name" => "オーニング・日よけ", "children" => []], 7 => ["id" => 11, "name" => "ウッドデッキ", "children" => [0 => ["id" => 37, "name" => "タイルデッキ"], 1 => ["id" => 36, "name" => "ウッドデッキ"]]], 8 => ["id" => 14, "name" => "フェンス・柵", "children" => []], 9 => ["id" => 25, "name" => "門扉", "children" => []], 10 => ["id" => 13, "name" => "ポスト・門柱宅配ボックス", "children" => []], 11 => ["id" => 15, "name" => "物置・収納・屋外倉庫", "children" => []], 12 => ["id" => 20, "name" => "ガーデンファニチャー", "children" => []], 13 => ["id" => 22, "name" => "人工芝", "children" => []], 14 => ["id" => 17, "name" => "内窓・二重窓", "children" => []], 15 => ["id" => 26, "name" => "その他", "children" => [0 => ["id" => 38, "name" => "パーゴラ"], 1 => ["id" => 39, "name" => "立水栓・ガーデンシンク"], 2 => ["id" => 40, "name" => "手すり"], 3 => ["id" => 10, "name" => "ストックヤード"], 4 => ["id" => 27, "name" => "ゴミステーション"], 5 => ["id" => 42, "name" => "面格子・窓格子"], 6 => ["id" => 41, "name" => "窓シャッター"], 7 => ["id" => 43, "name" => "玄関ドア"], 8 => ["id" => 28, "name" => "石材"], 9 => ["id" => 44, "name" => "照明"], 10 => ["id" => 21, "name" => "DIY材料"]]]];
// line 556
echo " <ul class=\"ec-filterSidebar__categoryList\">
<li class=\"";
// line 557
echo (((twig_test_empty(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.', 557, $this->source); })()), "request", [], "any", false, false, false, 557), "query", [], "any", false, false, false, 557), "get", [0 => "category_id"], "method", false, false, false, 557)) && (null === (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 557, $this->source); })())))) ? ("is-active") : (""));
echo "\">
<a href=\"";
// line 558
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "\">すべて</a>
</li>
";
// line 560
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["categoryList"]) || array_key_exists("categoryList", $context) ? $context["categoryList"] : (function () { throw new RuntimeError('Variable "categoryList" does not exist.', 560, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["cat"]) {
// line 561
echo " <li class=\"";
echo (((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.', 561, $this->source); })()), "request", [], "any", false, false, false, 561), "query", [], "any", false, false, false, 561), "get", [0 => "category_id"], "method", false, false, false, 561) == twig_get_attribute($this->env, $this->source, $context["cat"], "id", [], "any", false, false, false, 561))) ? ("is-active") : (""));
echo "\">
<a href=\"";
// line 562
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["cat"], "id", [], "any", false, false, false, 562), "html", null, true);
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.', 562, $this->source); })()), "request", [], "any", false, false, false, 562), "query", [], "any", false, false, false, 562), "get", [0 => "maker_id"], "method", false, false, false, 562)) {
echo "&maker_id=";
echo twig_escape_filter($this->env, 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.', 562, $this->source); })()), "request", [], "any", false, false, false, 562), "query", [], "any", false, false, false, 562), "get", [0 => "maker_id"], "method", false, false, false, 562), "html", null, true);
}
echo "\">
";
// line 563
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cat"], "name", [], "any", false, false, false, 563), "html", null, true);
echo "
</a>
";
// line 565
if ((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cat"], "children", [], "any", false, false, false, 565)) > 0)) {
// line 566
echo " <ul>
";
// line 567
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, $context["cat"], "children", [], "any", false, false, false, 567));
foreach ($context['_seq'] as $context["_key"] => $context["child"]) {
// line 568
echo " <li class=\"";
echo (((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.', 568, $this->source); })()), "request", [], "any", false, false, false, 568), "query", [], "any", false, false, false, 568), "get", [0 => "category_id"], "method", false, false, false, 568) == twig_get_attribute($this->env, $this->source, $context["child"], "id", [], "any", false, false, false, 568))) ? ("is-active") : (""));
echo "\">
<a href=\"";
// line 569
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["child"], "id", [], "any", false, false, false, 569), "html", null, true);
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.', 569, $this->source); })()), "request", [], "any", false, false, false, 569), "query", [], "any", false, false, false, 569), "get", [0 => "maker_id"], "method", false, false, false, 569)) {
echo "&maker_id=";
echo twig_escape_filter($this->env, 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.', 569, $this->source); })()), "request", [], "any", false, false, false, 569), "query", [], "any", false, false, false, 569), "get", [0 => "maker_id"], "method", false, false, false, 569), "html", null, true);
}
echo "\">
";
// line 570
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["child"], "name", [], "any", false, false, false, 570), "html", null, true);
echo "
</a>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['child'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 574
echo " </ul>
";
}
// line 576
echo " </li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cat'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 578
echo " </ul>
</div>
</div>
";
// line 583
echo " ";
if ((isset($context["hasFilter"]) || array_key_exists("hasFilter", $context) ? $context["hasFilter"] : (function () { throw new RuntimeError('Variable "hasFilter" does not exist.', 583, $this->source); })())) {
// line 584
echo " <div class=\"ec-filterSidebar__reset\">
<a href=\"";
// line 585
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "\">絞り込みをすべてリセット</a>
</div>
";
}
// line 588
echo "
</aside>
";
// line 591
echo "
";
// line 593
echo " <div class=\"ec-productListMain\">
";
// line 594
if ((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 594, $this->source); })()), "category_id", [], "any", false, false, false, 594), "vars", [], "any", false, false, false, 594), "errors", [], "any", false, false, false, 594)) > 0)) {
// line 595
echo " <div class=\"ec-searchnavRole\">
<p class=\"errormsg text-danger\">";
// line 596
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html", null, true);
echo "</p>
</div>
";
} else {
// line 599
echo " ";
// line 600
echo " <div class=\"ec-searchnavRole\">
<form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
";
// line 602
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 602, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
// line 603
echo " <input type=\"hidden\" id=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["item"], "vars", [], "any", false, false, false, 603), "id", [], "any", false, false, false, 603), "html", null, true);
echo "\"
name=\"";
// line 604
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["item"], "vars", [], "any", false, false, false, 604), "full_name", [], "any", false, false, false, 604), "html", null, true);
echo "\"
";
// line 605
if ( !twig_test_empty(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["item"], "vars", [], "any", false, false, false, 605), "value", [], "any", false, false, false, 605))) {
echo "value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["item"], "vars", [], "any", false, false, false, 605), "value", [], "any", false, false, false, 605), "html", null, true);
echo "\" ";
}
echo "/>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 607
echo " </form>
";
// line 610
echo " <div class=\"ec-searchnavRole__topicpath\">
<ol class=\"ec-topicpath\">
<li class=\"ec-topicpath__item\"><a href=\"";
// line 612
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("全て"), "html", null, true);
echo "</a></li>
";
// line 613
if ( !(null === (isset($context["Category"]) || array_key_exists("Category", $context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.', 613, $this->source); })()))) {
// line 614
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["Category"]) || array_key_exists("Category", $context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.', 614, $this->source); })()), "path", [], "any", false, false, false, 614));
$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["Path"]) {
// line 615
echo " <li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item";
// line 616
if (twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 616)) {
echo "--active";
}
echo "\">
<a href=\"";
// line 617
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["Path"], "id", [], "any", false, false, false, 617), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Path"], "name", [], "any", false, false, false, 617), "html", null, true);
echo "</a>
</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['Path'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 620
echo " ";
}
// line 621
echo " ";
if ( !(null === (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 621, $this->source); })()))) {
// line 622
echo " <li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item--active\">
<a href=\"";
// line 624
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?maker_id=";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 624, $this->source); })()), "id", [], "any", false, false, false, 624), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 624, $this->source); })()), "name", [], "any", false, false, false, 624), "html", null, true);
echo "</a>
</li>
";
}
// line 627
echo " ";
if ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 627, $this->source); })()), "vars", [], "any", false, false, false, 627), "value", [], "any", false, false, false, 627) && twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 627, $this->source); })()), "vars", [], "any", false, false, false, 627), "value", [], "any", false, false, false, 627), "name", [], "any", false, false, false, 627))) {
// line 628
echo " <li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item\">";
// line 629
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("「%name%」の検索結果", ["%name%" => twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 629, $this->source); })()), "vars", [], "any", false, false, false, 629), "value", [], "any", false, false, false, 629), "name", [], "any", false, false, false, 629)]), "html", null, true);
echo "</li>
";
}
// line 631
echo " </ol>
</div>
";
// line 637
echo " ";
if ((isset($context["hasFilter"]) || array_key_exists("hasFilter", $context) ? $context["hasFilter"] : (function () { throw new RuntimeError('Variable "hasFilter" does not exist.', 637, $this->source); })())) {
// line 638
echo " <div class=\"ec-filterActive\">
<span class=\"ec-filterActive__label\">絞り込み中:</span>
";
// line 640
if ( !(null === (isset($context["Category"]) || array_key_exists("Category", $context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.', 640, $this->source); })()))) {
// line 641
echo " ";
$context["removeCategoryParam"] = ("category_id=" . 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.', 641, $this->source); })()), "request", [], "any", false, false, false, 641), "query", [], "any", false, false, false, 641), "get", [0 => "category_id"], "method", false, false, false, 641));
// line 642
echo " <span class=\"ec-filterActive__tag\">
";
// line 643
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Category"]) || array_key_exists("Category", $context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.', 643, $this->source); })()), "name", [], "any", false, false, false, 643), "html", null, true);
echo "
<a href=\"";
// line 644
echo twig_escape_filter($this->env, twig_replace_filter(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.', 644, $this->source); })()), "request", [], "any", false, false, false, 644), "uri", [], "any", false, false, false, 644), [(isset($context["removeCategoryParam"]) || array_key_exists("removeCategoryParam", $context) ? $context["removeCategoryParam"] : (function () { throw new RuntimeError('Variable "removeCategoryParam" does not exist.', 644, $this->source); })()) => ""]), "html", null, true);
echo "\" title=\"解除\">✕</a>
</span>
";
}
// line 647
echo " ";
if ( !(null === (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 647, $this->source); })()))) {
// line 648
echo " <span class=\"ec-filterActive__tag\">
";
// line 649
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["Maker"]) || array_key_exists("Maker", $context) ? $context["Maker"] : (function () { throw new RuntimeError('Variable "Maker" does not exist.', 649, $this->source); })()), "name", [], "any", false, false, false, 649), "html", null, true);
echo "
<a href=\"";
// line 650
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
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.', 650, $this->source); })()), "request", [], "any", false, false, false, 650), "query", [], "any", false, false, false, 650), "get", [0 => "category_id"], "method", false, false, false, 650)) {
echo "?category_id=";
echo twig_escape_filter($this->env, 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.', 650, $this->source); })()), "request", [], "any", false, false, false, 650), "query", [], "any", false, false, false, 650), "get", [0 => "category_id"], "method", false, false, false, 650), "html", null, true);
}
echo "\" title=\"解除\">✕</a>
</span>
";
}
// line 653
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.', 653, $this->source); })()), "request", [], "any", false, false, false, 653), "query", [], "any", false, false, false, 653), "get", [0 => "price_min"], "method", false, false, false, 653) || 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.', 653, $this->source); })()), "request", [], "any", false, false, false, 653), "query", [], "any", false, false, false, 653), "get", [0 => "price_max"], "method", false, false, false, 653))) {
// line 654
echo " <span class=\"ec-filterActive__tag\">
";
// line 655
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.', 655, $this->source); })()), "request", [], "any", false, false, false, 655), "query", [], "any", false, false, false, 655), "get", [0 => "price_min"], "method", false, false, false, 655)) {
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, 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.', 655, $this->source); })()), "request", [], "any", false, false, false, 655), "query", [], "any", false, false, false, 655), "get", [0 => "price_min"], "method", false, false, false, 655)), "html", null, true);
echo "円";
} else {
echo "0円";
}
// line 656
echo " 〜
";
// line 657
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.', 657, $this->source); })()), "request", [], "any", false, false, false, 657), "query", [], "any", false, false, false, 657), "get", [0 => "price_max"], "method", false, false, false, 657)) {
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, 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.', 657, $this->source); })()), "request", [], "any", false, false, false, 657), "query", [], "any", false, false, false, 657), "get", [0 => "price_max"], "method", false, false, false, 657)), "html", null, true);
echo "円";
} else {
echo "上限なし";
}
// line 658
echo " <a href=\"javascript:void(0);\" onclick=\"
var url = new URL(window.location.href);
url.searchParams.delete('price_min');
url.searchParams.delete('price_max');
window.location.href = url.toString();
\" title=\"解除\">✕</a>
</span>
";
}
// line 666
echo " </div>
";
}
// line 668
echo "
";
// line 670
echo " <div class=\"ec-searchnavRole__infos\">
<div class=\"ec-searchnavRole__counter\">
";
// line 672
if ((twig_get_attribute($this->env, $this->source, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 672, $this->source); })()), "totalItemCount", [], "any", false, false, false, 672) > 0)) {
// line 673
echo " ";
echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<span class=\"ec-font-bold\">%count%件</span><span>の商品が見つかりました</span>", ["%count%" => twig_get_attribute($this->env, $this->source, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 673, $this->source); })()), "totalItemCount", [], "any", false, false, false, 673)]);
echo "
";
} else {
// line 675
echo " <span>";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html", null, true);
echo "</span>
";
}
// line 677
echo " </div>
";
// line 678
if ((twig_get_attribute($this->env, $this->source, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 678, $this->source); })()), "totalItemCount", [], "any", false, false, false, 678) > 0)) {
// line 679
echo " <div class=\"ec-searchnavRole__actions\">
<div class=\"ec-select\">
";
// line 681
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 681, $this->source); })()), "disp_number", [], "any", false, false, false, 681), 'widget', ["id" => "", "attr" => ["class" => "disp-number"]]);
echo "
";
// line 682
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["search_form"]) || array_key_exists("search_form", $context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.', 682, $this->source); })()), "orderby", [], "any", false, false, false, 682), 'widget', ["id" => "", "attr" => ["class" => "order-by"]]);
echo "
</div>
</div>
";
}
// line 686
echo " </div>
</div>
";
// line 690
if ((twig_get_attribute($this->env, $this->source, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 690, $this->source); })()), "totalItemCount", [], "any", false, false, false, 690) > 0)) {
// line 691
echo " <div class=\"ec-shelfRole\">
<ul class=\"ec-shelfGrid\">
";
// line 693
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 693, $this->source); })()));
$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["Product"]) {
// line 694
echo " <li class=\"ec-shelfGrid__item\">
";
// line 695
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.', 695, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 695)) {
// line 696
echo " <div style=\"position:relative;top:29px;left:220px;\">
<form action=\"";
// line 697
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, $context["Product"], "id", [], "any", false, false, false, 697)]), "html", null, true);
echo "\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\">♡</button>
</form>
</div>
";
}
// line 702
echo " <a href=\"";
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, 702)]), "html", null, true);
echo "\">
<p class=\"ec-shelfGrid__item-image\">
<img src=\"";
// line 704
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, 704)), "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, 704), "html", null, true);
echo "\" ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 704) > 5)) {
echo " loading=\"lazy\"";
}
echo ">
</p>
<h5><strong>";
// line 706
echo twig_escape_filter($this->env, $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, false, 706), "related_keyword"), "html", null, true);
echo "</strong></h5>
<p class=\"price02-default\">
";
// line 708
if (twig_get_attribute($this->env, $this->source, $context["Product"], "hasProductClass", [], "any", false, false, false, 708)) {
// line 709
echo " ";
if ((twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02Min", [], "any", false, false, false, 709) == twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02Max", [], "any", false, false, false, 709))) {
// line 710
echo " ";
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 710)), "html", null, true);
echo "円
";
} else {
// line 712
echo " ";
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 712)), "html", null, true);
echo "円 ~ ";
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMax", [], "any", false, false, false, 712)), "html", null, true);
echo "円
";
}
// line 714
echo " ";
} else {
// line 715
echo " ";
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "getPrice02IncTaxMin", [], "any", false, false, false, 715)), "html", null, true);
echo "円 ~
";
}
// line 717
echo " </p>
</a>
";
// line 720
if (twig_get_attribute($this->env, $this->source, $context["Product"], "stock_find", [], "any", false, false, false, 720)) {
// line 721
echo " ";
$context["form"] = twig_get_attribute($this->env, $this->source, (isset($context["forms"]) || array_key_exists("forms", $context) ? $context["forms"] : (function () { throw new RuntimeError('Variable "forms" does not exist.', 721, $this->source); })()), twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, false, 721), [], "array", false, false, false, 721);
// line 722
echo " <form name=\"form";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, false, 722), "html", null, true);
echo "\" id=\"productForm";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Product"], "id", [], "any", false, false, false, 722), "html", null, true);
echo "\" action=\"";
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, 722)]), "html", null, true);
echo "\" method=\"get\">
<div class=\"ec-productRole__actions\">
";
// line 724
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 724)) {
// line 725
echo " <div class=\"ec-select\">
";
// line 726
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.', 726, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 726), 'widget');
echo "
";
// line 727
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.', 727, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 727), 'errors');
echo "
</div>
";
// line 729
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 729)) {
// line 730
echo " <div class=\"ec-select\">
";
// line 731
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.', 731, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 731), 'widget');
echo "
";
// line 732
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.', 732, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 732), 'errors');
echo "
</div>
";
}
// line 735
echo " ";
}
// line 736
echo " <div class=\"ec-numberInput\" style=\"display:none;\"><span>";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html", null, true);
echo "</span>
";
// line 737
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.', 737, $this->source); })()), "quantity", [], "any", false, false, false, 737), 'errors');
echo "
</div>
</div>
<div class=\"ec-productRole__btn\">
<button class=\"ec-blockBtn--action\">
";
// line 742
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お見積もり詳細はこちら"), "html", null, true);
echo "
</button>
</div>
</form>
";
} else {
// line 747
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 749
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
</button>
</div>
";
}
// line 753
echo " </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['Product'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 755
echo " </ul>
</div>
<div class=\"ec-pagerRole\">
";
// line 758
$this->loadTemplate("pager.twig", "Product/list.twig", 758)->display(twig_array_merge($context, ["pages" => twig_get_attribute($this->env, $this->source, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 758, $this->source); })()), "paginationData", [], "any", false, false, false, 758)]));
// line 759
echo " </div>
";
}
// line 761
echo " </div>
";
// line 763
echo "
</div>
";
// line 766
echo "
";
}
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
public function getTemplateName()
{
return "Product/list.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1299 => 766, 1295 => 763, 1292 => 761, 1288 => 759, 1286 => 758, 1281 => 755, 1266 => 753, 1259 => 749, 1255 => 747, 1247 => 742, 1239 => 737, 1234 => 736, 1231 => 735, 1225 => 732, 1221 => 731, 1218 => 730, 1216 => 729, 1211 => 727, 1207 => 726, 1204 => 725, 1202 => 724, 1192 => 722, 1189 => 721, 1187 => 720, 1182 => 717, 1176 => 715, 1173 => 714, 1165 => 712, 1159 => 710, 1156 => 709, 1154 => 708, 1149 => 706, 1138 => 704, 1132 => 702, 1124 => 697, 1121 => 696, 1119 => 695, 1116 => 694, 1099 => 693, 1095 => 691, 1093 => 690, 1087 => 686, 1080 => 682, 1076 => 681, 1072 => 679, 1070 => 678, 1067 => 677, 1061 => 675, 1055 => 673, 1053 => 672, 1049 => 670, 1046 => 668, 1042 => 666, 1032 => 658, 1025 => 657, 1022 => 656, 1015 => 655, 1012 => 654, 1009 => 653, 999 => 650, 995 => 649, 992 => 648, 989 => 647, 983 => 644, 979 => 643, 976 => 642, 973 => 641, 971 => 640, 967 => 638, 964 => 637, 959 => 631, 954 => 629, 951 => 628, 948 => 627, 938 => 624, 934 => 622, 931 => 621, 928 => 620, 907 => 617, 901 => 616, 898 => 615, 880 => 614, 878 => 613, 872 => 612, 868 => 610, 864 => 607, 852 => 605, 848 => 604, 843 => 603, 839 => 602, 835 => 600, 833 => 599, 827 => 596, 824 => 595, 822 => 594, 819 => 593, 816 => 591, 812 => 588, 806 => 585, 803 => 584, 800 => 583, 794 => 578, 787 => 576, 783 => 574, 773 => 570, 763 => 569, 758 => 568, 754 => 567, 751 => 566, 749 => 565, 744 => 563, 734 => 562, 729 => 561, 725 => 560, 720 => 558, 716 => 557, 713 => 556, 711 => 513, 706 => 510, 701 => 506, 698 => 505, 688 => 501, 678 => 500, 673 => 499, 668 => 498, 665 => 485, 663 => 484, 660 => 483, 650 => 479, 640 => 478, 635 => 477, 630 => 476, 628 => 475, 622 => 471, 605 => 456, 601 => 455, 594 => 451, 589 => 449, 583 => 445, 580 => 443, 576 => 440, 573 => 436, 571 => 435, 567 => 433, 557 => 432, 487 => 371, 483 => 370, 458 => 347, 444 => 346, 436 => 345, 419 => 344, 415 => 342, 405 => 341, 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 %}
<link rel=\"stylesheet\" href=\"/html/plugins/ion-rangeslider/css/ion.rangeSlider.min.css\">
<style>
/* ============================================
サイドバー付き 2カラムレイアウト
============================================ */
.ec-productListLayout {
display: flex;
gap: 32px;
align-items: flex-start;
}
/* ============================================
サイドバー(フィルターパネル)
============================================ */
.ec-filterSidebar {
position: static;
margin: 20px;
width: 240px;
flex-shrink: 0;
}
\t\t.ec-searchnavRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
\t\t.ec-shelfRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
\t\t.ec-pagerRole {
\t\t\tmargin-left: calc((100% - 1130px - 280px) / 2);
\t\t}
.ec-filterSidebar__section {
background: #fff;
border: 1px solid #e8e8e8;
border-radius: 6px;
padding: 18px 16px;
margin-bottom: 16px;
}
.ec-filterSidebar__heading {
font-size: 13px;
font-weight: bold;
color: #222;
margin: 0 0 12px;
padding-bottom: 10px;
border-bottom: 2px solid #222;
letter-spacing: 0.05em;
}
/* カテゴリリスト */
.ec-filterSidebar__categoryList,
.ec-filterSidebar__categoryList ul {
list-style: none;
padding: 0;
margin: 0;
}
.ec-filterSidebar__categoryList li a {
display: block;
padding: 6px 8px;
font-size: 13px;
color: #444;
text-decoration: none;
border-radius: 4px;
transition: background 0.15s, color 0.15s;
}
.ec-filterSidebar__categoryList li a:hover {
background: #f5f5f5;
color: #222;
}
.ec-filterSidebar__categoryList li.is-active > a {
font-weight: bold;
color: #c00;
background: #fff5f5;
}
/* サブカテゴリ */
.ec-filterSidebar__categoryList ul {
padding-left: 12px;
margin-top: 2px;
}
.ec-filterSidebar__categoryList ul li a {
font-size: 12px;
color: #666;
padding: 4px 8px;
}
/* メーカーリスト */
.ec-filterSidebar__makerList {
list-style: none;
padding: 0;
margin: 0;
}
.ec-filterSidebar__makerList li {
border-bottom: 1px solid #f0f0f0;
}
.ec-filterSidebar__makerList li:last-child {
border-bottom: none;
}
.ec-filterSidebar__makerList li a {
display: flex;
align-items: center;
gap: 6px;
padding: 7px 6px;
font-size: 13px;
color: #444;
text-decoration: none;
transition: color 0.15s;
}
.ec-filterSidebar__makerList li a:hover {
color: #c00;
}
.ec-filterSidebar__makerList li.is-active a {
font-weight: bold;
color: #c00;
}
.ec-filterSidebar__makerList li.is-active a::before {
content: \"✓\";
font-size: 11px;
color: #c00;
}
/* 価格帯フィルター */
.ec-filterSidebar__priceDisplay {
text-align: center;
font-size: 13px;
color: #333;
margin-bottom: 12px;
font-weight: bold;
}
.ec-filterSidebar__priceDisplay span {
color: #c00;
}
.ec-filterSidebar__priceSliderWrap {
padding: 0 4px;
margin-bottom: 16px;
}
.ec-filterSidebar__priceApply {
display: block;
width: 100%;
padding: 8px;
background: #222;
color: #fff;
border: none;
border-radius: 4px;
font-size: 13px;
cursor: pointer;
text-align: center;
transition: background 0.2s;
}
.ec-filterSidebar__priceApply:hover {
background: #444;
}
.ec-filterSidebar__pricePreset {
list-style: none;
padding: 0;
margin: 10px 0 0;
}
.ec-filterSidebar__pricePreset li a {
display: block;
padding: 5px 6px;
font-size: 12px;
color: #666;
text-decoration: none;
border-radius: 4px;
transition: background 0.15s;
}
.ec-filterSidebar__pricePreset li a:hover {
background: #f5f5f5;
color: #333;
}
/* 絞り込みリセット */
.ec-filterSidebar__reset a {
display: block;
text-align: center;
padding: 8px;
font-size: 12px;
color: #888;
text-decoration: underline;
border: 1px solid #ddd;
border-radius: 4px;
transition: color 0.15s, border-color 0.15s;
}
.ec-filterSidebar__reset a:hover {
color: #c00;
border-color: #c00;
}
/* 現在の絞り込み条件バッジ */
.ec-filterActive {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 12px;
padding: 10px 12px;
background: #f9f9f9;
border: 1px solid #e8e8e8;
border-radius: 6px;
}
.ec-filterActive__label {
font-size: 11px;
color: #888;
align-self: center;
margin-right: 4px;
}
.ec-filterActive__tag {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 8px;
background: #222;
color: #fff;
border-radius: 20px;
font-size: 11px;
}
.ec-filterActive__tag a {
color: #aaa;
text-decoration: none;
font-size: 12px;
line-height: 1;
}
.ec-filterActive__tag a:hover {
color: #fff;
}
/* メインコンテンツ側 */
.ec-productListMain {
flex: 1;
min-width: 0;
}
/* ion-rangeslider カスタマイズ */
.irs--flat .irs-bar {
background-color: #222;
}
.irs--flat .irs-handle > i:first-child {
background-color: #222;
}
.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
background-color: #222;
font-size: 11px;
}
/* モバイル対応 */
@media (max-width: 767px) {
.ec-productListLayout {
flex-direction: column;
}
.ec-filterSidebar {
\tposition: static;
width: 100%;
}
.ec-filterSidebar__section {
margin-bottom: 10px;
}
/* モバイルではアコーディオン形式 */
.ec-filterSidebar__body {
display: none;
}
.ec-filterSidebar__body.is-open {
display: block;
}
.ec-filterSidebar__heading {
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.ec-filterSidebar__heading.is-open {
margin-bottom: 12px;
padding-bottom: 10px;
border-bottom: 2px solid #222;
}
.ec-filterSidebar__heading::after {
content: \"▼\";
font-size: 10px;
color: #888;
transition: transform 0.2s;
}
.ec-filterSidebar__heading.is-open::after {
transform: rotate(180deg);
}
}
</style>
{% endblock %}
{% block javascript %}
<script>
eccube.productsClassCategories = {
{% for Product in pagination %}
\"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
{% endfor %}
};
\$(function() {
// 表示件数を変更
\$('.disp-number').change(function() {
var dispNumber = \$(this).val();
\$('#disp_number').val(dispNumber);
\$('#pageno').val(1);
\$(\"#form1\").submit();
});
// 並び順を変更
\$('.order-by').change(function() {
var orderBy = \$(this).val();
\$('#orderby').val(orderBy);
\$('#pageno').val(1);
\$(\"#form1\").submit();
});
// ==============================
// 価格帯スライダー(ion-rangeslider)
// ==============================
var priceMin = parseInt('{{ app.request.query.get(\"price_min\") ?: 0 }}') || 0;
var priceMax = parseInt('{{ app.request.query.get(\"price_max\") ?: 5000000 }}') || 5000000;
\$(\"#price-range-slider\").ionRangeSlider({
type: \"double\",
min: 0,
max: 5000000,
from: priceMin,
to: priceMax,
step: 10000,
prettify_enabled: true,
prettify_separator: \",\",
postfix: \"円\",
onFinish: function(data) {
\$('#price_min_val').val(data.from);
\$('#price_max_val').val(data.to);
// 表示更新
\$('#price-display-min').text(Number(data.from).toLocaleString());
\$('#price-display-max').text(Number(data.to).toLocaleString());
}
});
// 価格フォーム送信
\$('#price-filter-apply').on('click', function() {
var min = \$('#price_min_val').val();
var max = \$('#price_max_val').val();
var url = new URL(window.location.href);
url.searchParams.set('price_min', min);
url.searchParams.set('price_max', max);
url.searchParams.delete('pageno');
window.location.href = url.toString();
});
// モバイル:アコーディオン
\$('.ec-filterSidebar__heading').on('click', function() {
if (\$(window).width() <= 767) {
\$(this).toggleClass('is-open');
\$(this).next('.ec-filterSidebar__body').toggleClass('is-open');
}
});
});
\$('.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()
});
\t // 価格プリセットのクイック適用
\t function applyPrice(min, max) {
\t var url = new URL(window.location.href);
\t url.searchParams.set('price_min', min);
\t url.searchParams.set('price_max', max);
\t url.searchParams.delete('pageno');
\t window.location.href = url.toString();
\t }
</script>
<script src=\"/html/plugins/ion-rangeslider/js/ion.rangeSlider.min.js\"></script>
{% endblock %}
{% block main %}
{% set hasFilter = app.request.query.get('category_id') or app.request.query.get('maker_id') or app.request.query.get('price_min') or app.request.query.get('price_max') %}
{# ==============================
2カラムレイアウト本体
============================== #}
<div class=\"ec-productListLayout\">
{# ===== サイドバー(左カラム)===== #}
<aside class=\"ec-filterSidebar\">
{# ----- 価格帯 ----- #}
<div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">価格帯</h3>
<div class=\"ec-filterSidebar__body is-open\">
<div class=\"ec-filterSidebar__priceDisplay\">
<span id=\"price-display-min\">{{ app.request.query.get('price_min') ? app.request.query.get('price_min')|number_format : '0' }}</span>円
〜
<span id=\"price-display-max\">{{ app.request.query.get('price_max') ? app.request.query.get('price_max')|number_format : '5,000,000' }}</span>円
</div>
<div class=\"ec-filterSidebar__priceSliderWrap\">
<input type=\"text\" id=\"price-range-slider\" style=\"display:none;\">
<input type=\"hidden\" id=\"price_min_val\" value=\"{{ app.request.query.get('price_min') ?: 0 }}\">
<input type=\"hidden\" id=\"price_max_val\" value=\"{{ app.request.query.get('price_max') ?: 5000000 }}\">
</div>
<button id=\"price-filter-apply\" class=\"ec-filterSidebar__priceApply\">この価格帯で絞り込む</button>
<ul class=\"ec-filterSidebar__pricePreset\">
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(0, 300000)\">〜30万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(300000, 600000)\">30万円〜60万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(600000, 1000000)\">60万円〜100万円</a></li>
<li><a href=\"javascript:void(0);\" onclick=\"applyPrice(1000000, 5000000)\">100万円〜</a></li>
</ul>
</div>
</div>
{# ----- メーカー(ブランド)----- #}
<div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">ブランド</h3>
<div class=\"ec-filterSidebar__body is-open\">
<ul class=\"ec-filterSidebar__makerList\">
{% if Makers is defined %}
{% for MakerItem in Makers %}
<li class=\"{{ Maker is not null and Maker.id == MakerItem.id ? 'is-active' : '' }}\">
<a href=\"{{ url('product_list') }}?maker_id={{ MakerItem.id }}{% if app.request.query.get('category_id') %}&category_id={{ app.request.query.get('category_id') }}{% endif %}\">
{{ MakerItem.name }}
</a>
</li>
{% endfor %}
{% else %}
{# Makersがコントローラから渡されない場合は静的リストで対応 #}
{% set makerList = [
{id: 1, name: 'LIXIL'},
{id: 2, name: 'YKK AP'},
{id: 3, name: '三協アルミ'},
{id: 4, name: '四国化成'},
{id: 5, name: 'タカショー'},
{id: 6, name: 'ユニソン'},
{id: 7, name: 'エスビック'},
{id: 8, name: 'パナソニック'},
{id: 9, name: 'イナバ'},
{id: 10, name: 'ヨドコウ'},
{id: 13, name: 'タクボ'}
] %}
{% for maker in makerList %}
<li class=\"{{ Maker is not null and Maker.id == maker.id ? 'is-active' : '' }}\">
<a href=\"{{ url('product_list') }}?maker_id={{ maker.id }}{% if app.request.query.get('category_id') %}&category_id={{ app.request.query.get('category_id') }}{% endif %}\">
{{ maker.name }}
</a>
</li>
{% endfor %}
{% endif %}
</ul>
</div>
</div>
{# ----- カテゴリ ----- #}
<div class=\"ec-filterSidebar__section\">
<h3 class=\"ec-filterSidebar__heading\">カテゴリ</h3>
<div class=\"ec-filterSidebar__body is-open\">
{% set categoryList = [
{id: 7, name: 'カーポート・車庫', children: []},
{id: 16, name: 'ガレージ・倉庫', children: []},
{id: 8, name: 'サイクルポート・駐輪場', children: []},
{id: 9, name: 'ゲート', children: [
{id: 30, name: '跳ね上げ式ゲート'},
{id: 29, name: '伸縮ゲート'},
{id: 31, name: 'ガレージシャッター'}
]},
{id: 12, name: 'テラス', children: [
{id: 33, name: 'テラス囲い'},
{id: 32, name: 'テラス屋根'}
]},
{id: 19, name: 'ベランダ・バルコニー', children: [
{id: 35, name: 'ベランダ・バルコニー屋根'},
{id: 34, name: 'ベランダ・バルコニー'}
]},
{id: 18, name: 'オーニング・日よけ', children: []},
{id: 11, name: 'ウッドデッキ', children: [
{id: 37, name: 'タイルデッキ'},
{id: 36, name: 'ウッドデッキ'}
]},
{id: 14, name: 'フェンス・柵', children: []},
{id: 25, name: '門扉', children: []},
{id: 13, name: 'ポスト・門柱宅配ボックス', children: []},
{id: 15, name: '物置・収納・屋外倉庫', children: []},
{id: 20, name: 'ガーデンファニチャー', children: []},
{id: 22, name: '人工芝', children: []},
{id: 17, name: '内窓・二重窓', children: []},
{id: 26, name: 'その他', children: [
{id: 38, name: 'パーゴラ'},
{id: 39, name: '立水栓・ガーデンシンク'},
{id: 40, name: '手すり'},
{id: 10, name: 'ストックヤード'},
{id: 27, name: 'ゴミステーション'},
{id: 42, name: '面格子・窓格子'},
{id: 41, name: '窓シャッター'},
{id: 43, name: '玄関ドア'},
{id: 28, name: '石材'},
{id: 44, name: '照明'},
{id: 21, name: 'DIY材料'}
]}
] %}
<ul class=\"ec-filterSidebar__categoryList\">
<li class=\"{{ app.request.query.get('category_id') is empty and Maker is null ? 'is-active' : '' }}\">
<a href=\"{{ url('product_list') }}\">すべて</a>
</li>
{% for cat in categoryList %}
<li class=\"{{ app.request.query.get('category_id') == cat.id ? 'is-active' : '' }}\">
<a href=\"{{ url('product_list') }}?category_id={{ cat.id }}{% if app.request.query.get('maker_id') %}&maker_id={{ app.request.query.get('maker_id') }}{% endif %}\">
{{ cat.name }}
</a>
{% if cat.children|length > 0 %}
<ul>
{% for child in cat.children %}
<li class=\"{{ app.request.query.get('category_id') == child.id ? 'is-active' : '' }}\">
<a href=\"{{ url('product_list') }}?category_id={{ child.id }}{% if app.request.query.get('maker_id') %}&maker_id={{ app.request.query.get('maker_id') }}{% endif %}\">
{{ child.name }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
{# ----- リセット ----- #}
{% if hasFilter %}
<div class=\"ec-filterSidebar__reset\">
<a href=\"{{ url('product_list') }}\">絞り込みをすべてリセット</a>
</div>
{% endif %}
</aside>
{# / サイドバー #}
{# ===== 商品一覧(右カラム)===== #}
<div class=\"ec-productListMain\">
{% if search_form.category_id.vars.errors|length > 0 %}
<div class=\"ec-searchnavRole\">
<p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
</div>
{% else %}
{# 検索フォーム(hidden) #}
<div class=\"ec-searchnavRole\">
<form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
{% for item in search_form %}
<input type=\"hidden\" id=\"{{ item.vars.id }}\"
name=\"{{ item.vars.full_name }}\"
{% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
{% endfor %}
</form>
{# パンくずリスト #}
<div class=\"ec-searchnavRole__topicpath\">
<ol class=\"ec-topicpath\">
<li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a></li>
{% if Category is not null %}
{% for Path in Category.path %}
<li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\">
<a href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
</li>
{% endfor %}
{% endif %}
{% if Maker is not null %}
<li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item--active\">
<a href=\"{{ url('product_list') }}?maker_id={{ Maker.id }}\">{{ Maker.name }}</a>
</li>
{% endif %}
{% if search_form.vars.value and search_form.vars.value.name %}
<li class=\"ec-topicpath__divider\">|</li>
<li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
{% endif %}
</ol>
</div>
{# ==============================
現在の絞り込み条件バッジ
============================== #}
{% if hasFilter %}
<div class=\"ec-filterActive\">
<span class=\"ec-filterActive__label\">絞り込み中:</span>
{% if Category is not null %}
{% set removeCategoryParam = 'category_id=' ~ app.request.query.get('category_id') %}
<span class=\"ec-filterActive__tag\">
{{ Category.name }}
<a href=\"{{ app.request.uri|replace({(removeCategoryParam): ''}) }}\" title=\"解除\">✕</a>
</span>
{% endif %}
{% if Maker is not null %}
<span class=\"ec-filterActive__tag\">
{{ Maker.name }}
<a href=\"{{ url('product_list') }}{% if app.request.query.get('category_id') %}?category_id={{ app.request.query.get('category_id') }}{% endif %}\" title=\"解除\">✕</a>
</span>
{% endif %}
{% if app.request.query.get('price_min') or app.request.query.get('price_max') %}
<span class=\"ec-filterActive__tag\">
{% if app.request.query.get('price_min') %}{{ app.request.query.get('price_min')|number_format }}円{% else %}0円{% endif %}
〜
{% if app.request.query.get('price_max') %}{{ app.request.query.get('price_max')|number_format }}円{% else %}上限なし{% endif %}
<a href=\"javascript:void(0);\" onclick=\"
var url = new URL(window.location.href);
url.searchParams.delete('price_min');
url.searchParams.delete('price_max');
window.location.href = url.toString();
\" title=\"解除\">✕</a>
</span>
{% endif %}
</div>
{% endif %}
{# 件数・並び順 #}
<div class=\"ec-searchnavRole__infos\">
<div class=\"ec-searchnavRole__counter\">
{% if pagination.totalItemCount > 0 %}
{{ '<span class=\"ec-font-bold\">%count%件</span><span>の商品が見つかりました</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
{% else %}
<span>{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
{% endif %}
</div>
{% if pagination.totalItemCount > 0 %}
<div class=\"ec-searchnavRole__actions\">
<div class=\"ec-select\">
{{ form_widget(search_form.disp_number, {'id': '', 'attr': {'class': 'disp-number'}}) }}
{{ form_widget(search_form.orderby, {'id': '', 'attr': {'class': 'order-by'}}) }}
</div>
</div>
{% endif %}
</div>
</div>
{% if pagination.totalItemCount > 0 %}
<div class=\"ec-shelfRole\">
<ul class=\"ec-shelfGrid\">
{% for Product in pagination %}
<li class=\"ec-shelfGrid__item\">
{% if BaseInfo.option_favorite_product %}
<div style=\"position:relative;top:29px;left:220px;\">
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\">♡</button>
</form>
</div>
{% endif %}
<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 }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
</p>
<h5><strong>{{ getProduct_field(Product.id,\"related_keyword\") }}</strong></h5>
<p class=\"price02-default\">
{% if Product.hasProductClass %}
{% if Product.getPrice02Min == Product.getPrice02Max %}
{{ Product.getPrice02IncTaxMin|number_format }}円
{% else %}
{{ Product.getPrice02IncTaxMin|number_format }}円 ~ {{ Product.getPrice02IncTaxMax|number_format }}円
{% endif %}
{% else %}
{{ Product.getPrice02IncTaxMin|number_format }}円 ~
{% endif %}
</p>
</a>
{% if Product.stock_find %}
{% set form = forms[Product.id] %}
<form name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_detail', {id:Product.id}) }}\" method=\"get\">
<div class=\"ec-productRole__actions\">
{% if form.classcategory_id1 is defined %}
<div class=\"ec-select\">
{{ form_widget(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"ec-select\">
{{ form_widget(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"ec-numberInput\" style=\"display:none;\"><span>{{ '数量'|trans }}</span>
{{ form_errors(form.quantity) }}
</div>
</div>
<div class=\"ec-productRole__btn\">
<button class=\"ec-blockBtn--action\">
{{ 'お見積もり詳細はこちら'|trans }}
</button>
</div>
</form>
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
<div class=\"ec-pagerRole\">
{% include \"pager.twig\" with {'pages': pagination.paginationData} %}
</div>
{% endif %}
</div>
{# / 商品一覧 #}
</div>
{# / ec-productListLayout #}
{% endif %}
{% endblock %}
", "Product/list.twig", "/home/xs538259/exterior-plus.jp/public_html/app/template/default/Product/list.twig");
}
}