app/template/million01/index.twig line 1

Open in your IDE?
  1. {#
  2. This file is part of EC-CUBE
  3. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4. http://www.ec-cube.co.jp/
  5. For the full copyright and license information, please view the LICENSE
  6. file that was distributed with this source code.
  7. #}
  8. {% extends 'default_frame.twig' %}
  9. {% set body_class = 'front_page' %}
  10. {% block stylesheet %}
  11. <style>
  12.     .slick-slider {
  13.         margin-bottom: 30px;
  14.     }
  15.     .slick-dots {
  16.         position: absolute;
  17.         bottom: -45px;
  18.         display: block;
  19.         width: 100%;
  20.         padding: 0;
  21.         list-style: none;
  22.         text-align: center;
  23.     }
  24.     .slick-dots li {
  25.         position: relative;
  26.         display: inline-block;
  27.         width: 20px;
  28.         height: 20px;
  29.         margin: 0 5px;
  30.         padding: 0;
  31.         cursor: pointer;
  32.     }
  33.     .slick-dots li button {
  34.         font-size: 0;
  35.         line-height: 0;
  36.         display: block;
  37.         width: 20px;
  38.         height: 20px;
  39.         padding: 5px;
  40.         cursor: pointer;
  41.         color: transparent;
  42.         border: 0;
  43.         outline: none;
  44.         background: transparent;
  45.     }
  46.     .slick-dots li button:hover,
  47.     .slick-dots li button:focus {
  48.         outline: none;
  49.     }
  50.     .slick-dots li button:hover:before,
  51.     .slick-dots li button:focus:before {
  52.         opacity: 1;
  53.     }
  54.     .slick-dots li button:before {
  55.         content: " ";
  56.         line-height: 20px;
  57.         position: absolute;
  58.         top: 0;
  59.         left: 0;
  60.         width: 12px;
  61.         height: 12px;
  62.         text-align: center;
  63.         opacity: .25;
  64.         background-color: black;
  65.         border-radius: 50%;
  66.     }
  67.     .slick-dots li.slick-active button:before {
  68.         opacity: .75;
  69.         background-color: black;
  70.     }
  71.     .slick-dots li button.thumbnail img {
  72.         width: 0;
  73.         height: 0;
  74.     }
  75. </style>
  76. {% endblock %}
  77. {% block javascript %}
  78. <script>
  79.   $(function () {
  80.     function fixHeroImagePriority($slider) {
  81.       // いったん全部lazy(clone含めて事故防止)
  82.       $slider.find('.slick-slide img')
  83.         .attr('loading', 'lazy')
  84.         .removeAttr('fetchpriority');
  85.       // 表示中だけ eager + high
  86.       $slider.find('.slick-slide.slick-current img')
  87.         .attr('loading', 'eager')
  88.         .attr('fetchpriority', 'high');
  89.     }
  90.     var $mv = $('.main_visual');
  91.     $mv
  92.       .on('init', function () { fixHeroImagePriority($mv); })
  93.       .on('afterChange', function () { fixHeroImagePriority($mv); })
  94.       .slick({
  95.         dots: true,
  96.         arrows: false,
  97.         autoplay: true,
  98.         speed: 300
  99.         // 余裕あれば:, lazyLoad: 'ondemand'
  100.       });
  101.     // 念のため保険
  102.     setTimeout(function(){ fixHeroImagePriority($mv); }, 0);
  103.   });
  104. </script>
  105. {% endblock javascript %}
  106. {% block main %}
  107. <div class="ec-sliderRole">
  108. <div class="main_visual">
  109.     <div class="item">
  110.         <a href="{{ url('homepage') }}goods/locomo-cream-2set"
  111.             onClick="ga('send','event','click','top', 'slide_locomox2' ,1,{'nonInteraction':1});">
  112.             <picture>
  113.                 <source media="(max-width: 767px)" type="image/webp"
  114.                     srcset="{{ asset('assets/img/top/bnr_locomox2_750x390.webp') }}">
  115.                 <source media="(max-width: 767px)"
  116.                     srcset="{{ asset('assets/img/top/bnr_locomox2_750x390.jpg') }}">
  117.                 <source type="image/webp"
  118.                     srcset="{{ asset('assets/img/top/bnr_locomox2_1000x360.webp') }}">
  119.                 <img
  120.                     src="{{ asset('assets/img/top/bnr_locomox2_1000x360.jpg') }}"
  121.                     alt="ロコモクリーム331 2個セット"
  122.                     width="1000" height="360"
  123.                     style="width:100%;height:auto;"
  124.                     loading="lazy">
  125.             </picture>
  126.         </a>
  127.     </div>
  128.     <div class="item">
  129.         <a href="{{ url('homepage') }}healthfood/tsukudani"
  130.             onClick="ga('send','event','click','top', 'slide_tsukudani' ,1,{'nonInteraction':1});">
  131.             <picture>
  132.                 <source media="(max-width: 767px)" type="image/webp"
  133.                     srcset="{{ asset('assets/img/top/bnr_tsukudani_750x390.webp') }}">
  134.                 <source media="(max-width: 767px)"
  135.                     srcset="{{ asset('assets/img/top/bnr_tsukudani_750x390.jpg') }}">
  136.                 <source type="image/webp"
  137.                     srcset="{{ asset('assets/img/top/bnr_tsukudani_1000x360.webp') }}">
  138.                 <img
  139.                     src="{{ asset('assets/img/top/bnr_tsukudani_1000x360.jpg') }}"
  140.                     alt="ミリオン佃煮3点セット"
  141.                     width="1000" height="360"
  142.                     style="width:100%;height:auto;"
  143.                     loading="lazy">
  144.             </picture>
  145.         </a>
  146.     </div>
  147.     <div class="item">
  148.         <a href="{{ url('homepage') }}goods/beauty-box"
  149.             onClick="ga('send','event','click','top', 'slide_amane' ,1,{'nonInteraction':1});">
  150.             <picture>
  151.                 <source media="(max-width: 767px)" type="image/webp"
  152.                     srcset="{{ asset('assets/img/top/bnr_amane_750x390.webp') }}">
  153.                 <source media="(max-width: 767px)"
  154.                     srcset="{{ asset('assets/img/top/bnr_amane_750x390.jpg') }}">
  155.                 <source type="image/webp"
  156.                     srcset="{{ asset('assets/img/top/bnr_amane_1000x360.webp') }}">
  157.                 <img
  158.                     src="{{ asset('assets/img/top/bnr_amane_1000x360.jpg') }}"
  159.                     alt="amaneジュエリービューティーボックス"
  160.                     width="1000" height="360"
  161.                     style="width:100%;height:auto;"
  162.                     loading="lazy">
  163.             </picture>
  164.         </a>
  165.     </div>
  166.     <div class="item">
  167.         <a href="{{ url('homepage') }}health-trend/dashsyoku"
  168.             onClick="ga('send','event','click','top', 'slide_dash' ,1,{'nonInteraction':1});">
  169.             <picture>
  170.                 <source media="(max-width: 767px)" type="image/webp"
  171.                     srcset="{{ asset('assets/img/top/bnr_dash_750x390.webp') }}">
  172.                 <source media="(max-width: 767px)"
  173.                     srcset="{{ asset('assets/img/top/bnr_dash_750x390.jpg') }}">
  174.                 <source type="image/webp"
  175.                     srcset="{{ asset('assets/img/top/bnr_dash_1000x360.webp') }}">
  176.                 <img
  177.                     src="{{ asset('assets/img/top/bnr_dash_1000x360.jpg') }}"
  178.                     alt="DASH食"
  179.                     width="1000" height="360"
  180.                     style="width:100%;height:auto;"
  181.                     loading="lazy">
  182.             </picture>
  183.         </a>
  184.     </div>
  185.     <div class="item">
  186.         <a href="{{ url('homepage') }}health-trend/beta-carotene"
  187.             onClick="ga('send','event','click','top', 'slide_carotene' ,1,{'nonInteraction':1});">
  188.             <picture>
  189.                 <source media="(max-width: 767px)" type="image/webp"
  190.                     srcset="{{ asset('assets/img/top/bnr_carotene_750x390.webp') }}">
  191.                 <source media="(max-width: 767px)"
  192.                     srcset="{{ asset('assets/img/top/bnr_carotene_750x390.jpg') }}">
  193.                 <source type="image/webp"
  194.                     srcset="{{ asset('assets/img/top/bnr_carotene_1000x360.webp') }}">
  195.                 <img
  196.                     src="{{ asset('assets/img/top/bnr_carotene_1000x360.jpg') }}"
  197.                     alt="β-カロテンで今日からできる美肌作り"
  198.                     width="1000" height="360"
  199.                     style="width:100%;height:auto;"
  200.                     loading="lazy">
  201.             </picture>
  202.         </a>
  203.     </div>
  204.     <div class="item">
  205.         <a href="{{ url('homepage') }}vegetable-juice/sdgs-episode"
  206.             onClick="ga('send','event','click','top', 'slide_sdgs' ,1,{'nonInteraction':1});">
  207.             <picture>
  208.                 <source media="(max-width: 767px)" type="image/webp"
  209.                     srcset="{{ asset('assets/img/top/bnr_sdgs_750x390.webp') }}">
  210.                 <source media="(max-width: 767px)"
  211.                     srcset="{{ asset('assets/img/top/bnr_sdgs_750x390.png') }}">
  212.                 <source type="image/webp"
  213.                     srcset="{{ asset('assets/img/top/bnr_sdgs_1000x360.webp') }}">
  214.                 <img
  215.                     src="{{ asset('assets/img/top/bnr_sdgs_1000x360.png') }}"
  216.                     alt="SDGs達成のため、「食品ロス」を減らそう、なくそう。"
  217.                     width="1000" height="360"
  218.                     style="width:100%;height:auto;"
  219.                     loading="lazy">
  220.             </picture>
  221.         </a>
  222.     </div>
  223. </div>
  224. </div>
  225. {% endblock %}