나는 주문을 할 때 주문 데이터를 내보낼 옵서버를 쓰려고합니다. 전에 어떤 모듈도 작성하지 않았습니다. 이 기사에서 내 구현을 기반으로 : http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_methodmagento sales_order_place_after 옵저버
지금까지 파일에 쓸 더미 코드를 트리거하려고합니다. 로그에 아무것도 표시되지 않고 파일이 수정되지 않습니다. 아파치 사용자가 디렉토리에 대한 권한을 가지고 있습니다. Magento 설정에서 캐싱 설정을 사용 중지했습니다. 나는 약간의 명명 규칙에 대해 약간 혼란 스럽다. 방금 예제를 따라하려고했습니다. 누구 내가 잘못 가고 있는지 알아? 마 젠토/응용 프로그램을/etc/모듈에서
/Feed.xml :
젠토/응용 프로그램/코드/지역/공급/판매/기타/Config.xml의<?xml version="1.0"?>
<config>
<modules>
<Feed_Sales>
<codePool>local</codePool>
<active>true</active>
</Feed_Sales>
</modules>
</config>
:
<?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>
마 젠토/응용 프로그램/코드/지역/피드/판매/모델/주문/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;
}
}
?>
아파치와 데비안 레니에 젠토 1.4 그것은 어떤 연구를 위해 중요해야하는 경우 eason.
제안에 감사드립니다. 변경 사항을 확인하지 못했습니다 : - \ – jorelli
변경 사항을 찾기 전에 구성 캐시를 지웠는지 확인하십시오. XML은 모든 페이지로드시 읽히지 않습니다. –
예, 당분간 설정 캐시를 완전히 비활성화했습니다. 그래도 언급할만한 가치가 있습니다^_^ 기록을 위해 특정 클래스 별칭에 대해 완전히 옳았습니다. 'feedsales/order_observer'가 작동합니다. 'Feed_Sales_Model_Order_Observer'의 리터럴 클래스 이름을 사용하는 도 작동합니다. 'sales/order_observer'가 작동하지 않습니다. – jorelli