バージョン選択

フォーラム

メニュー

オンライン状況

63 人のユーザが現在オンラインです。 (54 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 62
Dianabar もっと...

サイト内検索

質問 > フロント機能 > 非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Rights
投稿日時: 2024/6/28 14:11
対応状況: 解決済
一人前
登録日: 2019/3/12
居住地:
投稿: 114
非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加
▼テンプレート
[EC-CUBE]4.2

非会員購入で、生年月日を必須にして注文画面へ
注文者情報に生年月日の表示と変更を行いたいのですが、

非会員情報の入力フォームから、注文画面に入力した生年月日の値が渡らない(取得できていない)のですが、


app/template/default/Shopping/nonmember.twig

{# ▼追記部分の抜粋▼ #}
<dl>
<dt>
{{ form_label(form.birth, '生年月日', { 'label_attr': {'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-birth{{ has_errors(form.birth) ? ' error' }}">
{{ form_widget(form.birth.year) }}<span>/</span>
{{ form_widget(form.birth.month) }}<span>/</span>
{{ form_widget(form.birth.day) }}
{{ form_errors(form.birth) }}
</div>
</dd>
</dl>
{# ▲追記部分の抜粋▲ #}

app/template/default/Shopping/index.twig

<div class="ec-orderAccount__account non-customer-display">
<p class="ec-halfInput">{{ ''|trans }}<span class="customer-edit customer-name01">{{ Order.name01 }}</span> <span class="customer-edit customer-name02">{{ Order.name02 }}</span>{{ ' 様'|trans }}</p>
<p class="ec-halfInput"><span class="customer-edit customer-kana01">{{ Order.kana01 }}</span> <span class="customer-edit customer-kana02">{{ Order.kana02 }}</span></p>
<p class="ec-input"><span class="customer-edit customer-company_name">{{ Order.companyName }}</span></p>
<p class="ec-zipInput">〒<span class="customer-edit customer-postal_code">{{ Order.postal_code }}</span></p>
<p class="ec-input"><span class="customer-edit customer-pref">{{ Order.pref }}</span><span class="customer-edit customer-addr01">{{ Order.addr01 }}</span><span class="customer-edit customer-addr02">{{ Order.addr02 }}</span></p>
<p class="ec-telInput"><span class="customer-edit customer-phone_number">{{ Order.phone_number }}</span></p>
<p class="ec-input"><span class="customer-edit customer-email">{{ Order.email }}</span></p>
{# ▼追記部分▼ #}
<p class="ec-birth"><span class="customer-edit customer-birth">{{ Order.birth }}</span></p>
{# ▲追記部分▲ #}
</div>



<dl>
<dt>
<label class="ec-label required">{{ 'メールアドレス'|trans }}</label>
<span class="ec-required">{{ '必須'|trans }}</span>
</dt>
<dd>
<div class="ec-input">
<span class="customer-form customer-email"></span>
</div>
</dd>
</dl>
<dl>
<dt>
<label class="ec-label required">{{ '生年月日'|trans }}</label>
<span class="ec-required">{{ '必須'|trans }}</span>
</dt>
<dd>
<div class="ec-birth">
<span class="customer-form customer-birth"></span>
</div>
</dd>
</dl>
</div>
<div class="mod-button" style="display:none;">
<span id="customer-ok"><button type="button" class="ec-inlineBtn">{{ 'OK'|trans }}</button></span>
<span id="customer-cancel"><button type="button" class="ec-inlineBtn">{{ 'キャンセル'|trans }}</button></span>
</div>
<input type="hidden" id="customer-name01" class="customer-in" name="customer_name01" value="{{ Order.name01 }}">
<input type="hidden" id="customer-name02" class="customer-in" name="customer_name02" value="{{ Order.name02 }}">
<input type="hidden" id="customer-kana01" class="customer-in" name="customer_kana01" value="{{ Order.kana01 }}">
<input type="hidden" id="customer-kana02" class="customer-in" name="customer_kana02" value="{{ Order.kana02 }}">
<input type="hidden" id="customer-company-name" class="customer-in" name="customer_company_name" value="{{ Order.companyName }}">
<input type="hidden" id="customer-postal_code" class="customer-in" name="customer_postal_code" value="{{ Order.postal_code }}">
<input type="hidden" id="customer-pref" class="customer-in" name="customer_pref" value="{{ Order.pref }}">
<input type="hidden" id="customer-addr01" class="customer-in" name="customer_addr01" value="{{ Order.addr01 }}">
<input type="hidden" id="customer-addr02" class="customer-in" name="customer_addr02" value="{{ Order.addr02 }}">
<input type="hidden" id="customer-phone_number" class="customer-in" name="customer_phone_number" value="{{ Order.phone_number }}">
<input type="hidden" id="customer-email" class="customer-in" name="customer_email" value="{{ Order.email }}">
{# ▼追記部分▼ #}
<input type="hidden" id="customer-birth" class="customer-in" name="customer_birth" value="{{ Order.birth }}">
{# ▲追記部分▲ #}

/Customize/Service/OrderHelper.php
function getNonMember 298行目の$Customerに、->setBirth($data['birth']);追加

/Customize/Controller/NonMemberShoppingController.php
use OrderHelper.phpのパスを変更

function customerValidation に、以下を追加
$errors[] = $this->validator->validate(
$data['customer_birth'],
[
new Assert\NotBlank(),
new Assert\Date(['message' => 'form_error.numeric_only']),
]
);

/Customize/Controller/ShoppingController.php
use OrderHelper.phpのパスを変更



nonmember.twigでは、form_widgetを使っていますが、注文画面側では構造が違うようで、日付の分割処理(セレクトボックスで年月日に分ける場合)も別途作成が必要でしょうか?

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加 Rights 2024/6/28 14:11
     Re: 非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加 mcontact 2024/6/29 10:10
     Re: 非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加 Rights 2024/7/2 12:32
     Re: 非会員登録から注文入力画面へ遷移した後の注文者編集で生年月日を追加 Rights 2024/7/5 15:25

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は93,402名です
総投稿数は111,046件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2315
5
umebius
2085
6
yuh
1849
7
h_tanaka
1756
8
red
1574
9
mcontact
1465
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.