バージョン選択

フォーラム

メニュー

オンライン状況

69 人のユーザが現在オンラインです。 (57 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...

サイト内検索

プラグイン > 開発について > Eventのクラスにて、EventArgsの$eventが受け取れない

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fujis
投稿日時: 2018/11/21 13:33
対応状況: −−−
新米
登録日: 2018/11/15
居住地:
投稿: 9
Eventのクラスにて、EventArgsの$eventが受け取れない
▼テンプレート
[EC-CUBE]4.0.0、新規インストール
[サーバ]ローカル環境
[OS]Windows10
[PHP]7.2.6
[経験]php、Symfony共に浅め


[内容]
プラグインのEventクラスにて定義したメソッドで、EventArgsの$eventが受け取れません。
TemplateEventの$eventを受け取っているようなのですが、どのように記述したら、受け取れるかご教示ください。


[期待値]
Eventクラスで定義した関数で、EventArgsの$eventが受け取れること。


[前提]
1、3.0⇒4.0へのプラグイン移植をしている
2、公式サンプルプラグインのProductReviewを参考にしている
3、3.0の時は受け取れている


[現状]
public function onCompleteEntry(EventArgs $event){}
上記が当該関数であるが、このまま使うと下記のエラーがでる
Type error: Argument 1 passed to Plugin\\TestLoginIntegration\\TestLoginIntegrationEvent::onCompleteEntry() must be an instance of Eccube\\Event\\EventArgs, instance of Eccube\\Event\\TemplateEvent given","C:\\xampp\\htdocs\\fuji-test\\eccube-4.0.0\\app\\Plugin\\TestLoginIntegration\\TestLoginIntegrationEvent.php",133

引数に記載のEventArgsを削除し、var_dumpしてみるとTemplateEventのオブジェクトが出力された。
どこでこの関数の引数に値を入れているのか、調査中。
fujis
投稿日時: 2018/11/27 10:58
対応状況: 解決済
新米
登録日: 2018/11/15
居住地:
投稿: 9
Re: Eventのクラスにて、EventArgsの$eventが受け取れない
自己解決しました。
ファイルの上部のgetSubscribedEvents()にて、ページ読込時に発生するイベントに対しリッスンしていた為に、EventArgsが受け取れていませんでした。

イベント「EccubeEvents::FRONT_ENTRY_INDEX_COMPLETE」に対しリッスンすることで、正しく処理されエラーが出なくなりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,704名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.