Câu trả lời:
Vì mọi yêu cầu được xử lý thông qua bộ điều khiển trong Magento, chúng tôi sẽ bắt đầu từ Mage_Cms_PageController
nơi chúng tôi thấy rằng người cms/page
trợ giúp thực sự kết xuất trang.
Điều này được thực hiện trong phương pháp _renderPage
. Trong phương pháp này, chúng tôi sẽ tìm thấy Sự kiện cms_page_render
trên dòng 107. Sự kiện này cung cấp cho bạn, trong số các đối tượng khác, page
đối tượng.
Đối tượng này chứa tất cả dữ liệu của trang của bạn. Bây giờ bạn có thể quan sát sự kiện này từ tiện ích mở rộng bản dựng tùy chỉnh của mình bằng cách thêm nó vào tệp 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>
Điều này sẽ gọi lớp Your_Extension_Model_Csm_Observer
, phương thức changeContent
sẽ trông giống như thế này
class Your_Extension_Model_Csm_Observer
{
public function changeContent($observer)
{
$event = $observer->getEvent();
$cms_page = $event->getPage();
[...]
your code goes here
[...]
return $this;
}
}
Để biết thêm thông tin về người quan sát kiểm tra trang Wiki này