G'Day all、
「 checkout_cart_save_after 」をキャプチャする最初のmagentoイベントハンドラーを作成しようとしていますが、Observer.phpコードを起動できません。magentoイベントのWebサイトを2日間確認した後、プロセス全体を理解していますが、コードは実行されていません..理由について私は困惑しています。
これが/var/ magento / app / etc /modules/にあるmodulesxmlファイルです。
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Yourmodule>
<codePool>local</codePool>
<active>true</active>
<version>1.0.0</version>
</Namespace_Yourmodule>
</modules>
</config>
ご覧のとおり、他の人のためのチュートリアルを書いているので、名前空間とYourmoduleを使用しています。
モジュールのetcディレクトリ(/ var / magento / app / code / local / Namespace / Yourmodule / Module)にconfig.xmlがあります
<?xml version="1.0"?>
<global>
<events>
<checkout_cart_save_after>
<observers>
<yourmodule_after_observer>
<type>singleton</type>
<class>Namespace_Yourmodule_Model_Observer</class>
<method>checkout_cart_save_after</method>
</yourmodule_after_observer>
</observers>
</checkout_cart_save_after>
</events>
</global>
ModulesディレクトリにObserver.phpファイルがあります。
class Namespace_Yourmodule_Model_Observer
{
/*----------------------------------------
*
* LogInfo()
*
* Basic logging of activity to disk for debugging
*/
public function LogInfo($msg)
{
$logfile="/logs/Namespace-module.log";
$fd=fopen($logfile,"a");
if($fd)
{
fwrite($fd,$msg."\n");
fclose($fd);
}
}
public function checkout_cart_save_before($observer)
{
LogInfo("save_before called");
}
public function checkout_cart_save_after($observer)
{
LogInfo("save_after called");
}
}
カートにアイテムを追加したりカートからアイテムを削除したりした結果、ログファイルは作成されず、手動で作成した場合、データは書き込まれず、system.logはエラーを表示しません。XMLを歪めた場合、エラーが報告されるため、XMLファイル読み取られています。
私が見逃したことについての考えはありますか?
シド
アップデート12/2:
私は週末をこれに費やして問題を解決しました、ヒントのおかげで、それは私が拾うべきであったマイナーなものの組み合わせであり、XMLファイルのフォーマットは今上で提案されたものと一致しています...今ありますチュートリアル!作業コードと構成ファイルを使用して、プロセスを完全に文書化しました。
http://z900collector.wordpress.com/magento/magento-events/を参照してください