app/template/default/Entry/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 = 'registration_page' %}
  10. {% form_theme form 'Form/form_div_layout.twig' %}
  11. {% block stylesheet %}
  12.     <link rel="stylesheet" href="{{ asset('assets/css/contact.css') }}">
  13. {% endblock %}
  14. {% block javascript %}
  15.     <script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
  16. {% endblock javascript %}
  17. {% block main %}
  18.   <!-- breadcrumb section -->
  19.   <div class="breadcrumb-section">
  20.     <div class="container-1360 border-box px-40">
  21.       <nav class="breadcrumb">
  22.         <a href="{{ url('homepage') }}" class="breadcrumb__item text-black">ホーム</a>
  23.         <img src="{{ asset('assets/img/default/icons/icon-breadcrumb-arrow.svg') }}" alt=">" class="breadcrumb__separator">
  24.         <a href="{{ url('entry') }}" class="breadcrumb__item text-black">新規会員登録</a>
  25.       </nav>
  26.     </div>
  27.   </div>
  28.   <!-- entry section -->
  29.   <div class="container-1200">
  30.     <div class="contact-wrapper">
  31.       <!-- Entry Title Section -->
  32.       <div class="top-header-title-section">
  33.         <div class="top-header-icon-text">
  34.           <div class="top-header-icon-text">
  35.             <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
  36.               <g clip-path="url(#clip0_459_17914)">
  37.               <path d="M10 10C12.7614 10 15 7.76142 15 5C15 2.23858 12.7614 0 10 0C7.23858 0 5 2.23858 5 5C5 7.76142 7.23858 10 10 10Z" fill="#00A854"/>
  38.               <path d="M10 12C5.58172 12 2 13.7909 2 16V20H18V16C18 13.7909 14.4183 12 10 12Z" fill="#00A854"/>
  39.               </g>
  40.               <defs>
  41.               <clipPath id="clip0_459_17914">
  42.               <rect width="20" height="20" fill="white"/>
  43.               </clipPath>
  44.               </defs>
  45.             </svg>
  46.             <span class="top-header-text">新規会員登録</span>
  47.           </div>
  48.         </div>
  49.         <h1 class="top-header-title">SIGN UP</h1>
  50.       </div>
  51.       <!-- Entry Form -->
  52.       <div class="contact-form">
  53.         <form method="post" action="{{ url('entry') }}" novalidate class="contact-form-wrapper h-adr" id="entry-form">
  54.           <span class="p-country-name" style="display:none;">Japan</span>
  55.           {{ form_widget(form._token) }}
  56.           <!-- Name Field -->
  57.           <div class="form-field">
  58.             <div class="form-field-header">
  59.               <span class="form-label">{{ 'common.name'|trans }}</span>
  60.               <span class="required-badge">必須</span>
  61.             </div>
  62.             <div class="form-field-inputs">
  63.               <div class="form-input-wrapper{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
  64.                 {{ form_widget(form.name.name01, {'attr': {'class': 'form-input', 'placeholder': 'common.last_name'|trans}}) }}
  65.                 {{ form_errors(form.name.name01) }}
  66.               </div>
  67.               <div class="form-input-wrapper{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
  68.                 {{ form_widget(form.name.name02, {'attr': {'class': 'form-input', 'placeholder': 'common.first_name'|trans}}) }}
  69.                 {{ form_errors(form.name.name02) }}
  70.               </div>
  71.             </div>
  72.           </div>
  73.           <!-- Name (Kana) Field -->
  74.           <div class="form-field">
  75.             <div class="form-field-header">
  76.               <span class="form-label">{{ 'common.kana'|trans }}</span>
  77.               <span class="required-badge">必須</span>
  78.             </div>
  79.             <div class="form-field-inputs">
  80.               <div class="form-input-wrapper{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error' }}">
  81.                 {{ form_widget(form.kana.kana01, {'attr': {'class': 'form-input', 'placeholder': 'common.last_name_kana'|trans}}) }}
  82.                 {{ form_errors(form.kana.kana01) }}
  83.               </div>
  84.               <div class="form-input-wrapper{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error' }}">
  85.                 {{ form_widget(form.kana.kana02, {'attr': {'class': 'form-input', 'placeholder': 'common.first_name_kana'|trans}}) }}
  86.                 {{ form_errors(form.kana.kana02) }}
  87.               </div>
  88.             </div>
  89.           </div>
  90.           <!-- Company Name Field -->
  91.           {% if form.company_name is defined %}
  92.           <div class="form-field">
  93.             <div class="form-field-header">
  94.               <span class="form-label">{{ 'common.company_name'|trans }}</span>
  95.             </div>
  96.             <div class="form-field-inputs">
  97.               <div class="form-input-wrapper{{ has_errors(form.company_name) ? ' error' }}">
  98.                 {{ form_widget(form.company_name, {'attr': {'class': 'form-input'}}) }}
  99.                 {{ form_errors(form.company_name) }}
  100.               </div>
  101.             </div>
  102.           </div>
  103.           {% endif %}
  104.           <!-- Address Field -->
  105.           <div class="form-field">
  106.             <div class="form-field-header">
  107.               <span class="form-label">{{ 'common.address'|trans }}</span>
  108.               <span class="required-badge">必須</span>
  109.             </div>
  110.             <div class="form-field-address">
  111.               <!-- Postal Code -->
  112.               <div class="postal-code-section">
  113.                 <div class="flex items-center postal-code-wrap">
  114.                   <span class="postal-label">{{ 'common.postal_symbol'|trans }}</span>
  115.                   <div class="postal-input-wrapper{{ has_errors(form.postal_code) ? ' error' }}">
  116.                     {{ form_widget(form.postal_code, {'attr': {'class': 'postal-input p-postal-code', 'placeholder': '例:5300001'}}) }}
  117.                     {{ form_errors(form.postal_code) }}
  118.                   </div>
  119.                 </div>
  120.                 <a href="https://www.post.japanpost.jp/zipcode/" target="_blank" class="postal-search-btn">{{ 'common.search_postal_code'|trans }}</a>
  121.               </div>
  122.               <!-- Prefecture -->
  123.               <div class="prefecture-section">
  124.                 <div class="prefecture-select-wrapper{{ has_errors(form.address.pref) ? ' error' }}">
  125.                   {{ form_widget(form.address.pref, {'attr': {'class': 'prefecture-select p-region-id'}}) }}
  126.                   {{ form_errors(form.address.pref) }}
  127.                 </div>
  128.               </div>
  129.               <!-- City -->
  130.               <div class="form-input-full-wrapper{{ has_errors(form.address.addr01) ? ' error' }}">
  131.                 {{ form_widget(form.address.addr01, {'attr': {'class': 'form-input-full p-locality p-street-address', 'placeholder': 'common.address_sample_01'|trans}}) }}
  132.                 {{ form_errors(form.address.addr01) }}
  133.               </div>
  134.               <!-- Address -->
  135.               <div class="form-input-full-wrapper{{ has_errors(form.address.addr02) ? ' error' }}">
  136.                 {{ form_widget(form.address.addr02, {'attr': {'class': 'form-input-full p-extended-address', 'placeholder': 'common.address_sample_02'|trans}}) }}
  137.                 {{ form_errors(form.address.addr02) }}
  138.               </div>
  139.             </div>
  140.           </div>
  141.           <!-- Phone Field -->
  142.           <div class="form-field">
  143.             <div class="form-field-header">
  144.               <span class="form-label">{{ 'common.phone_number'|trans }}</span>
  145.               <span class="required-badge">必須</span>
  146.             </div>
  147.             <div class="form-field-inputs">
  148.               <div class="form-input-wrapper{{ has_errors(form.phone_number) ? ' error' }}">
  149.                 {{ form_widget(form.phone_number, {'attr': {'class': 'form-input', 'placeholder': '例:11122223333'}}) }}
  150.                 {{ form_errors(form.phone_number) }}
  151.               </div>
  152.             </div>
  153.           </div>
  154.           <!-- Email Field -->
  155.           <div class="form-field">
  156.             <div class="form-field-header">
  157.               <span class="form-label">{{ 'common.mail_address'|trans }}</span>
  158.               <span class="required-badge">必須</span>
  159.             </div>
  160.             <div class="form-field-inputs email-field-inputs">
  161.               <div class="form-input-wrapper{{ has_errors(form.email.first) ? ' error' }}">
  162.                 {{ form_widget(form.email.first, {'attr': {'class': 'form-input', 'placeholder': 'common.mail_address_sample'|trans}}) }}
  163.                 {{ form_errors(form.email.first) }}
  164.               </div>
  165.               <div class="form-input-wrapper{{ has_errors(form.email.second) ? ' error' }}">
  166.                 {{ form_widget(form.email.second, {'attr': {'class': 'form-input', 'placeholder': 'common.repeated_confirm'|trans}}) }}
  167.                 {{ form_errors(form.email.second) }}
  168.               </div>
  169.             </div>
  170.           </div>
  171.           <!-- Password Field -->
  172.           <div class="form-field">
  173.             <div class="form-field-header">
  174.               <span class="form-label">{{ 'common.password'|trans }}</span>
  175.               <span class="required-badge">必須</span>
  176.             </div>
  177.             <div class="form-field-inputs password-field-inputs">
  178.               <div class="form-input-wrapper{{ has_errors(form.plain_password.first) ? ' error' }}">
  179.                 {{ form_widget(form.plain_password.first, {
  180.                   'attr': {
  181.                     'class': 'form-input',
  182.                     'placeholder': 'common.password_sample'|trans({ '%min%': eccube_config.eccube_password_min_len, '%max%': eccube_config.eccube_password_max_len }),
  183.                   },
  184.                   'type': 'password'
  185.                 }) }}
  186.                 {{ form_errors(form.plain_password.first) }}
  187.               </div>
  188.               <div class="form-input-wrapper{{ has_errors(form.plain_password.second) ? ' error' }}">
  189.                 {{ form_widget(form.plain_password.second, {
  190.                   'attr': {
  191.                     'class': 'form-input',
  192.                     'placeholder': 'common.repeated_confirm'|trans,
  193.                   },
  194.                   'type': 'password'
  195.                 }) }}
  196.                 {{ form_errors(form.plain_password.second) }}
  197.               </div>
  198.             </div>
  199.           </div>
  200.           <!-- Birth Day Field -->
  201.           {% if form.birth is defined %}
  202.           <div class="form-field">
  203.             <div class="form-field-header">
  204.               <span class="form-label">{{ 'common.birth_day'|trans }}</span>
  205.             </div>
  206.             <div class="form-field-inputs">
  207.               <div class="birth-date-wrapper{{ has_errors(form.birth) ? ' error' }}">
  208.                 {{ form_widget(form.birth.year, {'attr': {'class': 'birth-select'}}) }}
  209.                 <span class="birth-separator">/</span>
  210.                 {{ form_widget(form.birth.month, {'attr': {'class': 'birth-select'}}) }}
  211.                 <span class="birth-separator">/</span>
  212.                 {{ form_widget(form.birth.day, {'attr': {'class': 'birth-select'}}) }}
  213.                 {{ form_errors(form.birth) }}
  214.               </div>
  215.             </div>
  216.           </div>
  217.           {% endif %}
  218.           <!-- Gender Field -->
  219.           {% if form.sex is defined %}
  220.           <div class="form-field">
  221.             <div class="form-field-header">
  222.               <span class="form-label">{{ 'common.gender'|trans }}</span>
  223.             </div>
  224.             <div class="form-field-inputs">
  225.               <div class="gender-radio-wrapper{{ has_errors(form.sex) ? ' error' }}">
  226.                 {{ form_widget(form.sex) }}
  227.                 {{ form_errors(form.sex) }}
  228.               </div>
  229.             </div>
  230.           </div>
  231.           {% endif %}
  232.           <!-- Job Field -->
  233.           {% if form.job is defined %}
  234.           <div class="form-field">
  235.             <div class="form-field-header">
  236.               <span class="form-label">{{ 'common.job'|trans }}</span>
  237.             </div>
  238.             <div class="form-field-inputs">
  239.               <div class="form-input-wrapper{{ has_errors(form.job) ? ' error' }}">
  240.                 <div class="prefecture-select-wrapper">
  241.                   {{ form_widget(form.job, {'attr': {'class': 'prefecture-select'}}) }}
  242.                   {{ form_errors(form.job) }}
  243.                 </div>
  244.               </div>
  245.             </div>
  246.           </div>
  247.           {% endif %}
  248.           {# エンティティ拡張の自動出力 #}
  249.           {% for f in form|filter(f => f.vars.eccube_form_options.auto_render) %}
  250.             {% if f.vars.eccube_form_options.form_theme %}
  251.               {% form_theme f f.vars.eccube_form_options.form_theme %}
  252.               <div class="form-field">
  253.                 <div class="form-field-header">
  254.                   {{ form_label(f) }}
  255.                 </div>
  256.                 <div class="form-field-inputs">
  257.                   {{ form_row(f) }}
  258.                 </div>
  259.               </div>
  260.             {% else %}
  261.               <div class="form-field">
  262.                 <div class="form-field-header">
  263.                   {{ form_label(f) }}
  264.                 </div>
  265.                 <div class="form-field-inputs">
  266.                   <div class="{{ f.vars.eccube_form_options.style_class }}{{ has_errors(f) ? ' error' }}">
  267.                     {{ form_widget(f, {'attr': {'class': 'form-input'}}) }}
  268.                     {{ form_errors(f) }}
  269.                   </div>
  270.                 </div>
  271.               </div>
  272.             {% endif %}
  273.           {% endfor %}
  274.             <!-- Terms Agreement -->
  275.             <div class="entry-terms-section">
  276.                 <div class="entry-terms-wrapper">
  277.                 <label class="entry-terms-label">
  278.                     {{ form_widget(form.user_policy_check) }}
  279.                     <span class="entry-terms-text">{{ 'front.entry.agree_with_terms'|trans({ '%url%': url('help_agreement') })|raw }}</span>
  280.                 </label>
  281.                 {{ form_errors(form.user_policy_check) }}
  282.                 </div>
  283.             </div>
  284.             <!-- Submit Buttons -->
  285.             <div class="submit-section">
  286.                 <div class="submit-buttons-wrapper">
  287.                 <button type="submit" class="submit-btn submit-btn-primary" form="entry-form" name="mode" value="confirm">{{ 'front.entry.agree'|trans }}</button>
  288.                 <a href="{{ url('homepage') }}" class="submit-btn submit-btn-secondary">{{ 'front.entry.disagree'|trans }}</a>
  289.                 </div>
  290.             </div>
  291.         </form>
  292.       </div>
  293.     </div>
  294.   </div>
  295. {% endblock %}