バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 非会員購入 nomember チェックボックス ポリシー

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
erukun
投稿日時: 2022/4/19 18:04
対応状況: 解決済
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
非会員購入 nomember チェックボックス ポリシー
[EC-CUBE] EC-CUBE 4.0.6-p1 正式版(公式DL版)
[レンタルサーバ] GMO Conohawingサーバ
[OS] Linux web0168.sh.tyo1 3.10.0-962.3.2.lve1.5.39.el7.x86_64 #1 SMP Thu Sep 17 06:10:33 EDT 2020 x86_64
[PHP] PHP 7.4.25
[データベース] MySQL 5.7.27-log
[WEBサーバ] Apache + nginx (バージョン確認方法が分かりません)
[ブラウザ] 有名どころ全て
[導入プラグインの有無] 有り

Amazon Payプラグイン(V2対応版) 1.1.0 AmazonPayV2 状態: 有効

クール便・冷凍便対応プラグイン 1.0.4 DeliveryCool4 状態: 有効

メールマガジンプラグイン 4.0.2 MailMagazine4 状態: 有効

お問い合わせ管理 for EC-CUBE4 1.0.5 ContactManagement4 状態: 有効

Coupon Plugin for EC-CUBE4 4.0.7 Coupon4 状態: 有効

Paidyプラグイン 1.0.5 Paidy4 状態: 有効

Securitychecker4 4.0.0 Securitychecker4 状態: 有効

商品レビュー管理プラグイン 4.0.2

売上集計プラグイン 4.0.1 状態: 有効

クロネコヤマト カード・後払い一体型決済サービス 1.2.1
YamatoPayment4  状態: 有効

EC-CUBE Ranking Plugin 1.0.1 Ranking 状態: 有効



実現したいことは、非会員購入ページにチェックボックスを追加することです。


非会員購入ページ
app/template/default/Shopping/nonmember.twig

について、
会員登録(入力ページ)
app/template/default/Entry/index.twig

のようなポリシーのチェックボックスを表示させたいと考えています。


そこで NonMemberType.phpを EntryType.php のようにチェックボックスに必要な箇所を付け加えて、

ec-root\src\Eccube\Form\Type\Front\NonMemberType.php
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;


$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
                $Customer = $event->getData();
                if ($Customer instanceof Customer && !$Customer->getId()) {
                    $form = $event->getForm();
    
                    $form->add('user_policy_check', CheckboxType::class, [
                            'required' => true,
                            'label' => null,
                            'mapped' => false,
                            'constraints' => [
                                new Assert\NotBlank(),
                            ],
                        ]);
                }
            }
            );



非会員購入ページ
app/template/default/Shopping/nonmember.twig




<div class="ec-RegisterRole__actions">
                
                <div class="ec-off4Grid">
                        
                    <div class="ec-off4Grid__cell">
                       
<div class="ec-checkbox{{ has_errors(form.user_policy_check) ? ' error' }}">
                                    <label>
                                        {{ form_widget(form.user_policy_check) }}
                                        {{ '<a class="ec-link" href="%url%" target="_blank">利用規約</a>'|trans({ '%url%': url('help_agreement') })|raw }}
                                        {{ '並びに<a class="ec-link" href="%url%" target="_blank">プライバシーポリシー</a>に同意してお進みください'|trans({ '%url%': url('help_privacy') })|raw }}
                                    </label>
                                    {{ form_errors(form.user_policy_check) }}
                                </div>
                         
                        <button type="submit" class="ec-blockBtn--action">{{ '次へ'|trans }}</button>
                        <a class="ec-blockBtn--cancel" href="{{ url('cart') }}">{{ '戻る'|trans }}</a>
                    </div>
                </div>
                
                
            </div>




上記のようなコードをテンプレに追加しました。
エラー内容はこんなです。
An exception has been thrown during the rendering of a template (\"\").","ec-root/app/template/default/Shopping/nonmember.twig",163



設定の前提に誤りがあるのだと思います。初学者の為大変失礼します。
お忙しいところ恐縮ですがエラー解消の為の何かしらヒントをいただけますと幸いです。どうぞよろしくお願いいたします。
erukun
投稿日時: 2022/4/29 20:30
対応状況: 解決済
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
Re: 非会員購入 nomember チェックボックス ポリシー
自己解決しました。




$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
               //$Customer = $event->getData();
                //if ($Customer instanceof Customer && !$Customer->getId()) {
                    $form = $event->getForm();
    
                    $form->add('user_policy_check', CheckboxType::class, [
                            'required' => true,
                            'label' => null,
                            'mapped' => false,
                            'constraints' => [
                                new Assert\NotBlank(),
                            ],
                        ]);
                //}
            }
 );




非会員なのでCustomer情報は不要でした。。。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2318
5
umebius
2085
6
yuh
1857
7
h_tanaka
1756
8
red
1574
9
mcontact
1466
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.