src/Eccube/Resource/template/default/default_frame.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. {#
  3. This file is part of EC-CUBE
  4. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  5. http://www.ec-cube.co.jp/
  6. For the full copyright and license information, please view the LICENSE
  7. file that was distributed with this source code.
  8. #}
  9. <html lang="{{ eccube_config.locale }}">
  10. <head prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb# product: https://ogp.me/ns/product#">
  11.     <meta charset="utf-8">
  12.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  13.     <meta name="eccube-csrf-token" content="{{ csrf_token(constant('Eccube\\Common\\Constant::TOKEN_NAME')) }}">
  14.     <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>
  15.     {% if Page.meta_tags is not empty %}
  16.         {{ include(template_from_string(Page.meta_tags)) }}
  17.         {% if Page.description is not empty %}
  18.             <meta name="description" content="{{ Page.description }}">
  19.         {% endif %}
  20.     {% else %}
  21.         {{ include('meta.twig') }}
  22.     {% endif %}
  23.     {% if Page.author is not empty %}
  24.         <meta name="author" content="{{ Page.author }}">
  25.     {% endif %}
  26.     {% if Page.keyword is not empty %}
  27.         <meta name="keywords" content="{{ Page.keyword }}">
  28.     {% endif %}
  29.     {% if Page.meta_robots is not empty %}
  30.         <meta name="robots" content="{{ Page.meta_robots }}">
  31.     {% endif %}
  32.     <link rel="icon" href="{{ asset('assets/img/common/favicon.ico', 'user_data') }}">
  33.     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
  34.     <link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
  35.     <script src="{{ asset('front.bundle.js', 'bundle') }}"></script>
  36.     {% block stylesheet %}{% endblock %}
  37.     <script>
  38.         $(function() {
  39.             $.ajaxSetup({
  40.                 'headers': {
  41.                     'ECCUBE-CSRF-TOKEN': $('meta[name="eccube-csrf-token"]').attr('content')
  42.                 }
  43.             });
  44.         });
  45.     </script>
  46.     {# Layout: HEAD #}
  47.     {% if Layout.Head %}
  48.         {{ include('block.twig', {'Blocks': Layout.Head}) }}
  49.     {% endif %}
  50.     {# プラグイン用styleseetやmetatagなど #}
  51.     {% if plugin_assets is defined %}{{ include('@admin/snippet.twig', { snippets: plugin_assets }) }}{% endif %}
  52.     <link rel="stylesheet" href="{{ asset('assets/css/customize.css', 'user_data') }}">
  53.     <link rel="stylesheet" href="{{ asset('assets/css/master.css', 'user_data') }}">
  54.      <script src="/html/user_data/assets/js/jquery-3.7.1.min.js"></script>
  55.     <script src="/html/user_data/assets/js/scrolltrigger/gsap.min.js"></script>
  56.     <script src="/html/user_data/assets/js/scrolltrigger/ScrollTrigger.min.js"></script>
  57.     <script src="/html/user_data/assets/js/swiper/swiper-bundle.min.js"></script>
  58.     <script src="/html/user_data/assets/js/jquery.easing.js"></script>
  59.     <script src="/html/user_data/assets/js/jquery.smoothScroll.js"></script>
  60.     <script src="/html/user_data/assets/js/modernizr-custom.js"></script>
  61.     <script src="/html/user_data/assets/js/common.js"></script>
  62.     <script src="/html/user_data/assets/js//lightbox/js/lightbox.min.js"></script>
  63.     <link rel="stylesheet" href="/html/user_data/assets/js//lightbox/css/lightbox.css">
  64.     <script src="/html/user_data/assets/js/slick-1.6.0/slick.min.js"></script>
  65.     <link rel="stylesheet" href="/html/user_data/assets/js/slick-1.6.0/slick.css">
  66.     <link rel="stylesheet" href="/html/user_data/assets/js/slick-1.6.0/slick-theme.css">
  67.     <script>
  68.     $(function(){
  69.         if (window.matchMedia('(max-width: 699px)').matches) {
  70.             $('.product-photo__main').slick({
  71.                 slidesToShow: 1,
  72.                 slidesToScroll: 1,
  73.                 arrows: true,
  74.                 autoplay :false,
  75.                 pauseOnHover : false,
  76.                 fade: true,
  77.                 asNavFor: '.product-photo__sub'
  78.             });
  79.             $('.product-photo__sub').slick({
  80.                 slidesToShow: 100,
  81.                 slidesToScroll: 1,
  82.                 arrows: false,
  83.                 dots: false,
  84.                 centerMode: false,
  85.                 focusOnSelect: true ,
  86.                 variableWidth:true,
  87.                 asNavFor: '.product-photo__main'
  88.             });
  89.             $('.product-relatioin-list').slick({
  90.                 arrows: false,
  91.                 slidesToShow: 2,
  92.                 dots: true,
  93.             });
  94.         }else{
  95.             $('.product-photo__main').slick({
  96.                 slidesToShow: 1,
  97.                 slidesToScroll: 1,
  98.                 arrows: false,
  99.                 autoplay :false,
  100.                 pauseOnHover : false,
  101.                 fade: true,
  102.                 asNavFor: '.product-photo__sub'
  103.             });
  104.             $('.product-photo__sub').slick({
  105.                 slidesToShow: 100,
  106.                 slidesToScroll: 1,
  107.                 arrows: false,
  108.                 dots: false,
  109.                 centerMode: false,
  110.                 focusOnSelect: true ,
  111.                 variableWidth:true,
  112.                 asNavFor: '.product-photo__main'
  113.             });
  114.             $('.product-relatioin-list').slick({
  115.                 infinite: false,
  116.                 arrows: false,
  117.                 dots: false,
  118.                 speed: 300,
  119.                 autoplaySpeed: 5000,
  120.                 slidesToShow: 1,
  121.                 autoplay:false,
  122.                 variableWidth: true
  123.             });
  124.         }
  125.     });
  126.     </script>
  127.     <script type="text/javascript">
  128.         var ua = navigator.userAgent;
  129.         if (ua.indexOf('iPad') > 0 || (ua.indexOf('Android') > 0 && ua.indexOf('Mobile') < 0)) {
  130.             // タブレット
  131.             document.write('<meta name="viewport" content="width=1400,user-scalable=no">');
  132.         }
  133.     </script>
  134.    <script>
  135.         (function (d) {
  136.             var config = {
  137.                 kitId: 'obd1buk',
  138.                 scriptTimeout: 3000,
  139.                 async: true
  140.             },
  141.                 h = d.documentElement, t = setTimeout(function () { h.className = h.className.replace(/\bwf-loading\b/g, "") + " wf-inactive"; }, config.scriptTimeout), tk = d.createElement("script"), f = false, s = d.getElementsByTagName("script")[0], a; h.className += " wf-loading"; tk.src = 'https://use.typekit.net/' + config.kitId + '.js'; tk.async = true; tk.onload = tk.onreadystatechange = function () { a = this.readyState; if (f || a && a != "complete" && a != "loaded") return; f = true; clearTimeout(t); try { Typekit.load(config) } catch (e) { } }; s.parentNode.insertBefore(tk, s)
  142.         })(document);
  143.     </script>    
  144. </head>
  145. <body id="page_{{ app.request.get('_route') }}" class="{{ body_class|default('other_page') }}">
  146. {# Layout: BODY_AFTER #}
  147. {% if Layout.BodyAfter %}
  148.     {{ include('block.twig', {'Blocks': Layout.BodyAfter}) }}
  149. {% endif %}
  150. {% if isMaintenance %}
  151.     <div class="ec-maintenanceAlert">
  152.         <div>
  153.             <div class="ec-maintenanceAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
  154.             {{ 'メンテナンスモードが有効になっています。'|trans }}
  155.         </div>
  156.     </div>
  157. {% endif %}
  158. <div class="ec-layoutRole">
  159.     {# Layout: HEADER #}
  160.     {% if Layout.Header %}
  161.         {{ include('block.twig', {'Blocks': Layout.Header}) }}
  162.     {% endif %}
  163.     {# Layout: CONTENTS_TOP #}
  164.     {% if Layout.ContentsTop %}
  165.         <div class="ec-layoutRole__contentTop">
  166.             {{ include('block.twig', {'Blocks': Layout.ContentsTop}) }}
  167.         </div>
  168.     {% endif %}
  169.     <div class="ec-layoutRole__contents">
  170.         {# Layout: SIDE_LEFT #}
  171.         {% if Layout.SideLeft %}
  172.             <aside class="ec-layoutRole__left">
  173.                 {{ include('block.twig', {'Blocks': Layout.SideLeft}) }}
  174.             </aside>
  175.         {% endif %}
  176.         {% set layoutRoleMain = 'ec-layoutRole__main' %}
  177.         {% if Layout.ColumnNum == 2 %}
  178.             {% set layoutRoleMain = 'ec-layoutRole__mainWithColumn' %}
  179.         {% elseif Layout.ColumnNum == 3 %}
  180.             {% set layoutRoleMain = 'ec-layoutRole__mainBetweenColumn' %}
  181.         {% endif %}
  182.         <main class="{{ layoutRoleMain }}">
  183.             {# Layout: MAIN_TOP #}
  184.             {% if Layout.MainTop %}
  185.                 <div class="ec-layoutRole__mainTop">
  186.                     {{ include('block.twig', {'Blocks': Layout.MainTop}) }}
  187.                 </div>
  188.             {% endif %}
  189.             {# MAIN AREA #}
  190.             {% block main %}{% endblock %}
  191.             {# Layout: MAIN_Bottom #}
  192.             {% if Layout.MainBottom %}
  193.                 <div class="ec-layoutRole__mainBottom">
  194.                     {{ include('block.twig', {'Blocks': Layout.MainBottom}) }}
  195.                 </div>
  196.             {% endif %}
  197.         </main>
  198.         {# Layout: SIDE_RIGHT #}
  199.         {% if Layout.SideRight %}
  200.             <aside class="ec-layoutRole__right">
  201.                 {{ include('block.twig', {'Blocks': Layout.SideRight}) }}
  202.             </aside>
  203.         {% endif %}
  204.     </div>
  205.     {# Layout: CONTENTS_BOTTOM #}
  206.     {% if Layout.ContentsBottom %}
  207.         <div class="ec-layoutRole__contentBottom">
  208.             {{ include('block.twig', {'Blocks': Layout.ContentsBottom}) }}
  209.         </div>
  210.     {% endif %}
  211.     {# Layout: CONTENTS_FOOTER #}
  212.     {% if Layout.Footer %}
  213.         <footer class="ec-layoutRole__footer">
  214.             {{ include('block.twig', {'Blocks': Layout.Footer}) }}
  215.         </footer>
  216.     {% endif %}
  217. </div><!-- ec-layoutRole -->
  218. <div class="ec-overlayRole"></div>
  219. <div class="ec-drawerRoleClose"><i class="fas fa-times"></i></div>
  220. <div class="ec-drawerRole">
  221.     {# Layout: DRAWER #}
  222.     {% if Layout.Drawer %}
  223.         {{ include('block.twig', {'Blocks': Layout.Drawer}) }}
  224.     {% endif %}
  225. </div>
  226. <div class="ec-blockTopBtn pagetop">{{'ページトップへ'|trans}}</div>
  227. {% include('@common/lang.twig') %}
  228. <script src="{{ asset('assets/js/function.js') }}"></script>
  229. <script src="{{ asset('assets/js/eccube.js') }}"></script>
  230. {% block javascript %}{% endblock %}
  231. {# Layout: CLOSE_BODY_BEFORE #}
  232. {% if Layout.CloseBodyBefore %}
  233.     {{ include('block.twig', {'Blocks': Layout.CloseBodyBefore}) }}
  234. {% endif %}
  235. {# プラグイン用Snippet #}
  236. {% if plugin_snippets is defined %}
  237.     {{ include('snippet.twig', { snippets: plugin_snippets }) }}
  238. {% endif %}
  239.     <script src="{{ asset('assets/js/customize.js', 'user_data') }}"></script>
  240. </body>
  241. </html>