src/Eccube/Resource/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. {% form_theme form 'Form/form_div_layout.twig' %}
  10. {% block stylesheet %}
  11. <style>
  12. /* FAQナビゲーションスタイル */
  13. .faq-nav {
  14.     display: flex;
  15.     padding: 40px 32px;
  16.     flex-direction: column;
  17.     gap: 12px;
  18.     margin-top: 38px;
  19.     margin-bottom: 80px;
  20.     background-color: #DBE4E9;
  21. }
  22. .faq-nav li {
  23.     position: relative;
  24.     list-style: none;
  25. }
  26. .faq-nav li::after {
  27.     display: block;
  28.     position: absolute;
  29.     content: "";
  30.     width: 32px;
  31.     height: 32px;
  32.     background-image: url({{ asset('assets/icon/arrow-circle-down.svg') }});
  33.     background-size: contain;
  34.     right: 20px;
  35.     top: 50%;
  36.     transform: translateY(-50%);
  37. }
  38. .faq-nav a {
  39.     display: block;
  40.     color: #2B2C28;
  41.     background-color: #fff;
  42.     border-radius: 4px;
  43.     padding: 20px;
  44.     font-size: 20px;
  45.     font-weight: 600;
  46.     text-decoration: none;
  47.     transition: background .25s;
  48.     box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
  49. }
  50. .faq-nav a:hover {
  51.     background: #e8f1ff;
  52. }
  53. .faq-section-title {
  54.     font-size: clamp(20px, 3.4vw, 28px);
  55.     font-weight: 700;
  56.     position: relative;
  57.     margin-bottom: 2.4rem;
  58.     padding: 16px 28px;
  59.     background-color: #F9F9F9;
  60. }
  61. .faq-section-title::before {
  62.     content: "";
  63.     position: absolute;
  64.     inset: 0 auto 0 0;
  65.     width: 8px;
  66.     background: #002978;
  67. }
  68. /* レスポンシブ調整 */
  69. @media (max-width: 599px) {
  70.     .faq-nav { padding: 24px 12px; }
  71.     .faq-nav a { font-size: .9rem; padding: 16px 12px; }
  72.     .faq-nav li::after { width: 20px; height: 20px; right: 8px; }
  73.     .faq-section-title { font-size: 18px; }
  74. }
  75. /* チェックボックス縦並び */
  76. .ec-checkbox > div {
  77.     display: flex;
  78.     flex-direction: column;
  79.     gap: 8px;
  80. }
  81. .ec-checkbox label {
  82.     display: flex;
  83.     align-items: center;
  84.     gap: 8px;
  85.     cursor: pointer;
  86. }
  87. .ec-checkbox label span{
  88.     line-height: 1.6;
  89. }
  90. .ec-checkbox input[type="checkbox"] {
  91.     cursor: pointer;
  92.     margin-bottom: 0;
  93. }
  94. </style>
  95. {% endblock %}
  96. {% block javascript %}
  97.     <script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
  98. {% endblock javascript %}
  99. {% block main %}
  100.     {# FAQカテゴリリンク #}
  101.         <div class="ec-layoutRole__mainWithColumn">
  102.             <div class="ec-off1Grid__cell">
  103.                 <h2 class="faq-section-title">よくあるご質問</h2>
  104.                 <ul class="faq-nav">
  105.                     <li><a href="{{ url('faq_index') }}#pre-order">在庫や納期、注文前の商品に関するご質問</a></li>
  106.                     <li><a href="{{ url('faq_index') }}#post-order">注文後の商品に関するご質問</a></li>
  107.                     <li><a href="{{ url('faq_index') }}#receipt">領収書を発行して欲しい</a></li>
  108.                     <li><a href="{{ url('faq_index') }}#estimate">まとめて見積依頼をしたい</a></li>
  109.                 </ul>
  110.             </div>
  111.         </div>
  112.     <div class="ec-contactRole">
  113.         <div class="ec-pageHeader">
  114.             <h1>{{ 'お問い合わせ'|trans }}</h1>
  115.         </div>
  116.         
  117.         <div class="ec-off1Grid">
  118.             <div class="ec-off1Grid__cell">
  119.                 <form method="post" action="{{ url('contact') }}" class="h-adr" novalidate>
  120.                     <span class="p-country-name" style="display:none;">Japan</span>
  121.                     {{ form_widget(form._token) }}
  122.                     <p class="ec-para-normal">{{ '内容によっては回答をさしあげるのにお時間をいただくこともございます。
  123.                     また、休業日は翌営業日以降の対応となりますのでご了承ください。
  124.                     '|trans|nl2br }}
  125.                     </p>
  126.                     <div class="ec-borderedDefs">
  127.                         <dl>
  128.                             <dt>
  129.                                 {{ form_label(form.company_name, '会社名', { 'label_attr': { 'class': 'ec-label' }}) }}
  130.                             </dt>
  131.                             <dd>
  132.                                 <div class="ec-halfInput{{ has_errors(form.company_name) ? ' error’'}}">
  133.                                 {{ form_widget(form.company_name, {'attr': { 'placeholder': '会社名' }}) }}
  134.                                 {{ form_errors(form.company_name) }}
  135.                                 </div>
  136.                             </dd>
  137.                         </dl>
  138.                         <dl>
  139.                             <dt>
  140.                                 {{ form_label(form.name, 'お名前', { 'label_attr': { 'class': 'ec-label' }}) }}
  141.                             </dt>
  142.                             <dd>
  143.                                 <div class="ec-halfInput{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
  144.                                     {{ form_widget(form.name.name01, {'attr': { 'placeholder': '姓' }}) }}
  145.                                     {{ form_widget(form.name.name02, {'attr': { 'placeholder': '名' }}) }}
  146.                                     {{ form_errors(form.name.name01) }}
  147.                                     {{ form_errors(form.name.name02) }}
  148.                                 </div>
  149.                             </dd>
  150.                         </dl>
  151.                         <dl>
  152.                             <dt>
  153.                                 {{ form_label(form.kana, 'お名前(カナ)', {'label_attr': {'class': 'ec-label'}}) }}
  154.                             </dt>
  155.                             <dd>
  156.                                 <div class="ec-halfInput{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error' }}">
  157.                                     {{ form_widget(form.kana.kana01, {'attr': { 'placeholder': 'セイ' }}) }}
  158.                                     {{ form_widget(form.kana.kana02, {'attr': { 'placeholder': 'メイ' }}) }}
  159.                                     {{ form_errors(form.kana.kana01) }}
  160.                                     {{ form_errors(form.kana.kana02) }}
  161.                                 </div>
  162.                             </dd>
  163.                         </dl>
  164.                         <dl>
  165.                             <dt>
  166.                                 {{ form_label(form.address, '住所', { 'label_attr': { 'class': 'ec-label' }}) }}
  167.                             </dt>
  168.                             <dd>
  169.                                 <div class="ec-zipInput{{ has_errors(form.postal_code) ? ' error' }}">
  170.                                     <span>{{ '〒'|trans }}</span>
  171.                                     {{ form_widget(form.postal_code) }}
  172.                                     <div class="ec-zipInputHelp">
  173.                                         <div class="ec-zipInputHelp__icon">
  174.                                             <div class="ec-icon"><img
  175.                                                     src="{{ asset('assets/icon/question-white.svg') }}" alt="">
  176.                                             </div>
  177.                                         </div><a href="https://www.post.japanpost.jp/zipcode/" target="_blank"><span>{{ '郵便番号検索'|trans }}</span></a>
  178.                                     </div>
  179.                                     {{ form_errors(form.postal_code) }}
  180.                                 </div>
  181.                                 <div class="ec-select{{ has_errors(form.address.pref) ? ' error' }}">
  182.                                     {{ form_widget(form.address.pref) }}
  183.                                     {{ form_errors(form.address.pref) }}
  184.                                 </div>
  185.                                 <div class="ec-input{{ has_errors(form.address.addr01) ? ' error' }}">
  186.                                     {{ form_widget(form.address.addr01, { 'attr': { 'placeholder': '市区町村名(例:大阪市北区)' }}) }}
  187.                                     {{ form_errors(form.address.addr01) }}
  188.                                 </div>
  189.                                 <div class="ec-input{{ has_errors(form.address.addr02) ? ' error' }}">
  190.                                     {{ form_widget(form.address.addr02,  { 'attr': { 'placeholder': '番地・ビル名(例:西梅田1丁目6-8)' }}) }}
  191.                                     {{ form_errors(form.address.addr02) }}
  192.                                 </div>
  193.                             </dd>
  194.                         </dl>
  195.                         <dl>
  196.                             <dt>
  197.                                 {{ form_label(form.phone_number, '電話番号', { 'label_attr': { 'class': 'ec-label' }}) }}
  198.                             </dt>
  199.                             <dd>
  200.                                 <div class="ec-telInput{{ has_errors(form.phone_number) ? ' error' }}">
  201.                                     {{ form_widget(form.phone_number) }}
  202.                                     {{ form_errors(form.phone_number) }}
  203.                                 </div>
  204.                             </dd>
  205.                         </dl>
  206.                         <dl>
  207.                             <dt>
  208.                                 {{ form_label(form.email, 'メールアドレス', { 'label_attr': { 'class': 'ec-label' }}) }}
  209.                             </dt>
  210.                             <dd>
  211.                                 <div class="ec-input{{ has_errors(form.email) ? ' error' }}">
  212.                                     {{ form_widget(form.email) }}
  213.                                     {{ form_errors(form.email) }}
  214.                                 </div>
  215.                             </dd>
  216.                         </dl>
  217.                         <dl>
  218.                             <dt>
  219.                                 {{ form_label(form.contact_type, 'お問い合わせの種類', { 'label_attr': { 'class': 'ec-label' }}) }}
  220.                             </dt>
  221.                             <dd>
  222.                                 <div class="ec-checkbox{{ has_errors(form.contact_type) ? ' error' }}">
  223.                                     {{ form_widget(form.contact_type) }}
  224.                                     {{ form_errors(form.contact_type) }}
  225.                                 </div>
  226.                             </dd>
  227.                         </dl>
  228.                         <dl>
  229.                             <dt>
  230.                                 {{ form_label(form.contents, 'お問い合わせ内容', { 'label_attr': { 'class': 'ec-label' }}) }}
  231.                             </dt>
  232.                             <dd>
  233.                                 <div class="ec-input{{ has_errors(form.contents) ? ' error' }}">
  234.                                     {{ form_widget(form.contents) }}
  235.                                     {{ form_errors(form.contents) }}
  236.                                 </div>
  237.                                 <p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>
  238.                             </dd>
  239.                         </dl>
  240.                         {# エンティティ拡張の自動出力 #}
  241.                         {% for f in form|filter(f => f.vars.eccube_form_options.auto_render) %}
  242.                             {% if f.vars.eccube_form_options.form_theme %}
  243.                                 {% form_theme f f.vars.eccube_form_options.form_theme %}
  244.                                 {{ form_row(f) }}
  245.                             {% else %}
  246.                                 <dl>
  247.                                     <dt>
  248.                                         {% set label_class =  f.vars.label_attr.class is defined ? f.vars.label_attr.class : '' %}
  249.                                         {{ form_label(f, f.vars.label, { 'label_attr': {'class': label_class ~ ' ec-label' }}) }}
  250.                                     </dt>
  251.                                     <dd>
  252.                                         <div class="{{ f.vars.eccube_form_options.style_class }}{{ has_errors(f) ? ' error' }}">
  253.                                             {{ form_widget(f) }}
  254.                                             {{ form_errors(f) }}
  255.                                         </div>
  256.                                     </dd>
  257.                                 </dl>
  258.                             {% endif %}
  259.                         {% endfor %}
  260.                     </div>
  261.                     <div class="ec-RegisterRole__actions">
  262.                         <div class="ec-off4Grid">
  263.                             <div class="ec-off4Grid__cell">
  264.                                 <button type="submit" class="ec-blockBtn--action" name="mode" value="confirm">{{ '確認ページへ'|trans }}
  265.                                 </button>
  266.                             </div>
  267.                         </div>
  268.                     </div>
  269.                 </form>
  270.             </div>
  271.         </div>
  272.     </div>
  273. {% endblock %}