<!doctype html>
{#
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.
#}
<html lang="{{ eccube_config.locale }}">
<head prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb# product: https://ogp.me/ns/product#">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="eccube-csrf-token" content="{{ csrf_token(constant('Eccube\\Common\\Constant::TOKEN_NAME')) }}">
<title>{{ BaseInfo.shop_name }}{% if subtitle is defined and subtitle is not empty %} / {{ subtitle }}{% elseif title is defined and title is not empty %} / {{ title }}{% endif %}</title>
{% if Page.meta_tags is not empty %}
{{ include(template_from_string(Page.meta_tags), sandboxed = true) }}
{% if Page.description is not empty %}
<meta name="description" content="{{ Page.description }}">
{% endif %}
{% else %}
{{ include('meta.twig') }}
{% endif %}
{% if Page.author is not empty %}
<meta name="author" content="{{ Page.author }}">
{% endif %}
{% if Page.keyword is not empty %}
<meta name="keywords" content="{{ Page.keyword }}">
{% endif %}
{% if Page.meta_robots is not empty %}
<meta name="robots" content="{{ Page.meta_robots }}">
{% endif %}
<link rel="icon" href="{{ asset('assets/img/common/favicon.ico', 'user_data') }}">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link rel="stylesheet" href="{{ asset('assets/css/variables.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/layout.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/base.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/product-list.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/my-order.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<script src="{{ asset('front.bundle.js', 'bundle') }}"></script>
{% block stylesheet %}{% endblock %}
<script>
$(function() {
$.ajaxSetup({
'headers': {
'ECCUBE-CSRF-TOKEN': $('meta[name="eccube-csrf-token"]').attr('content')
}
});
});
</script>
{# Layout: HEAD #}
{% if Layout.Head %}
{{ include('block.twig', {'Blocks': Layout.Head}) }}
{% endif %}
{# プラグイン用styleseetやmetatagなど #}
{% if plugin_assets is defined %}{{ include('@admin/snippet.twig', { snippets: plugin_assets }) }}{% endif %}
<link rel="stylesheet" href="{{ asset('assets/css/customize.css', 'user_data') }}">
</head>
<body id="page_{{ app.request.get('_route') }}" class="{{ body_class|default('other_page') }}">
{# Layout: BODY_AFTER #}
{% if Layout.BodyAfter %}
{{ include('block.twig', {'Blocks': Layout.BodyAfter}) }}
{% endif %}
{% if isMaintenance %}
<div class="ec-maintenanceAlert">
<div>
<div class="ec-maintenanceAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
{{ 'メンテナンスモードが有効になっています。'|trans }}
</div>
</div>
{% endif %}
<div class="ec-layoutRole">
{# Layout: HEADER #}
{% if Layout.Header %}
<header class="ec-layoutRole__header">
{{ include('block.twig', {'Blocks': Layout.Header}) }}
</header>
{% endif %}
{# Layout: CONTENTS_TOP #}
{% if Layout.ContentsTop %}
<div class="ec-layoutRole__contentTop">
{{ include('block.twig', {'Blocks': Layout.ContentsTop}) }}
</div>
{% endif %}
<!-- 2カラムレイアウト -->
<div class="btob-layout">
{# Layout: SIDE_LEFT #}
{% if Layout.SideLeft %}
{{ include('block.twig', {'Blocks': Layout.SideLeft}) }}
{% endif %}
{% set layoutRoleMain = 'ec-layoutRole__main' %}
{% if Layout.ColumnNum == 2 %}
{% set layoutRoleMain = 'ec-layoutRole__mainWithColumn' %}
{% elseif Layout.ColumnNum == 3 %}
{% set layoutRoleMain = 'ec-layoutRole__mainBetweenColumn' %}
{% endif %}
<div class="btob-main-area">
{# Layout: MAIN_TOP #}
{% if Layout.MainTop %}
<div class="ec-layoutRole__mainTop" style="background-color: #f5f5f5">
{{ include('block.twig', {'Blocks': Layout.MainTop}) }}
</div>
{% endif %}
{# MAIN AREA #}
{% block main %}{% endblock %}
{# Layout: MAIN_Bottom #}
{% if Layout.MainBottom %}
<div class="ec-layoutRole__mainBottom">
{{ include('block.twig', {'Blocks': Layout.MainBottom}) }}
</div>
{% endif %}
</div>
{# Layout: SIDE_RIGHT #}
{% if Layout.SideRight %}
<aside class="ec-layoutRole__right">
{{ include('block.twig', {'Blocks': Layout.SideRight}) }}
</aside>
{% endif %}
</div>
{# Layout: CONTENTS_BOTTOM #}
{% if Layout.ContentsBottom %}
<div class="ec-layoutRole__contentBottom">
{{ include('block.twig', {'Blocks': Layout.ContentsBottom}) }}
</div>
{% endif %}
{# Layout: CONTENTS_FOOTER #}
{% if Layout.Footer %}
<footer class="ec-layoutRole__footer">
{{ include('block.twig', {'Blocks': Layout.Footer}) }}
</footer>
{% endif %}
<div class="ec-overlayRole"></div>
</div>
{# モバイル用ドロワー(全ページで表示・動作) #}
<div class="btob-drawer-overlay" id="drawerOverlay"></div>
<aside class="btob-drawer" id="drawer">
<div class="btob-drawer__header">
<button type="button" class="btob-drawer__close" id="drawerClose" aria-label="閉じる">
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
</svg>
</button>
</div>
<div class="btob-drawer__search">
<form method="get" action="{{ url('product_list') }}" class="btob-drawer__search-form">
<div class="btob-drawer__keyword">
<input type="text" name="name" placeholder="キーワードを入力">
<button type="submit" aria-label="検索">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
</svg>
</button>
</div>
</form>
</div>
<nav class="btob-drawer__nav">
<div class="btob-drawer__section">
<a href="{{ url('product_list') }}" class="btob-drawer__link">カテゴリ一覧</a>
</div>
<div class="btob-drawer__section btob-drawer__section--dark">
<a href="{{ url('cart') }}" class="btob-drawer__link btob-drawer__link--icon">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"/>
</svg>
カートを見る
</a>
<a href="{{ url('entry') }}" class="btob-drawer__link btob-drawer__link--icon">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/>
</svg>
新規会員登録
</a>
<a href="{{ url('my_order_list_favorite') }}" class="btob-drawer__link btob-drawer__link--icon">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
</svg>
お気に入り
</a>
<a href="{{ url('mypage_login') }}" class="btob-drawer__link btob-drawer__link--icon">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/>
</svg>
ログイン
</a>
<a href="{{ url('homepage') }}" class="btob-drawer__link btob-drawer__link--icon">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
</svg>
ホームに戻る
</a>
</div>
</nav>
</aside>
<script>
(function() {
var drawerToggle = document.getElementById('drawerToggle');
var drawer = document.getElementById('drawer');
var drawerOverlay = document.getElementById('drawerOverlay');
if (!drawerToggle || !drawer || !drawerOverlay) return;
function openDrawer() {
drawer.classList.add('is-open');
drawerOverlay.classList.add('is-visible');
drawerToggle.classList.add('is-open');
document.body.style.overflow = 'hidden';
}
function closeDrawer() {
drawer.classList.remove('is-open');
drawerOverlay.classList.remove('is-visible');
drawerToggle.classList.remove('is-open');
document.body.style.overflow = '';
}
drawerToggle.addEventListener('click', function() {
if (drawer.classList.contains('is-open')) closeDrawer();
else openDrawer();
});
drawerOverlay.addEventListener('click', closeDrawer);
document.getElementById('drawerClose').addEventListener('click', closeDrawer);
document.querySelectorAll('.btob-drawer__link').forEach(function(link) {
link.addEventListener('click', closeDrawer);
});
})();
</script>
{% include('@common/lang.twig') %}
<script src="{{ asset('assets/js/function.js') }}"></script>
<script src="{{ asset('assets/js/eccube.js') }}"></script>
{% block javascript %}{% endblock %}
{# Layout: CLOSE_BODY_BEFORE #}
{% if Layout.CloseBodyBefore %}
{{ include('block.twig', {'Blocks': Layout.CloseBodyBefore}) }}
{% endif %}
{# プラグイン用Snippet #}
{% if plugin_snippets is defined %}
{{ include('snippet.twig', { snippets: plugin_snippets }) }}
{% endif %}
<script src="{{ asset('assets/js/customize.js', 'user_data') }}"></script>
</body>
</html>