{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'registration_page' %}
{% form_theme form 'Form/form_div_layout.twig' %}
{% block javascript %}
<script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
{% endblock javascript %}
{% block stylesheet %}
<style>
{# MEMO: form_widgetのattrを使い、Tailwindのクラスでスタイリングすると
郵便番号のライブラリで不具合が起きた為、stylesheetを使ってスタイリングしている #}
#entry_address_pref{
width:252px;
padding:10px 16px;
border-radius: 0.375rem;
border: 2px solid #CCC;
@media (max-width: 768px) {
width:100%;
}
}
</style>
{% endblock %}
{% block main %}
<div class="mt-10 mb-[120px] px-4 md:mt-4 md:mb-10 animate-slideIn">
<div class="w-full max-w-[720px] mx-auto">
<h1 class="text-2xl font-extralight mb-6 md:mb-5 md:text-lg">会員登録フォーム</h1>
<div class="mb-8">
<p class="font-extralight">
登録に必要な情報を入力してください。
</p>
<p class="font-bold text-manakaRed">
※は必須項目です。
</p>
</div>
<div>
<form method="post" action="{{ url('entry') }}" novalidate class="h-adr">
<span class="p-country-name" style="display:none;">Japan</span>
{{ form_widget(form._token) }}
<div>
<dl class="w-full flex items-center md:items-start gap-8 md:gap-3 py-5 border-[#CCCCCC] border-t-2 md:flex-col">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
お名前
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px]">
<div class="flex items-center w-full gap-3 ec-halfInput{{ has_errors(form.name.name01, form.name.name02) ? ' error'}}">
{{ form_widget(form.name.name01, { 'attr': { 'placeholder': 'common.last_name' ,'class':'w-full p-2 border-[#CCCCCC] novalidate border-[1px] rounded-md md:max-w-none
{% if form_errors(form.name.name01) %}border-red bg-rose-50{% endif %}'}}) }}
{{ form_widget(form.name.name02, { 'attr': { 'placeholder': 'common.first_name','class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.name.name02) %}border-red bg-rose-50{% endif %}' }}) }}
</div>
<div class="flex flex-col gap-1 pt-2">
{% if form_errors(form.name.name01) %}
<div class="text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
姓:{{ form_errors(form.name.name01) }}</span>
</div>
{% endif %}
{% if form_errors(form.name.name02) %}
<div class="text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
名前:{{ form_errors(form.name.name02) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl class="flex items-center gap-8 md:gap-3 justify-between py-5 border-[#CCCCCC] border-t-2 md:flex-col md:items-start">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
お名前 (フリガナ)
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px]">
<div class="flex items-center gap-3 ec-halfInput{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error'}}">
{{ form_widget(form.kana.kana01, { 'attr': { 'placeholder': 'common.last_name_kana', 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.kana.kana01) %}border-red bg-rose-50{% endif %}' }}) }}
{{ form_widget(form.kana.kana02, { 'attr': { 'placeholder': 'common.first_name_kana', 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.kana.kana02) %}border-red bg-rose-50{% endif %}' }}) }}
</div>
<div class="flex flex-col gap-1 pt-2">
{% if form_errors(form.kana.kana01) %}
<div class="text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
姓(カタカナ):{{ form_errors(form.kana.kana01) }}
</span>
</div>
{% endif %}
{% if form_errors(form.kana.kana02) %}
<div class="text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
名(カタカナ):{{ form_errors(form.kana.kana02) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl class="flex gap-8 md:gap-3 justify-between py-5 border-[#CCCCCC] border-t-2 md:flex-col md:items-start">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
住所
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px] flex flex-col gap-4">
<div class="flex items-center gap-2 ec-zipInput{{ has_errors(form.postal_code) ? ' error' }}">
<span>{{ 'common.postal_symbol'|trans }}</span>
{{ form_widget(form.postal_code, { 'attr': { 'placeholder': '5300001','class':'p-postal-code w-full max-w-[176px] p-2 border-manakaBeige border-2 ml-2 rounded-md md:ml-0 md:max-w-none
{% if form_errors(form.postal_code) %}border-red bg-rose-50{% endif %}' }}) }}
{% if form_errors(form.postal_code) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
郵便番号:{{ form_errors(form.postal_code) }}
</span>
</div>
{% endif %}
</div>
<a href="https://www.post.japanpost.jp/zipcode/" target="_blank">
<span class="underline text-sm">郵便番号を検索する (外部サイトへ)</span>
</a>
<div class="ec-select{{ has_errors(form.address.pref) ? ' error' }}">
{{ form_widget(form.address.pref) }}
{% if form_errors(form.address.pref) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
都道府県:{{ form_errors(form.address.pref) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.address.addr01) ? ' error' }}">
{{ form_widget(form.address.addr01, { 'attr': { 'placeholder': '市区町村名','class':'p-locality w-full max-w-[482px] p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.address.addr01) %}border-red bg-rose-50{% endif %}' }}) }}
{% if form_errors(form.address.addr01) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
市区町村名:{{ form_errors(form.address.addr01) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.address.addr02) ? ' error' }}">
{{ form_widget(form.address.addr02, { 'attr': { 'placeholder': '番地・ビル名(例: 1-3-5 まなかマンション908)','class':'p-street-address w-full max-w-[482px] p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.address.addr02) %}border-red bg-rose-50{% endif %}' }}) }}
{% if form_errors(form.address.addr02) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
番地・ビル名:{{ form_errors(form.address.addr02) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl class="flex gap-8 md:gap-3 justify-between py-5 border-[#CCCCCC] border-t-2 md:flex-col md:items-start">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
電話番号
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px]">
<div class="ec-telInput{{ has_errors(form.phone_number) ? ' error' }}">
{{ form_widget(form.phone_number, { 'attr': { 'placeholder': '例: 11122223333', 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.phone_number) %}border-red bg-rose-50{% endif %}' }}) }}
</div>
{% if form_errors(form.phone_number) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
電話番号:{{ form_errors(form.phone_number) }}
</span>
</div>
{% endif %}
</dd>
</dl>
<dl class="gap-8 md:gap-3 flex justify-between py-5 border-[#CCCCCC] border-t-2 md:flex-col md:items-start">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
メールアドレス
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px] flex flex-col gap-4">
<div class="ec-input{{ has_errors(form.email.first) ? ' error' }}">
{{ form_widget(form.email.first, { 'attr': { 'placeholder': 'common.mail_address_sample', 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.email.first) %}border-red bg-rose-50{% endif %}' }}) }}
{% if form_errors(form.email.first) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
メールアドレス:{{ form_errors(form.email.first) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.email.second) ? ' error' }}">
{{ form_widget(form.email.second, { 'attr': { 'placeholder': 'common.repeated_confirm', 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.email.second) %}border-red bg-rose-50{% endif %}' }}) }}
{% if form_errors(form.email.second) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
メールアドレス(確認):{{ form_errors(form.email.second) }}
</span>
</div>
{% endif %}
</div>
<p class="text-sm font-extralight text-[#999]">※ 『@manaka-net.com』からのメールを受信できる設定になっていることをご確認下さい。</p>
</dd>
</dl>
<dl class="gap-8 md:gap-3 flex justify-between py-5 border-[#CCCCCC] border-t-2 md:flex-col md:items-start">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
パスワード
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px] flex flex-col gap-4">
<div class="ec-input{{ has_errors(form.plain_password.first) ? ' error' }}">
{{ form_widget(form.plain_password.first, {
'attr': { 'placeholder': 'common.password_sample'|trans({ '%min%': eccube_config.eccube_password_min_len, '%max%': eccube_config.eccube_password_max_len }),
'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.plain_password.first) %}border-red bg-rose-50{% endif %}' },
'type': 'password',
}) }}
{% if form_errors(form.plain_password.first) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
パスワード:{{ form_errors(form.plain_password.first) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.plain_password.second) ? ' error' }}">
{{ form_widget(form.plain_password.second, {
'attr': { 'placeholder': 'common.repeated_confirm'|trans , 'class':'w-full p-2 border-[#CCCCCC] border-[1px] rounded-md md:max-w-none
{% if form_errors(form.plain_password.second) %}border-red bg-rose-50{% endif %}'},
'type': 'password',
}) }}
{% if form_errors(form.plain_password.second) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
パスワード(確認):{{ form_errors(form.plain_password.second) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl class="flex gap-8 justify-between py-5 border-[#CCCCCC] border-y-2 md:flex-col md:items-start md:gap-3">
<dt class="font-bold md:text-sm w-full max-w-[227px] md:w-fit">
<span>●</span>
まなかからのメールやDMのご送付について
<span class="text-[#BE5255]">※</span>
</dt>
<dd class="w-full max-w-[482px] flex flex-col gap-4">
<div>
<input type="radio" id="entry_mailImage_flg_0" name="{{ field_name(form.mailmaga_flg) }}" value="1" required class="form-control"/>
<label for="entry_mailImage_flg_0">
受け取る
</label>
</div>
<div>
<input type="radio" id="entry_mailImage_flg_1" name="{{ field_name(form.mailmaga_flg) }}" value="0" required class="form-control"/>
<label for="entry_mailImage_flg_1">
受け取らない
</label>
</div>
{% if form_errors(form.mailmaga_flg) %}
<div class="text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex text-manakaRed">
まなかからのメールやDMのご送付について :{{ form_errors(form.mailmaga_flg) }}
</span>
</div>
{% endif %}
</dd>
</dl>
</div>
<div class="flex flex-col gap-6 mt-10 sm:w-full">
<p class="text-center font-extralight">
<a href="{{url('help_agreement')}}" class="underline">会員規約</a>
に同意の上、
</p>
<button class="block w-full max-w-[300px] py-4 font-extralight mx-auto bg-manakaBlack text-white text-lg md:text-bas" type="submit" name="mode" value="confirm">登録に進む</button>
</div>
{{ form_widget(form.user_policy_check, {'attr': { 'checked' :true, 'hidden' : true }}) }}
{{ form_errors(form.user_policy_check) }}
</form>
</div>
</div>
</div>
{% set breadcrumbs = [{'name': '会員登録(入力ページ)'}] %}
{% include('Block/breadcrumbs.twig') %}
{% endblock %}