controller_action_predispatch
イベントを聞いているオブザーバーがいます。これは、顧客がアクセスしているページごとに geo ip 関連のロジックを実行しているためです。ライト ボックス ポップアップを表示して、ロジックの一部として顧客の入力を取得したいと考えています。
ここで直面している問題の一部は、この段階でレイアウトが読み込まれていないことです。:(
これは可能ですか?もしそうなら、それを行う最も効率的な方法は何ですか?
そのため、オブザーバーからレイアウトにアクセスするには、別のイベントを使用する必要がありました。私にとって最も良かったのは、controller_action_layout_generate_blocks_after
イベントを聞くことでした。次に、ブロックをつかみ、
$myblock = $observer->getLayout()->getblock('myblock');
$myblock->setMyvar('PassMyValue');
次に、その値を使用してライト ボックスをポップアップし、ユーザー入力を取得します。