プラグイン > 開発について > 独自のフックポイント実装は可能でしょうか? |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kinon |
投稿日時: 2017/1/16 19:10
対応状況: −−−
|
新米 登録日: 2017/1/16 居住地: 投稿: 10 |
独自のフックポイント実装は可能でしょうか? 現在CategoryControllerを拡張したいと考えており、プラグインを作成しましたが、CategoryController内部にフックの設定がありません。
試しにプラグインの中のevent.ymlにて eccube.event.controller.category.before: - [hoge, NORMAL] と記述してもhogeが呼び出されることはありませんでした。 そこで独自のフックポイントの作成が必要になるのでしょうか? その場合どのように実装したらよいでしょうか。 |
468 |
投稿日時: 2017/1/16 21:12
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 独自のフックポイント実装は可能でしょうか? ECCUBEのバージョンはいくつでしょうか?
3.0.9以降は個別フックポイントというものもあり、プラグインの処理を呼び出す箇所が増えています。 3.0.9以前のバージョンの場合、共通フックポイントを指定する形になると思います。 event.ymlへの記述方法はハッキリと覚えていないのですが、以下のような感じだったと思います。 eccube.event.controller.admin_category_edit.before 独自のフックポイントも実装できない事は無いと思いますが、 ECCUBE本体をバージョンアップすると、その部分は無くなってしまうと思います。
|
tao_s |
投稿日時: 2017/1/17 7:21
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 独自のフックポイント実装は可能でしょうか? 過去にプラグインを作成した際に、同じ様にフックポイントが無いところで処理を挟みたくて、プラグインのServiceProviderのregister()内で
こんな感じで実装しました。 たぶん、フレームワークの方で特定のコントローラーが呼び出された時のフックポイントとかあると思うので、そこにフックさせてCategoryControllerの時だけ処理を実行させれば、プラグインとしても実装できると思います。
|
kinon |
投稿日時: 2017/1/17 9:51
対応状況: −−−
|
新米 登録日: 2017/1/16 居住地: 投稿: 10 |
Re: 独自のフックポイント実装は可能でしょうか? すみません。
ECCUBEのバージョンは最新の3.0.13です。 |
kinon |
投稿日時: 2017/1/17 10:01
対応状況: −−−
|
新米 登録日: 2017/1/16 居住地: 投稿: 10 |
Re: 独自のフックポイント実装は可能でしょうか?
上記のコードを入れることでCategoryControllerの時のみ処理を実行できるのしょうか。 EC-CUBEではCategoryController以外のコントローラーが呼び出されたときはフックポイントがあるので、いいのですが、CategoryControllerにはありません。 |
468 |
投稿日時: 2017/1/17 15:23
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 独自のフックポイント実装は可能でしょうか? プラグインの処理を埋め込みたいのは、フロントのカテゴリブロックでしょうか?
確かに個別フックポイントはありませんが、共通フックポイントは使えませんか? eccube.event.route.block_category.request eccube.event.route.block_category.controller eccube.event.route.block_category.response eccube.event.route.block_category.exception eccube.event.route.block_category.terminate ブロックで共通フックポイントを試していないので動作するか分かりませんが・・・。
|
kinon |
投稿日時: 2017/1/18 15:08
対応状況: −−−
|
新米 登録日: 2017/1/16 居住地: 投稿: 10 |
Re: 独自のフックポイント実装は可能でしょうか? eccube.event.route.block_category.request
eccube.event.route.block_category.controller eccube.event.route.block_category.response eccube.event.route.block_category.exception eccube.event.route.block_category.terminate 上記いずれも動作しませんでした... |
nanasess |
投稿日時: 2017/1/19 9:36
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: 独自のフックポイント実装は可能でしょうか? ・別の案件などで再利用したい
・アンインストールの必要がある ・git などでソースコードのバージョン管理ができない といった要件がなければ、プラグインにせず、 CategoryController を直接カスタマイズしてしまってはいかがでしょうか。 ご参考 http://qiita.com/nanasess/items/fe2a93ff64833d87eb19 |
kinon |
投稿日時: 2017/1/19 14:18
対応状況: −−−
|
新米 登録日: 2017/1/16 居住地: 投稿: 10 |
Re: 独自のフックポイント実装は可能でしょうか? CategoryControllerの直接カスタマイズはバージョンアップのときに、コンフリクトするかもしれないので出来ればプラグインにしたいなと考えています。
現状は直接カスタマイズしていますが、EC-CUBE3ではあまりsrc配下をいじるのはよくないと思っていましたので。。。 |
468 |
投稿日時: 2017/1/19 14:56
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 独自のフックポイント実装は可能でしょうか? テンプレートフックインは利用できませんか?
Block/category.twig: - [hogehoge, NORMAL]
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |