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 javascript %}
  11.     <script>
  12.         $(function() {
  13.             $('.main_visual').slick({
  14.                 dots: true,
  15.                 arrows: false,
  16.                 autoplay: true,
  17.                 speed: 500,
  18.                 autoplaySpeed: 5000,
  19.             });
  20.         });
  21.     </script>
  22.     {# ポップアップ モーダル #}
  23.     <script>
  24.     document.addEventListener('DOMContentLoaded', function() {
  25.         const popup = document.getElementById('popup-layer');
  26.         if (!popup) return;
  27.         const content = popup.querySelector('.popup_content');
  28.         const closeBtn = popup.querySelector('.popup_close');
  29.         const currentTime = Date.now();
  30.         const hideUntil = parseInt(localStorage.getItem('popupHideUntil'), 10);
  31.         function openPopup() {
  32.             popup.classList.add('active');
  33.             document.body.classList.add('popup_open');
  34.         }
  35.         function closePopup() {
  36.             popup.classList.remove('active');
  37.             document.body.classList.remove('popup_open');
  38.             const currentDate = new Date();
  39.             const nextMidnight = new Date(
  40.                 currentDate.getFullYear(),
  41.                 currentDate.getMonth(),
  42.                 currentDate.getDate() + 30,//30日後の0時に再表示
  43.                 0, 0, 0, 0
  44.             );
  45.             localStorage.setItem('popupHideUntil', nextMidnight.getTime());
  46.         }
  47.         if (!hideUntil || currentTime > hideUntil) {
  48.             setTimeout(openPopup, 500);
  49.         }
  50.         closeBtn.addEventListener('click', closePopup);
  51.         popup.addEventListener('click', function(e) {
  52.             if (!content.contains(e.target)) closePopup();
  53.         });
  54.         document.addEventListener('keydown', function(e) {
  55.             if (e.key === 'Escape' && popup.classList.contains('active')) {
  56.             closePopup();
  57.             }
  58.         });
  59.     });
  60.     </script>
  61. {% endblock javascript %}
  62. {% block main %}
  63.     <div class="ec-sliderRole slide">
  64.         <div class="main_visual slide_img_wrap">
  65.             <div class="item slide_img">
  66.                 <img src="{{ asset('assets/img/top/slide21.jpg') }}" alt="スタッフトライアルセット" width="843" height="602" loading="lazy">
  67.             </div>
  68.             <div class="item slide_img">
  69.                 <a href="products/list?category_id=127">
  70.                     <img src="{{ asset('assets/img/top/slide20.jpg') }}" alt="ナノバブルキャンペーン" width="914" height="861" loading="lazy">
  71.                 </a>
  72.             </div>
  73.             <div class="item slide_img">
  74.                 <a href="products/list?category_id=128">
  75.                     <img src="{{ asset('assets/img/top/slide19.jpg') }}" alt="nyu 販促キャンペーン" width="670" height="723" loading="lazy">
  76.                 </a>
  77.             </div>
  78.             <div class="item slide_img">
  79.                 <a href="products/list?category_id=123">
  80.                     <img src="{{ asset('assets/img/top/slide18.jpg') }}" alt="R-αリポ酸・スルフォラファン 導入記念企画" width="549" height="551" loading="lazy">
  81.                 </a>
  82.             </div>
  83.             <div class="item slide_img">
  84.                 <a href="products/list?category_id=112">
  85.                     <img src="{{ asset('assets/img/top/slide15.jpg') }}" alt="水素ガス生成器リタエアー" width="1191" height="680" loading="lazy">
  86.                 </a>
  87.             </div>
  88.         </div>
  89.     </div>
  90.     <div class="youtube">
  91.         <iframe width="560" height="315" src="https://www.youtube.com/embed/xP9fOOX0gVE?si=cuZxOmby7a3uSniC" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
  92.     </div>
  93.     <a href="products/detail/505" class="block mb02 mr_auto ml_auto" style="width:max-content;">
  94.         <img src="https://oneconcept.jp/html/upload/save_image/0207152236_6986da2c8e248.png" alt="【数量限定】ミニキュア エクセレント" class="block" width="250" height="250">
  95.     </a>
  96.     <a href="https://oneconcept.jp/user_data/haircolor-simulation" class="block text-center mb01 mr_auto ml_auto" style="max-width:720px;">
  97.         <img src="{{ asset('assets/img/top/banner06_2.png') }}" alt="こんなにコストカットできるの!?気になる原価シミュレーションを試してみよう" width="1350" height="675">
  98.     </a>
  99.     {# ポップアップ モーダル #}
  100.     <div id="popup-layer" class="popup_layer">
  101.         <div class="popup_content">
  102.             <button type="button" class="popup_close">×</button>
  103.             <a href="products/list?category_id=114" style="display:block; max-width:600px; margin:atuo;">
  104.                 <img src="{{ asset('assets/img/top/popup01.jpg') }}" alt="UVインナーケア BeHAKU plus11+1 早めに始める!飲む日焼け止め" width="956" height="1200" class="block mr_auto ml_auto">
  105.             </a>
  106.         </div>
  107.     </div>
  108. {% endblock %}