app/template/default/Contact/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. {% block stylesheet %}
  10.     <link rel="stylesheet" href="{{ asset('assets/css/ec_module.css', 'user_data') }}">
  11.     <link rel="stylesheet" href="{{ asset('assets/css/contact.css', 'user_data') }}">
  12. {% endblock %}
  13. {% form_theme form 'Form/form_div_layout.twig' %}
  14. {% block javascript %}
  15.     <script>
  16.         document.addEventListener('DOMContentLoaded', function() {
  17.             const form = document.querySelector('.h-adr'); // 対象のformを選ぶ
  18.             form.addEventListener('submit', function(event) {
  19.                 const agreeCheckbox = form.querySelector('input[name="privacy_agree"]');
  20.                 if (agreeCheckbox && !agreeCheckbox.checked) {
  21.                     alert('プライバシーポリシーに同意してください。');
  22.                     event.preventDefault(); // 送信ストップ
  23.                 }
  24.             });
  25.         });
  26.     </script>
  27.     </script>
  28. {% endblock javascript %}
  29. {% block main %}
  30. <style>
  31.     .contact-title {
  32.         white-space: nowrap;
  33.     }
  34. </style>
  35. <section class="contact-title-section">
  36.         <div class="contact-box">
  37.             <h1 class="contact-title">
  38.                <img src="/html/user_data/assets/img/title_ic_inquiry.svg" alt="backet" class="title-ic">
  39.                <span>お問い合わせ</span>
  40.               </h1>
  41.         
  42.             <!-- 四隅の角線 -->
  43.             <div class="corner corner-top-left"></div>
  44.             <div class="corner corner-top-right"></div>
  45.             <div class="corner corner-bottom-left"></div>
  46.             <div class="corner corner-bottom-right"></div>
  47.         
  48.             <div class="contact-content">
  49.                 <p>ご注文や発送に関するご質問などがございましたら、下記フォームよりお気軽にお問い合わせください。</p>
  50.                 <p>なお、当サイトに関するご意見は「ご意見箱」よりお寄せいただけますようお願いいたします。</p>
  51.                 <p>お問い合わせの前に、以下の注意事項をご確認ください。</p>
  52.                 <p class="note">※すべてのご連絡に対して個別に返信できない場合がございます。あらかじめご了承ください。</p>
  53.                 <p class="note">※お問い合わせ対応は、土・日曜・祝日および当社休業日を除く営業時間内となります。</p>
  54.             </div>
  55.         </div>
  56.     </section>
  57.     <section class="contact-section">
  58.         <div class="cart-progress">
  59.             <ul class="cart-progress-list">
  60.                 <li class="cart-progress-item">
  61.                     <div class="cart-progress-spot"></div>
  62.                 </li>
  63.                 <li class="cart-progress-item">
  64.                   <div class="cart-progress-spot"></div>
  65.                 </li>
  66.                 <li class="cart-progress-item">
  67.                     <div class="cart-progress-spot"></div>
  68.                 </li>
  69.             </ul>
  70.         </div>
  71.         <div class="ec-input">
  72.             <form  method="post" action="{{ url('contact') }}" class="h-adr" novalidate>
  73.                 {{ form_widget(form._token) }}
  74.                 <div class="ec-input-pw">
  75.                     <div class="ec-input-pwTitle">お名前</div>
  76.                     <div class="required-call"><span class="required-badge">必須</span></div>
  77.                     <div class="ec-input-pwbox ec-halfInput{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
  78.                         {{ form_widget(form.name.name01, {'attr': { 'placeholder': '姓' }}) }}
  79.                         {{ form_widget(form.name.name02, {'attr': { 'placeholder': '名' }}) }}
  80.                         {{ form_errors(form.name.name01) }}
  81.                         {{ form_errors(form.name.name02) }}
  82.                     </div>
  83.                 </div>
  84.                 <div class="ec-input-pw">
  85.                     <div class="ec-input-pwTitle">フリガナ</div>
  86.                     <div class="required-call"><span class="required-badge">必須</span></div>
  87.                     <div class="ec-input-pwbox ec-halfInput{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error' }}">
  88.                         {{ form_widget(form.kana.kana01, {'attr': { 'placeholder': 'セイ' }}) }}
  89.                         {{ form_widget(form.kana.kana02, {'attr': { 'placeholder': 'メイ' }}) }}
  90.                         {{ form_errors(form.kana.kana01) }}
  91.                         {{ form_errors(form.kana.kana02) }}
  92.                     </div>
  93.                 </div>
  94.                 <div class="ec-input-pw">
  95.                     <div class="ec-input-pwTitle">メールアドレス</div>
  96.                     <div class="required-call"><span class="required-badge">必須</span></div>
  97.                     <div class="ec-input-pwbox">
  98.                         {{ form_widget(form.email) }}
  99.                         {{ form_errors(form.email) }}
  100.                     </div>
  101.                 </div>
  102.                 <div class="ec-input-pw">
  103.                     <div class="ec-input-pwTitle">お問い合わせの種類</div>
  104.                     <div class="required-call"><span class="required-badge">必須</span></div>
  105.                     <div class="ec-input-pwbox">
  106.                         {{ form_widget(form.contact_type) }}
  107.                         {{ form_errors(form.contact_type) }}
  108.                     </div>
  109.                 </div>
  110.                 <div class="ec-input-pw ec-input-pw__flextop">
  111.                     <div class="ec-input-pwTitle">お問い合わせ詳細</div>
  112.                     <div class="required-call"><span class="required-badge">必須</span></div>
  113.                     <div class="ec-input-pwbox">
  114.                         {{ form_widget(form.contents,{'attr': {'class': 'custom-textarea'}}) }}
  115.                         {{ form_errors(form.contents) }}
  116.                     </div>
  117.                 </div>
  118.                 <div class="privacy-area">
  119.                     <p class="privacy-link">
  120.                         <a href="https://photo-pub.com/information" target="_blank">
  121.                           <span class="privacy-icon">🔗</span>
  122.                          個人情報のお取り扱いについて
  123.                         </a>
  124.                     </p>
  125.                 
  126.                     <label class="privacy-checkbox">
  127.                         <input type="checkbox" id="agree" name="privacy_agree" value="agree">
  128.                         <span class="checkmark"></span>
  129.                         個人情報のお取り扱いについてに同意する
  130.                     </label>
  131.                 </div>
  132.                 <div class="ec-grid2">
  133.                   <div class="ec-grid2__cell">
  134.                       <div class="ec-login__actions">
  135.                           <button type="submit" class="ec-blockBtn--cancel" name="mode" value="confirm">確認画面へ</button>
  136.                       </div>
  137.                   </div>
  138.               </div>
  139.             </form>
  140.         </div>
  141.   </section>
  142. {% endblock %}