app/template/ibn4203/default_frame.twig line 101

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), sandboxed = true) }}
  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/v6.5.2/css/all.css?{{ 'now'|date('His') }}" integrity="sha384-PPIZEGYM1v8zp5Py7UjFb79S58UeqCL9pYVnVPURKEqvioPROaVAJKKLzvH2rDnI" crossorigin="anonymous">
  34.     <link rel="stylesheet" href="{{ asset('assets/css/style.css') }}?{{ 'now'|date('His') }}">
  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. </head>
  54. <body id="page_{{ app.request.get('_route') }}" class="{{ body_class|default('other_page') }}">
  55. {# Layout: BODY_AFTER #}
  56. {% if Layout.BodyAfter %}
  57.     {{ include('block.twig', {'Blocks': Layout.BodyAfter}) }}
  58. {% endif %}
  59. {# {%  if isMaintenance is defined and isMaintenance and isDebug %} #}
  60.     {# <dev class="ec-twoModeAlert">
  61.         <div class="ec-maintenanceAlert">
  62.             <div>
  63.                 <div class="ec-maintenanceAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
  64.                 {{ 'メンテナンスモードが有効になっています。'|trans }}
  65.             </div>
  66.         </div>
  67.         <div class="ec-debugModeAlert bg-danger">
  68.             <div>
  69.                 <div class="ec-debugModeAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
  70.                 {{ 'デバッグモードが有効になっています。'|trans }}
  71.             </div>
  72.         </div>
  73.     </dev>
  74. {%  else %} #}
  75.     {% if isMaintenance %}
  76.         <div class="ec-maintenanceAlert">
  77.             <div>
  78.                 <div class="ec-maintenanceAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
  79.                 {{ 'メンテナンスモードが有効になっています。'|trans }}
  80.             </div>
  81.         </div>
  82.     {% endif %}
  83.     {# {% if isDebug %}
  84.         <div class="ec-debugModeAlert bg-danger">
  85.             <div>
  86.                 <div class="ec-debugModeAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
  87.                 {{ 'デバッグモードが有効になっています。'|trans }}
  88.             </div>
  89.         </div>
  90.     {% endif %} #}
  91. {# {% endif %} #}
  92. <div class="ec-layoutRole{% if app.request.get('_route') == 'homepage' %} homepage{% endif %}">
  93.     {# Layout: HEADER #}
  94.     {% if Layout.Header %}
  95.         <header class="ec-layoutRole__header">
  96.             {{ include('block.twig', {'Blocks': Layout.Header}) }}
  97.         </header>
  98.     {% endif %}
  99.     {# Layout: CONTENTS_TOP #}
  100.     {# {% if Layout.ContentsTop or app.request.get('_route') == 'homepage' or app.request.get('_route') == 'product_list' or app.request.get('_route') == 'product_list_vendor' %}
  101.         <div class="ec-layoutRole__contentTop">
  102.             {% if app.request.get('_route') == 'product_list' or app.request.get('_route') == 'product_list_vendor' %}{{ include('Product/list_banner.twig') }}{% endif %}
  103.             {{ include('block.twig', {'Blocks': Layout.ContentsTop}) }}
  104.         </div>
  105.     {% endif %} #}
  106.     <div class="ec-layoutRole__contents">
  107.         {% set layoutRoleMain = 'ec-layoutRole__main' %}
  108.         {% if Layout.ColumnNum == 2 and Layout.SideLeft %}
  109.             {% set layoutRoleMain = 'ec-layoutRole__mainWithColumn side_left' %}
  110.         {% elseif Layout.ColumnNum == 2 and Layout.SideRight %}
  111.             {% set layoutRoleMain = 'ec-layoutRole__mainWithColumn side_right' %}
  112.         {% elseif Layout.ColumnNum == 3 %}
  113.             {% set layoutRoleMain = 'ec-layoutRole__mainBetweenColumn' %}
  114.         {% endif %}
  115.         <main class="{{ layoutRoleMain }}">
  116.             {# Layout: MAIN_TOP #}
  117.             {% if Layout.MainTop %}
  118.                 <div class="ec-layoutRole__mainTop">
  119.                     {{ include('block.twig', {'Blocks': Layout.MainTop}) }}
  120.                 </div>
  121.             {% endif %}
  122.             {# MAIN AREA #}
  123.             {% block main %}{% endblock %}
  124.             {# Layout: MAIN_Bottom #}
  125.             {% if Layout.MainBottom %}
  126.                 <div class="ec-layoutRole__mainBottom">
  127.                     {{ include('block.twig', {'Blocks': Layout.MainBottom}) }}
  128.                 </div>
  129.             {% endif %}
  130.         </main>
  131.         {# Layout: SIDE_LEFT #}
  132.         {% if Layout.SideLeft %}
  133.             <aside class="ec-layoutRole__left">
  134.                 {{ include('block.twig', {'Blocks': Layout.SideLeft}) }}
  135.             </aside>
  136.         {% endif %}
  137.         {# Layout: SIDE_RIGHT #}
  138.         {% if Layout.SideRight %}
  139.             <aside class="ec-layoutRole__right">
  140.                 {{ include('block.twig', {'Blocks': Layout.SideRight}) }}
  141.             </aside>
  142.         {% endif %}
  143.     </div>
  144.     {# Layout: CONTENTS_BOTTOM #}
  145.     {% if Layout.ContentsBottom %}
  146.         <div class="ec-layoutRole__contentBottom">
  147.             {{ include('block.twig', {'Blocks': Layout.ContentsBottom}) }}
  148.         </div>
  149.     {% endif %}
  150.     {# Layout: CONTENTS_FOOTER #}
  151.     {% if Layout.Footer %}
  152.         <footer class="ec-layoutRole__footer">
  153.             {{ include('block.twig', {'Blocks': Layout.Footer}) }}
  154.         </footer>
  155.     {% endif %}
  156. </div><!-- ec-layoutRole -->
  157. <div class="ec-overlayRole"></div>
  158. <div class="ec-drawerRoleClose"><i class="fas fa-times"></i></div>
  159. <div class="ec-drawerRole">
  160.     {# Layout: DRAWER #}
  161.     {% if Layout.Drawer %}
  162.         {{ include('block.twig', {'Blocks': Layout.Drawer}) }}
  163.     {% endif %}
  164. </div>
  165. <div class="ec-blockTopBtn pagetop"><i class="ec-headerNav__itemIcon fas fa-chevron-up fa-fw"></i></div>
  166. {% include('@common/lang.twig') %}
  167. <script src="{{ asset('assets/js/function.js') }}"></script>
  168. <script src="{{ asset('assets/js/eccube.js') }}"></script>
  169. {% block javascript %}{% endblock %}
  170. {# Layout: CLOSE_BODY_BEFORE #}
  171. {% if Layout.CloseBodyBefore %}
  172.     {{ include('block.twig', {'Blocks': Layout.CloseBodyBefore}) }}
  173. {% endif %}
  174. {# プラグイン用Snippet #}
  175. {% if plugin_snippets is defined %}
  176.     {{ include('snippet.twig', { snippets: plugin_snippets }) }}
  177. {% endif %}
  178.     <script src="{{ asset('assets/js/customize.js', 'user_data') }}"></script>
  179.     {# ▼jquery.webticker ティッカー #}
  180.     <script src="{{ asset('assets/js/jquery.webticker/jquery.webticker.min.js') }}"></script>
  181.     <script type="text/javascript">
  182.         $("#webTicker").webTicker({
  183.             duplicate:true, 
  184.             rssfrequency:0, 
  185.             startEmpty:false, 
  186.             hoverpause:true, 
  187.             transition: "ease"
  188.         });
  189.     </script>
  190.     {# ▼ヘッダーの固定 #}
  191.     <script>
  192.         {# var navPos = jQuery( '.logo_area' ).offset().top; // グローバルメニューの位置
  193.         var navHeight = jQuery( '.logo_area' ).outerHeight(); // グローバルメニューの高さ
  194.         jQuery( window ).on( 'scroll', function() {
  195.           if ( jQuery( this ).scrollTop() > navPos ) {
  196.             jQuery( 'body' ).css( 'padding-top', navHeight );
  197.             jQuery( '.logo_area' ).addClass( 'is_fixed' );
  198.             jQuery( '.ec-headerRole__cart' ).addClass( 'is_fixed' );
  199.           } else {
  200.             jQuery( 'body' ).css( 'padding-top', 0 );
  201.             jQuery( '.logo_area' ).removeClass( 'is_fixed' );
  202.             jQuery( '.ec-headerRole__cart' ).removeClass( 'is_fixed' );
  203.           }
  204.         }); #}
  205.         let offsetTop = 0;
  206.         // ec-maintenanceAlert がある場合はその高さを取得
  207.         if ($('.ec-maintenanceAlert').length > 0) {
  208.             offsetTop = $('.ec-maintenanceAlert').outerHeight();
  209.         }
  210.         // ヘッダーに position: fixed を適用し、上部を調整
  211.         $('.customize_header_area').css({
  212.             'position': 'fixed',
  213.             'top': offsetTop + 'px',
  214.             'left': '0',
  215.             'width': '100%',
  216.             'z-index': 1000,
  217.         });
  218.         // .ec-layoutRole__contentTopにその分だけパディングをつけてコンテンツと重ならないようにする
  219.         let headerHeight = $('.customize_header_area').outerHeight();
  220.         console.log($('.ec-layoutRole__contentTop'));
  221.         if ($('.ec-layoutRole__contentTop').length === 0) {
  222.             $('.ec-layoutRole__contents').css('padding-top', headerHeight + 'px');
  223.         } else {
  224.             $('.ec-layoutRole__contentTop').css('padding-top', headerHeight + 'px');
  225.         }
  226.     </script>
  227.     {# ▼ブラウザの高さとカート #}
  228.     <script>
  229.         if (window.matchMedia('(min-width:768px)').matches) {
  230.             $('.ec-modal').click(function() {
  231.                 var h = $(window).height();
  232.                 $('.ec-cartNaviIsset').css('max-height', (h-40) + 'px');
  233.             });    
  234.             $(window).on('load',function(){
  235.                 var h = $(window).height();
  236.                 $('.ec-cartNaviIsset').css('max-height', (h-40) + 'px');
  237.             });
  238.             $(window).on('resize',function(){
  239.                 var h = $(window).height();
  240.                 $('.ec-cartNaviIsset').css('max-height', (h-40) + 'px');
  241.             });
  242.         }
  243.     </script>
  244. </body>
  245. </html>