質問 > フロント機能 > 新規会員登録の項目追加について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kiki_mtk |
投稿日時: 2020/10/13 22:52
対応状況: −−−
|
新米 登録日: 2020/10/13 居住地: 投稿: 5 |
新規会員登録の項目追加について [レンタルサーバ] xserver
[OS] Windows10 64bit [PHP] 7.3.16 [データベース] MySQL5.7 [WEBサーバ] 使用しているWEBサーバ名、バージョン [ブラウザ] 使用しているブラウザ名、バージョン [導入プラグインの有無] 会員ランクプラグイン 上記プラグインで「dtb_customer」テーブルに追加された、「customer_rank_id」カラムに値を、 新規会員登録フォームからセレクトボックスを使用して入力したいのですが、 ※セレクトボックスで「Gold」を選択→「customer_rank_id」に「1」が格納のように 本来の使用方法は購入額等に応じて管理画面からランクの設定をできるプラグインであり、ユーザー側でランクを選択できるものではない。 \app\Customize\Form\Extension\CustomerRankExtension.phpを作成し以下のコードを作成
上記のコードでセレクトボックスは追加され、valueに値も入っているのですが
のエラーが登録フォーム画面から内容確認画面に遷移したところ発生。 内容の通りInteger型の引数が必要となるのですが、「customer_rank_id」カラムのsetter/getterの管理をしているのが app\Plugin\CustomerRank\Entity\CustomerTrait.phpの
のため、setCustomerRank()の引数等を変更してしまうと、通常のプラグインの動作に影響が出てしまうと考えます。 そこで試しに、\app\Customize\Form\Extension\CustomerRankExtension.phpで拡張している、 EntryType.phpが参照している、\app\proxy\entity\src\Eccube\Entity\Customer.phpの中に
のgetter/setterを配置したところ、確認画面に遷移が成功しました。 ところが、次の確認画面から登録ボタンを押したところ、以下のエラーが発生
内容を確認する限り、app\Customize\Controller\EntryController.php内の
の処理中にエラーが発生したものだと思うのですが、こちらも取得した引数の型が「\Plugin\CustomerRank\Entity\CustomerRank」でなければならないのに対し「integer」で取得されているのが原因だと考えます。 あくまで仮設の範疇ですが、 入力フォーム → 内容確認画面 では\app\proxy\entity\src\Eccube\Entity\Customer.php内のsetCustomerRank($customerRank)が呼び出され、 内容確認画面 → 完了画面 ではapp\Plugin\CustomerRank\Entity\CustomerTrait.php内のsetCustomerRank(\Plugin\CustomerRank\Entity\CustomerRank $customerRank = null)が呼び出されているということでしょうか? 改善内容としては、 ①setCustomerRank(\Plugin\CustomerRank\Entity\CustomerRank $customerRank = null)の型をinteger型に変える ②現在integer型で取得しているデータを\Plugin\CustomerRank\Entity\CustomerRankのクラスに変える の2つだと考えていますが、方法がわかりません。 どなたかご助力お願いいたします。 |
umebius |
投稿日時: 2020/10/14 0:34
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 新規会員登録の項目追加について ChoiceTypeではなく、EntityTypeを使われると、integerではなくオブジェクト(\Plugin\CustomerRank\Entity\CustomerRank)を直接取得可能です。
EntityTypeの使い方はEC-CUBE内で使用されているので参考にしてみてください。 Symfonyのドキュメントにもあります https://symfony.com/doc/3.4/reference/forms/types/entity.html
|
kiki_mtk |
投稿日時: 2020/10/15 20:42
対応状況: 解決済
|
新米 登録日: 2020/10/13 居住地: 投稿: 5 |
Re: 新規会員登録の項目追加について お世話になります。
本件、上記のアドバイスを下に修正を加えたところ無事に解決しました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |