回答:
すべてのリクエストはMagentoのコントローラーを通じて処理されるMage_Cms_PageController
ので、cms/page
ヘルパーが実際にページをレンダリングしているところから始めます。
これはメソッドで行われ_renderPage
ます。このメソッドでは、cms_page_render
107行目のイベントを検索します。このイベントは、他のオブジェクトの中でも特にオブジェクトを提供しpage
ます。
このオブジェクトには、ページのすべてのデータが含まれています。これで、config.xmlに追加することにより、カスタムビルド拡張からこのイベントを監視できます。
<?xml version="1.0"?>
<config>
<global>
<events>
<cms_page_render>
<observers>
<your_extension_cms_observer>
<type>singleton</type>
<class>Your_Extension_Model_Csm_Observer</class>
<method>changeContent</method>
</your_extension_cms_observer>
</observers>
</cms_page_render>
</events>
</global>
</config>
これは、次のようなクラスYour_Extension_Model_Csm_Observer
、メソッドchangeContent
を呼び出します
class Your_Extension_Model_Csm_Observer
{
public function changeContent($observer)
{
$event = $observer->getEvent();
$cms_page = $event->getPage();
[...]
your code goes here
[...]
return $this;
}
}