私は2人のオブザーバーを持っています:
<events>
<controller_action_layout_load_before>
<observers>
<QuBit_UniversalVariable_Model_Page_Observer>
<type>singleton</type>
<class>universal_variable_main/observer</class>
<method>setUniversalVariable</method>
</QuBit_UniversalVariable_Model_Page_Observer>
</observers>
</controller_action_layout_load_before>
<catalog_block_product_list_collection>
<observers>
<QuBit_UniversalVariable_Model_Page_Observer>
<type>singleton</type>
<class>universal_variable_main/observer</class>
<method>setCatalogProductListing</method>
</QuBit_UniversalVariable_Model_Page_Observer>
</observers>
</catalog_block_product_list_collection>
</events>
javascript を含むブロックを Head にロードしたいのですが、 Observerで収集されたデータをブロックに入力する必要があります。私の問題は、イベントが発生する前にブロックが読み込まれることです。これを証明するためにログを追加しました。
2013-07-12T07:18:44+00:00 DEBUG (7): loading setUniversalVariable
2013-07-12T07:18:44+00:00 DEBUG (7): loading template
2013-07-12T07:18:48+00:00 DEBUG (7): loading setCatalogProductListing
現時点では、レイアウト XML を使用してブロックを追加していますが、代わりにsetCatalogProductListingでプログラムで作成する必要がありますか、またはすべてのデータが利用可能になるまでロードされないようにする他の方法がありますか?
そして、ここでプログラムで作成することさえ可能ですか、それともこの時点で頭はすでにファイナライズされていますか?
前もって感謝します