バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員登録(確認)画面でrenderイベントをフックするやり方について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shibakura
投稿日時: 2019/4/12 15:29
対応状況: −−−
新米
登録日: 2019/4/4
居住地:
投稿: 2
会員登録(確認)画面でrenderイベントをフックするやり方について
お世話になります。

主題の件につきまして、現在プラグインの開発をしており、
会員登録(確認)画面のrenderイベントをフックするため、
下記のように記述したのですが、Entry/confirm.twigが読み込まれる際にイベントをフックできない状態です。
こちらどのように対処すればフックできるようになるか、分かる方教えて頂けるとありがたいです。


/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
'Entry/index.twig' => 'onRenderEntryIndex', <-hookできる
'Entry/confirm.twig' => 'onRenderEntryConfirm', <-hookできない
];
}

試したこと
・onRenderEntryConfirmメソッドの定義に問題は無いかの検証 -> 問題なし(Entry/index.twigのrenderイベントに定義したら問題なく動いたため)
・dtb_pageテーブル・dtb_page_layoutテーブルにEntry/confirm.twig用のデータを追加(Entry/index.twigが紐づくdtb_block内のデータと関連付けするため)->効果なし
・Controller内でアノテーションを使わずrenderしてる事が原因かの確認 -> 確認中

umebius
投稿日時: 2019/4/13 15:26
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 会員登録(確認)画面でrenderイベントをフックするやり方について

>・Controller内でアノテーションを使わずrenderしてる事が原因かの確認 -> 確認中

確かに、コントローラのrenderをしているときは、Templateイベントが発火していないですね。

src/Eccube/Twig/Environment.phpのEnvironmentが使用されないと
Templateイベントが飛びませんが、
@Templateのアノテーションの時だけ差し替えられているようです。



----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

shibakura
投稿日時: 2019/4/15 18:47
対応状況: −−−
新米
登録日: 2019/4/4
居住地:
投稿: 2
Re: 会員登録(確認)画面でrenderイベントをフックするやり方について
umebius様

ご返信ありがとうございます。

調査頂きありがとうございます。
別アプローチで方法探してみることにします。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.