Tôi đang cố viết một người quan sát sẽ xuất dữ liệu đơn hàng khi đặt hàng. Tôi chưa viết bất kỳ mô-đun nào trước đây. Dựa vào việc triển khai của tôi về bài viết này: http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_methodmagento sales_order_place_after observer
cho đến giờ tôi chỉ đang cố kích hoạt một số mã giả để ghi vào một tệp. Tôi không nhận được bất cứ điều gì hiển thị trong nhật ký của tôi và tệp không bị sửa đổi. Người dùng apache có quyền cho thư mục. Tôi đã vô hiệu hóa cấu hình bộ nhớ đệm trong cài đặt Magento. Tôi hơi bối rối về một số quy ước đặt tên; Tôi chỉ cố gắng làm theo ví dụ. Có ai biết tôi đang đi đâu không?
trong magento/app/etc/modules/Feed.xml:
<?xml version="1.0"?>
<config>
<modules>
<Feed_Sales>
<codePool>local</codePool>
<active>true</active>
</Feed_Sales>
</modules>
</config>
trong magento/app/code/local/Thức ăn/Bán hàng/etc/config.xml:
<?xml version="1.0"?>
<config>
<global>
<models>
<feedsales>
<class>Feed_Sales_Model</class>
</feedsales>
</models>
<events>
<sales_order_place_after>
<observers>
<feed_sales_order_observer>
<type>singleton</type>
<class>sales/order_observer</class><!-- I've also tried Feed_Sales_Model_Order_Observer here -->
<method>export_new_order</method>
</feed_sales_order_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
trong Magento/ứng dụng/mã/địa phương/nguồn cấp dữ liệu/bán hàng/mô hình/đặt hàng/Observer.php:
<?php
class Feed_Sales_Model_Order_Observer
{
public function __contruct()
{
}
/**
* Exports new orders to an xml file
* @param Varien_Event_Observer $observer
* @return Feed_Sales_Model_Order_Observer
*/
public function export_new_order($observer)
{
Mage::log("reached export_new_order");
try
{
$dumpFile = fopen('/home/jorelli/new_orders/testdump', 'w+');
fwrite($dumpFile, 'this is a test!');
}
catch (Exception $e)
{
Mage::log("order export failed.\n");
}
return $this;
}
}
?>
Magento 1.4 on Debian Lenny with Apache2 nếu nó là vấn đề cho bất kỳ r eason.
cảm ơn đề xuất. Không nhận thấy bất kỳ thay đổi nào: - \ – jorelli
Đảm bảo rằng bạn đã xóa bộ nhớ cache cấu hình của mình trước khi bạn tìm kiếm thay đổi. XML không được đọc trên mọi tải trang. –
vâng, tôi đã tắt hoàn toàn bộ nhớ cache cấu hình trong thời gian này. Điều đáng nói đến là mặc dù^_^ Để ghi lại, bạn hoàn toàn đúng về bí danh lớp cụ thể. 'feedales/order_observer' hoạt động. sử dụng tên lớp chữ của 'Feed_Sales_Model_Order_Observer' cũng hoạt động. nhưng 'sales/order_observer' không hoạt động. – jorelli