app/template/default/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 main %}
  78. <div class="mv">
  79.     <div class="slider-wrap">
  80.         <div class="swiper slider">
  81.             <div class="swiper-wrapper">
  82.                 <!-- サタプラ放送前 -->
  83.                 <div class="swiper-slide satapra-before-1">
  84.                         <picture>
  85.                             <source srcset="{{ asset('assets/img/top/sp/main06.jpg', 'user_data') }}" media="(max-width: 768px)">
  86.                             <img src="{{ asset('assets/img/top/main06.jpg', 'user_data') }}" alt="サタプラ放送前">
  87.                         </picture>
  88.                 </div>
  89.                 <!-- サタプラ放送後 -->
  90.                 <div class="swiper-slide satapra-after-1">
  91.                     <a href="https://s23.kaihatsu.space/products/list?category_id=13" target="_blank" class="swiper-slide-link">
  92.                         <picture>
  93.                             <source srcset="{{ asset('assets/img/top/sp/main06-2.jpg', 'user_data') }}" media="(max-width: 768px)">
  94.                             <img src="{{ asset('assets/img/top/main06-2.jpg', 'user_data') }}" alt="サタプラ放送後">
  95.                         </picture>
  96.                     </a>
  97.                 </div>
  98.                 <div class="swiper-slide">
  99.                     <a href="http://hirota-s.shop-pro.jp/?pid=96392868" target="_blank" class="swiper-slide-link">
  100.                         <picture>
  101.                             <source srcset="{{ asset('assets/img/top/sp/main05.jpg', 'user_data') }}" media="(max-width: 768px)">
  102.                             <img src="{{ asset('assets/img/top/main05.jpg', 'user_data') }}" alt="">
  103.                         </picture>
  104.                     </a>
  105.                 </div>
  106.                 <div class="swiper-slide">
  107.                     <a href="{{ url('recipe') }}">
  108.                         <picture>
  109.                             <source srcset="{{ asset('assets/img/top/sp/main01.jpg', 'user_data') }}" media="(max-width: 768px)">
  110.                             <img src="{{ asset('assets/img/top/main01.jpg', 'user_data') }}" alt="">
  111.                         </picture>
  112.                     </a>
  113.                 </div>
  114.                 <div class="swiper-slide">
  115.                     <a href="http://hirota-s.shop-pro.jp/?pid=96392989" target="_blank">
  116.                         <picture>
  117.                             <source srcset="{{ asset('assets/img/top/sp/main02.jpg', 'user_data') }}" media="(max-width: 768px)">
  118.                             <img src="{{ asset('assets/img/top/main02.jpg', 'user_data') }}" alt="">
  119.                         </picture>
  120.                     </a>
  121.                 </div>
  122.                 <div class="swiper-slide">
  123.                     <a href="http://hirota-s.shop-pro.jp/" target="_blank">
  124.                         <picture>
  125.                             <source srcset="{{ asset('assets/img/top/sp/main03.jpg', 'user_data') }}" media="(max-width: 768px)">
  126.                             <img src="{{ asset('assets/img/top/main03.jpg', 'user_data') }}" alt="">
  127.                         </picture>
  128.                     </a>
  129.                 </div>
  130.                 <div class="swiper-slide">
  131.                     <a href="http://hirota-s.shop-pro.jp/?pid=96392692" target="_blank">
  132.                         <picture>
  133.                             <source srcset="{{ asset('assets/img/top/sp/main04.jpg', 'user_data') }}" media="(max-width: 768px)">
  134.                             <img src="{{ asset('assets/img/top/main04.jpg', 'user_data') }}" alt="">
  135.                         </picture>
  136.                     </a>
  137.                 </div>
  138.             </div>
  139.         </div>
  140.     </div>
  141.     <div class="slider-thumbnail-wrap">
  142.         <div class="swiper slider-thumbnail">
  143.             <div class="swiper-wrapper">
  144.                 <!-- サタプラ放送前 -->
  145.                 <div class="swiper-slide satapra-before-2"><img src="{{ asset('assets/img/top/main06.jpg', 'user_data') }}" alt=""></div>
  146.                 <!-- サタプラ放送後 -->
  147.                 <div class="swiper-slide satapra-after-2"><img src="{{ asset('assets/img/top/main06-2.jpg', 'user_data') }}" alt=""></div>
  148.                 <div class="swiper-slide"><img src="{{ asset('assets/img/top/main05.jpg', 'user_data') }}" alt=""></div>
  149.                 <div class="swiper-slide"><img src="{{ asset('assets/img/top/main01.jpg', 'user_data') }}" alt=""></div>
  150.                 <div class="swiper-slide"><img src="{{ asset('assets/img/top/main02.jpg', 'user_data') }}" alt=""></div>
  151.                 <div class="swiper-slide"><img src="{{ asset('assets/img/top/main03.jpg', 'user_data') }}" alt=""></div>
  152.                 <div class="swiper-slide"><img src="{{ asset('assets/img/top/main04.jpg', 'user_data') }}" alt=""></div>
  153.             </div>
  154.         </div>
  155.         <div class="swiper-button-prev"></div>
  156.         <div class="swiper-button-next"></div>
  157.     </div>
  158.     <script>
  159.         document.addEventListener("DOMContentLoaded", function() {
  160.             // 表示切り替え日時:2025-11-22 08:40(日本時間)
  161.             const switchTime = new Date("2025-11-22T08:40:00+09:00");
  162.             const now = new Date();
  163.             // 対象をまとめて取得
  164.             const beforeSlides = document.querySelectorAll(".satapra-before-1, .satapra-before-2");
  165.             const afterSlides  = document.querySelectorAll(".satapra-after-1, .satapra-after-2");
  166.             if (now < switchTime) {
  167.                 // ▼ 放送前(期間中)
  168.                 beforeSlides.forEach(el => el.style.display = "block");
  169.                 afterSlides.forEach(el  => el.style.display = "none");
  170.             } else {
  171.                 // ▼ 放送後(期間終了後)
  172.                 beforeSlides.forEach(el => el.style.display = "none");
  173.                 afterSlides.forEach(el  => el.style.display = "block");
  174.             }
  175.         });
  176.         </script>
  177. </div>
  178. {% endblock %}