> プラグイン > フックポイントを使って出来ることについて教えて下さい。 |
プラグイン
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kozimon |
投稿日時: 2016/5/26 10:25
対応状況: −−−
|
半人前 登録日: 2016/5/26 居住地: 投稿: 23 |
フックポイントを使って出来ることについて教えて下さい。 フックポイントを使って出来ることについて教えて下さい。
既出でしたらすみません。 1)新規フォームを既存ページに埋め込む際に、FormExtensionを作成すると思うのですが、その際に同一プラグインで作成したマスタデータを取得してselectBoxが作成出来るか。またはその実装方法について。 2)フックポイントを使って、デフォルトのコントローラーの処理に割り込みをして、プラグインで作成した処理を流せるか。またはその実装方法について。 よろしくお願いします。 |
tacky |
投稿日時: 2016/5/26 12:28
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: フックポイントを使って出来ることについて教えて下さい。 引用:
両方実装可能です。 下記がプラグインの作り方の参考になると思います。 http://qiita.com/chihiro-adachi/items/6318642120f67faedf0b http://qiita.com/shinichi-takahashi/items/9cd209d9f3a5fd1d1869 |
kozimon |
投稿日時: 2016/5/26 14:53
対応状況: −−−
|
半人前 登録日: 2016/5/26 居住地: 投稿: 23 |
Re: フックポイントを使って出来ることについて教えて下さい。 コメント頂きありがとうございます。
上記の参考ですと、両方共単純なtextのフォームになっています。 より具体的にformExtensionに渡す方法が分かるといいのですが・・・ $optionsにarray型を格納しておいて取り出すという方法が一般的なのでしょうか? |
tacky |
投稿日時: 2016/5/26 16:45
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: フックポイントを使って出来ることについて教えて下さい。 フォームの作り方はテキストもセレクトボックスも同じになります。
$builder->add( 'フォーム名', 'フォームタイプ', array( 'オプション' => オプション内容, ) ); 下記を参照にご自身で設定したいフォームタイプの記述をする感じです。 http://symfony.com/doc/current/reference/forms/types.html |
kozimon |
投稿日時: 2016/5/27 10:36
対応状況: −−−
|
半人前 登録日: 2016/5/26 居住地: 投稿: 23 |
Re: フックポイントを使って出来ることについて教えて下さい。 確かにbuilderの中で手書きにするのは反映されるのは分かるんですが、
お伺いしたいのはarray型を呼び出す(取得する)方法なのです・・・。 private $app; public function __construct(Application $app){ $this->app = $app; } $app = $this->app; $lists = $app['plugin.PluginName.repository.listMasters']->getList(); のようにFormExtensionに記述しても値を取ることができません。 確認したところ$appに必要な情報が入っていないようでした。(なのでサービスが呼び出せていない。) あと少しのようなのですが、分かる方が居ましたら助言お願いします・・・。 ちなみに use Eccube\Application; use Plugin\PluginName\Entity\ListMasters; はヘッダー部に記載しています。 |
tacky |
投稿日時: 2016/5/27 11:20
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: フックポイントを使って出来ることについて教えて下さい。 $listsが空という事でしょうか。
ServiceProviderに上記Repositoryは登録されていますか? |
kozimon |
投稿日時: 2016/5/27 11:47
対応状況: −−−
|
半人前 登録日: 2016/5/26 居住地: 投稿: 23 |
Re: フックポイントを使って出来ることについて教えて下さい。 登録されております。
controllerやevent.phpからはリストを取得出来ています。 各変数の中を除くと$appが既に空になってしまっています。 |
tacky |
投稿日時: 2016/5/27 14:40
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: フックポイントを使って出来ることについて教えて下さい。 ECCUBE本体のForm/Type/Masterあたりの処理は参考になりませんか??
configureOptions内でclassにEntityをセットして、別のFormTypeで呼び出しているようです。 |
bratech |
投稿日時: 2016/5/27 15:23
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: フックポイントを使って出来ることについて教えて下さい。 横からすいません。
ServiceProviderの登録ですがform.type.extentionsの登録はされていますか?
登録する際は上記のように$appが渡るようになっていますか? $appが空になっているという事であれば上記の辺りを確認されてみるとよいかもしれません。 ご参考まで。
|
kozimon |
投稿日時: 2016/5/27 16:05
対応状況: −−−
|
半人前 登録日: 2016/5/26 居住地: 投稿: 23 |
Re: フックポイントを使って出来ることについて教えて下さい。 解決しました!。
原因は $extensions[] = new \Plugin\○○\Form\Extension\○○Extension($app); を $extensions[] = new \Plugin\○○\Form\Extension\○○Extension(); と記載しており、$appを読み込めていないという単純なミスでした。 tackyさん、bratechさん ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |