質問 > フロント機能 > 会員登録の必須項目「カナ」を削除すると次の画面に遷移しない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
myan |
投稿日時: 2018/4/22 20:46
対応状況: −−−
|
新米 登録日: 2018/3/30 居住地: 投稿: 10 |
会員登録の必須項目「カナ」を削除すると次の画面に遷移しない 会員登録画面の「カナ」を削除したいのですが、削除すると表示上は削除されておりますが、「同意する」ボタンをクリックしても画面遷移しなくなります。
実施した手順は次の通りです。 ①「カナ」を必須項目ではないに変更 変更対象ファイル:C:\xampp\htdocs\src\Eccube\Form\Type\Front\EntryType.php 【変更前】 ->add('kana', 'kana', array( 'required' => true, )) 【変更後】 ->add('kana', 'kana', array( 'required' => false, 'attr'=>array('style'=>'display:none;'), )) ここまで実施した場合は想定通り、「カナ」入力は必須項目ではなくなり、「同意する」のボタンも押下でき問題ありませんでした。 ②画面から「カナ」の項目を削除する 変更対象ファイル:C:\xampp\htdocs\src\Eccube\Resource\template\default\Entry\index.twig 【変更前】 <dl id="top_box__kana"> <dt>{{ form_label(form.kana) }}</dt> <dd class="form-group input_name"> {{ form_widget(form.kana.kana01) }} {{ form_widget(form.kana.kana02) }} {{ form_errors(form.kana.kana01) }} {{ form_errors(form.kana.kana02) }} </dd> </dl> 【変更後】{# #}にてカナの部分をコメントアウトしました。 {# <dl id="top_box__kana"> <dt>{{ form_label(form.kana) }}</dt> <dd class="form-group input_name"> {{ form_widget(form.kana.kana01) }} {{ form_widget(form.kana.kana02) }} {{ form_errors(form.kana.kana01) }} {{ form_errors(form.kana.kana02) }} </dd> </dl> #} 上記②を実施すると、「合意する」のボタンが押下できなくなりました。「会社名」を②の手順で削除した際は、問題なく「合意する」のボタンを押下することができます。 Apacheのログは何も表示されておりませんでしたので、index_dev.phpにてデバッグをした結果が次の通りです。 kana [kana] Errors Message:有効な値ではありません。 Origin: kana Cause: Symfony\Component\Validator\ConstraintViolation Object(Symfony\Component\Form\Form).children[kana] = Object(Eccube\Entity\Customer) Caused by: Symfony\Component\Form\Exception\TransformationFailedException Compound forms expect an array or NULL on submission. 環境は次の通りです。 [EC-CUBE] EC-CUBE3.0.15、新規インストール※xampp利用 [レンタルサーバ] AWS [ロードバランサ] ALB [SSL証明書] AWS Certificate Manager [OS] WindowsServer2012 R2 [PHP] 7.0.28 [データベース] MariaDB 10.1.31 [WEBサーバ] Apache 2.4.29 [ブラウザ] chrome バージョン: 65.0.3325.181 何度やり直してもうまくいきませんので、アドバイスいただきたく思っております。 |
matchbou |
投稿日時: 2018/4/23 11:47
対応状況: −−−
|
一人前 登録日: 2018/3/19 居住地: 投稿: 130 |
Re: 会員登録の必須項目「カナ」を削除すると次の画面に遷移しない hiddenにしてみてはいかかでしょうか?
といった感じです。会社名と違って、'attr'=>array('style'=>'display:none;'),を追加しても、カナの入力欄は消えないかと思います。カナの場合、kana01とkana02があるので、こちらをフォームで渡さないとエラーになるのではと思います。
|
h_tanaka |
投稿日時: 2018/4/23 17:14
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: 会員登録の必須項目「カナ」を削除すると次の画面に遷移しない FormType に定義されている項目を twig で表示していないと正常に動作しないことがあります。
twig 側でコメントアウトによる削除を行ったのでしたら、FormTypeでも display:none; で非表示にするのではなくコメントアウトによる削除を行ってみてください。 また、index.twig だけでなく confirm.twig も変更する必要があります。
|
myan |
投稿日時: 2018/4/23 21:27
対応状況: 解決済
|
新米 登録日: 2018/3/30 居住地: 投稿: 10 |
Re: 会員登録の必須項目「カナ」を削除すると次の画面に遷移しない matchbou様
こんばんは。 ご指摘の通り変更しましたら、問題なく進めました!! 大変丁寧にご回答いただきまして、感謝いたします。 |
myan |
投稿日時: 2018/4/23 21:29
対応状況: 解決済
|
新米 登録日: 2018/3/30 居住地: 投稿: 10 |
Re: 会員登録の必須項目「カナ」を削除すると次の画面に遷移しない h_tanaka様
こんばんは。 コメントアウトによる削除を行ったところ、システムエラーになってしまいましたが、別の方法で解決しましたのでお知らせします。 ご回答いただきまして、ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |