> プラグイン > 新規会員登録フォームへプラグインで項目を追加 |
プラグイン
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
topo |
投稿日時: 2017/1/6 1:10
対応状況: −−−
|
常連 登録日: 2008/6/11 居住地: 岡山 投稿: 64 |
新規会員登録フォームへプラグインで項目を追加 ECcube3.0.12にて、新規会員登録に項目をプラグインで追加する場合の手順についてヒント頂けないでしょうか?
---------- ■やりたい事 新規会員登録に項目を追加。 確認画面にも表示され、データを登録したい。 ---------- ■懸念点 以下、類似の質問があがっていたのですがそもそもプラグインでやらずとも以下のような手順を踏んでも良い物でしょうか? まだ触り始めたばかりで感覚がつかめませんが今後のバージョンアップなどで影響が出たりしないかがちょっと心配でした。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=18387&forum=5 ---------- ■やってみた事 1)追加したプラグインの「event.yml」にて以下のような定義を作り対応しようと思っています front.entry.index.initialize: - [onFrontEntryIndexInit, NORMAL] # ここで入力欄を追加 Entry/confirm.twig: - [onRenderEntryConfirm, NORMAL] # 確認画面に入力された値を出す front.entry.index.complete: - [onFrontEntryIndexComplete, NORMAL] # 完了処理にて追加項目のデータも登録 「/src/eccube/resource/template/default/entry/」の中にある「index.twig」を見ると {% if f.vars.name matches '[^plg*]' %} のようなロジックがかかれてありプラグインから出力できそうに見えたのですが 「confirm.twig」には存在しないようなので自分でロジックで書く必要がある?と思っています。 ---------- 2)「onFrontEntryIndexInit」にて以下のように記述して入力欄は出るようになりました ただ確認画面に行って戻ってきた時に値が保持されず「?」が飛んでいます・・・ 「初期値を設定」のあたりがイマイチわかってないような気がしています。 「src/eccube/controller/entrycontroller.php」の「request」に入力値が入っている? // 項目の追加 $builder->add( self::ADD_TEXT_NAME, 'text', array( 'required' => false, 'label' => '追加項目', 'mapped' => false, 'attr' => array( 'placeholder' => '追加項目を入力してください', ), ) ); // 初期値を設定 $builder->get(self::ADD_TEXT_NAME)->setData( 【ここで入力値をセット?】 ); ---------- 3)確認画面に行こうとすると入力画面に戻ってきてしまう 「src/eccube/controller/entrycontroller.php」の以下のロジックでNGになり 確認画面へ進む処理がうまくいっていない? if ($form->isSubmitted() && $form->isValid()) { ---------- 上記のような内容でヒントを頂ければ幸いです。 「懸念点」のようなやり方をしても別に構わない、などもあればご教授頂ければと思います。 よろしくお願い致しますm(_ _)m |
468 |
投稿日時: 2017/1/6 9:44
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 新規会員登録フォームへプラグインで項目を追加 2)の確認画面から入力画面に戻る際ですが、
リクエストのPOSTに追加された項目の値はセットされていますか? セットされていれば、EntryController.php.index()の
この辺の処理でformに値がセットされて入力値が保持されると思います。 POSTに値がセットされていないようであれば、config.twigの記述に何か足りないところがあるのではないかと思います。 3)はまず、$form->isSubmitted()と$form->isValid()のどちらがfalseなのか調べていく必要があるように思います。
|
topo |
投稿日時: 2017/1/12 10:15
対応状況: −−−
|
常連 登録日: 2008/6/11 居住地: 岡山 投稿: 64 |
Re: 新規会員登録フォームへプラグインで項目を追加 とりあえず頂いたヒントから解決できました。ありがとうございました。
1)入力画面に項目追加
2)確認画面に項目追加
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |