app/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: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#">
  11. <!-- Global site tag (gtag.js) - Google Analytics -->
  12. {# <script async src="https://www.googletagmanager.com/gtag/js?id=G-1R2PB5YGNR"></script>
  13. <script>
  14.   window.dataLayer = window.dataLayer || [];
  15.   function gtag(){dataLayer.push(arguments);}
  16.   gtag('js', new Date());
  17.   gtag('config', 'G-1R2PB5YGNR');
  18. </script> #}
  19. {% if app.request.get('_route') == 'product_list' %}
  20.     {% if app.request.query.get('category_id') is not empty %}
  21.         <link rel="canonical" href="{{ url('homepage') }}products/list?category_id={{ app.request.query.get('category_id') }}" />
  22.     {% else %}
  23.         <link rel="canonical" href="{{ url('homepage') }}products/list" />
  24.     {% endif %}
  25.     {% set pages = pagination.paginationData %}
  26.     {% if pages.pageCount > 1 %}
  27.         {% if pages.previous is defined %}
  28.             <link rel="prev" href="{{ app.request.schemeAndHttpHost() ~ path(app.request.attributes.get('_route'),app.request.query.all|merge({'pageno': pages.previous})) }}">
  29.         {% endif %}
  30.         {% if pages.next is defined %}
  31.             <link rel="next" href="{{ app.request.schemeAndHttpHost() ~ path(app.request.attributes.get('_route'),app.request.query.all|merge({'pageno': pages.next})) }}">
  32.         {% endif %}
  33.     {% endif %}
  34. {% else %}
  35.     <link rel="canonical" href="{% if app.request.server.get('HTTPS') %}https{% else %}http{% endif %}://{{ app.request.server.get('SERVER_NAME') }}{{ app.request.server.get('REQUEST_URI') }}">
  36. {% endif %}
  37.     <meta charset="utf-8">
  38.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  39.     <meta name="eccube-csrf-token" content="{{ csrf_token(constant('Eccube\\Common\\Constant::TOKEN_NAME')) }}">
  40. {% if app.request.attributes.get('_route') == 'homepage' %}
  41. <title>ギルトフリーアイス|ダシーズファクトリー公式 TOP</title>
  42. {% elseif app.request.attributes.get('_route') == 'company' %}
  43. <title>会社概要|ギルトフリーアイスのダシーズファクトリー公式</title>
  44. {% elseif app.request.attributes.get('_route') == 'help_privacy' %}
  45. <title>プライバシーポリシー|ギルトフリーアイスのダシーズファクトリー公式</title>
  46. {% elseif app.request.attributes.get('_route') == 'help_tradelaw' %}
  47. <title>特商法に基づく表記|ギルトフリーアイスのダシーズファクトリー公式</title>
  48. {% elseif app.request.get('_route') == 'product_detail' and Product.itoben_seo_title is not empty %}
  49. <title>{{ Product.itoben_seo_title }}</title>
  50. {% elseif app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  51. <title>製品のご購入|ギルトフリーアイスのダシーズファクトリー公式</title>
  52. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_title is not empty %}
  53. <title>{{ Category.itoben_seo_title }}</title>
  54. {% else %}
  55. <title>{% if app.request.get('_route') == 'product_detail' or app.request.get('_route') == 'product_list' %}{{ subtitle }} / {{ BaseInfo.shop_name }}{% else %}{{ BaseInfo.shop_name }}{% if subtitle is defined and subtitle is not empty %} / {{ subtitle }}{% elseif title is defined and title is not empty %} / {{ title }}{% endif %}{% endif %}</title>
  56. {% endif %}
  57. {% if app.request.get('_route') == 'product_detail' and Product.itoben_seo_author is not empty %}
  58. <meta name="author" content="{{ Product.itoben_seo_author }}">
  59. {% elseif app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  60. {% if Page.author is not empty %}<meta name="author" content="{{ Page.author }}">{% endif %}
  61. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_author is not empty %}
  62. <meta name="author" content="{{ Category.itoben_seo_author }}">
  63. {% elseif Page.author is not empty %}
  64. <meta name="author" content="{{ Page.author }}">
  65. {% endif %}
  66. {% if app.request.get('_route') == 'product_detail' and Product.itoben_seo_description is not empty %}
  67. <meta name="description" content="{{ Product.itoben_seo_description }}">
  68. {% elseif app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  69. {% if Page.description is not empty %}<meta name="description" content="{{ Page.description }}">{% endif %}
  70. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_description is not empty %}
  71. <meta name="description" content="{{ Category.itoben_seo_description }}">
  72. {% elseif Page.description is not empty %}
  73. <meta name="description" content="{{ Page.description }}">
  74. {% endif %}
  75. {% if app.request.get('_route') == 'product_detail' and Product.itoben_seo_keyword is not empty %}
  76. <meta name="keywords" content="{{ Product.itoben_seo_keyword }}">
  77. {% elseif app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  78. {% if Page.keyword is not empty %}<meta name="keywords" content="{{ Page.keyword }}">{% endif %}
  79. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_keyword is not empty %}
  80. <meta name="keywords" content="{{ Category.itoben_seo_keyword }}">
  81. {% elseif Page.keyword is not empty %}
  82. <meta name="keywords" content="{{ Page.keyword }}">
  83. {% endif %}
  84. {% if app.request.get('_route') == 'product_detail' and Product.itoben_seo_meta_robots is not empty %}
  85. <meta name="robots" content="{{ Product.itoben_seo_meta_robots }}">
  86. {% elseif app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  87. {% if Page.meta_robots is not empty %}<meta name="robots" content="{{ Page.meta_robots }}">{% endif %}
  88. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_meta_robots is not empty %}
  89. <meta name="robots" content="{{ Category.itoben_seo_meta_robots }}">
  90. {% elseif Page.meta_robots is not empty %}
  91. <meta name="robots" content="{{ Page.meta_robots }}">
  92. {% endif %}
  93. {% if Page.meta_tags is not empty %}
  94. {{ include(template_from_string(Page.meta_tags)) }}
  95. {% endif %}
  96. {% if app.request.get('_route') == 'product_detail' and Product.itoben_seo_meta_tags is not empty %}
  97. {{ include(template_from_string(Product.itoben_seo_meta_tags)) }}
  98. {% endif %}
  99. {% if app.request.get('_route') == 'product_list' and app.request.query.get('category_id') is empty %}
  100. {% elseif app.request.get('_route') == 'product_list' and Category.itoben_seo_meta_tags is not empty %}
  101. {{ include(template_from_string(Category.itoben_seo_meta_tags)) }}
  102. {% endif %}
  103.     <link rel="icon" href="{{ asset('assets/img/common/favicon.ico', 'user_data') }}">
  104.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
  105.     <link rel="preconnect" href="https://fonts.googleapis.com">
  106.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  107.     <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap" rel="stylesheet">
  108.     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
  109.     <link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}">
  110.     <link rel="stylesheet" href="{{ asset('assets/css/add.css') }}">
  111.     {% if app.request.attributes.get('_route') == 'homepage' %}
  112.         <link rel="stylesheet" href="{{ asset('assets/css/modal-video.min.css') }}">
  113.     {% endif %}
  114.     <style>
  115.       /* 印刷したときにリンクのURLが勝手に表示されるのを修正 */
  116.       @media print { a[href]:after { content: "" !important; } abbr[title]:after { content: "" !important; } }
  117.     </style>
  118.     {% block stylesheet %}{% endblock %}
  119.     <script src="{{ asset('assets/js/jquery-3.6.0.min.js') }}"></script>
  120.     <script src="{{ asset('assets/js/slick.min.js') }}"></script>
  121.     {% if app.request.attributes.get('_route') == 'homepage' %}
  122.         <script src="{{ asset('assets/js/jquery-modal-video.min.js') }}"></script>
  123.         <script src="{{ asset('assets/js/modal-init.js') }}"></script>
  124.     {% endif %}
  125.     <script>
  126.         $(function() {
  127.             $.ajaxSetup({
  128.                 'headers': {
  129.                     'ECCUBE-CSRF-TOKEN': $('meta[name="eccube-csrf-token"]').attr('content')
  130.                 }
  131.             });
  132.         });
  133.     </script>
  134.     {% if ChainStore %}
  135.     <script>
  136.         $(function() {
  137.             $('body').addClass('layout-store');
  138.         });
  139.     </script>
  140.     {% endif %}
  141.     {# Layout: HEAD #}
  142.     {% if Layout.Head %}
  143.         {{ include('block.twig', {'Blocks': Layout.Head}) }}
  144.     {% endif %}
  145.     {# プラグイン用styleseetやmetatagなど #}
  146.     {% if plugin_assets is defined %}{{ include('@admin/snippet.twig', { snippets: plugin_assets }) }}{% endif %}
  147.     <link rel="stylesheet" href="{{ asset('assets/css/customize.css', 'user_data') }}">
  148. </head>
  149. <body id="page_{{ app.request.get('_route') }}" class="{{ body_class|default('other_page') }}">
  150. {# Layout: BODY_AFTER #}
  151. {% if Layout.BodyAfter %}
  152.     {{ include('block.twig', {'Blocks': Layout.BodyAfter}) }}
  153. {% endif %}
  154. <div class="ec-layoutRole">
  155.     {# Layout: HEADER #}
  156.     {% if Layout.Header %}
  157.         <div class="ec-layoutRole__header">
  158.             {{ include('block.twig', {'Blocks': Layout.Header}) }}
  159.         </div>
  160.     {% endif %}
  161.     {# Layout: CONTENTS_TOP #}
  162.     {% if Layout.ContentsTop %}
  163.         <div class="ec-layoutRole__contentTop">
  164.             {{ include('block.twig', {'Blocks': Layout.ContentsTop}) }}
  165.         </div>
  166.     {% endif %}
  167.     <div class="ec-layoutRole__contents">
  168.         {# Layout: SIDE_LEFT #}
  169.         {% if Layout.SideLeft %}
  170.             <div class="ec-layoutRole__left">
  171.                 {{ include('block.twig', {'Blocks': Layout.SideLeft}) }}
  172.             </div>
  173.         {% endif %}
  174.         {% set layoutRoleMain = 'ec-layoutRole__main' %}
  175.         {% if Layout.ColumnNum == 2 %}
  176.             {% set layoutRoleMain = 'ec-layoutRole__mainWithColumn' %}
  177.         {% elseif Layout.ColumnNum == 3 %}
  178.             {% set layoutRoleMain = 'ec-layoutRole__mainBetweenColumn' %}
  179.         {% endif %}
  180.         <div class="{{ layoutRoleMain }}">
  181.             {# Layout: MAIN_TOP #}
  182.             {% if Layout.MainTop %}
  183.                 <div class="ec-layoutRole__mainTop">
  184.                     {{ include('block.twig', {'Blocks': Layout.MainTop}) }}
  185.                 </div>
  186.             {% endif %}
  187.             {# MAIN AREA #}
  188.             {% block main %}{% endblock %}
  189.             {# Layout: MAIN_Bottom #}
  190.             {% if Layout.MainBottom %}
  191.                 <div class="ec-layoutRole__mainBottom">
  192.                     {{ include('block.twig', {'Blocks': Layout.MainBottom}) }}
  193.                 </div>
  194.             {% endif %}
  195.         </div>
  196.         {# Layout: SIDE_RIGHT #}
  197.         {% if Layout.SideRight %}
  198.             <div class="ec-layoutRole__right">
  199.                 {{ include('block.twig', {'Blocks': Layout.SideRight}) }}
  200.             </div>
  201.         {% endif %}
  202.     </div>
  203.     {# Layout: CONTENTS_BOTTOM #}
  204.     {% if Layout.ContentsBottom %}
  205.         <div class="ec-layoutRole__contentBottom">
  206.             {{ include('block.twig', {'Blocks': Layout.ContentsBottom}) }}
  207.         </div>
  208.     {% endif %}
  209.     {# Layout: CONTENTS_FOOTER #}
  210.     {% if Layout.Footer %}
  211.         <div class="ec-layoutRole__footer">
  212.             {{ include('block.twig', {'Blocks': Layout.Footer}) }}
  213.         </div>
  214.     {% endif %}
  215. </div><!-- ec-layoutRole -->
  216. <div class="ec-overlay-role"></div>
  217. <div class="ec-drawer-role-close">
  218.   <div class="ec-drawer-role-close__bars">
  219.     <span></span>
  220.     <span></span>
  221.   </div>
  222. </div>
  223. <div class="ec-drawer-role">
  224.     {# Layout: DRAWER #}
  225.     {% if Layout.Drawer %}
  226.         {{ include('block.twig', {'Blocks': Layout.Drawer}) }}
  227.     {% endif %}
  228. </div>
  229. <div class="ec-blockTopBtn pagetop"><img src="{{ asset('assets/img/common/totop.svg') }}" alt="" width="40" height="46"></div>
  230. <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
  231. <script src="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js"></script>
  232. {% include('@common/lang.twig') %}
  233. <script src="{{ asset('assets/js/function.js') }}"></script>
  234. <script src="{{ asset('assets/js/eccube.js') }}"></script>
  235. {% block javascript %}{% endblock %}
  236. {# Layout: CLOSE_BODY_BEFORE #}
  237. {% if Layout.CloseBodyBefore %}
  238.     {{ include('block.twig', {'Blocks': Layout.CloseBodyBefore}) }}
  239. {% endif %}
  240. {# プラグイン用Snippet #}
  241. {% if plugin_snippets is defined %}
  242.     {{ include('snippet.twig', { snippets: plugin_snippets }) }}
  243. {% endif %}
  244.     <script src="{{ asset('assets/js/customize.js', 'user_data') }}"></script>
  245. </body>
  246. </html>