オブザーバーを使用して、カスタム Magento モジュールを開発しました。
<?xml version="1.0"?>
<config>
<modules>
<ADF_Evoucher>
<version>1.0.0</version>
</ADF_Evoucher>
</modules>
<frontend>
[...]
<events>
[...]
<sales_order_save_before>
<observers>
<ADF_Evoucher_Model_Observer>
<class>evoucher/observer</class>
<method>salesOrderSaveBeforeObserve</method>
</ADF_Evoucher_Model_Observer>
</observers>
</sales_order_save_before>
</events>
</frontend>
[...]
</config>
そして私のオブザーバー:
<?php
class ADF_Evoucher_Model_Observer extends Varien_Event_Observer
{
public function __construct()
{
}
public function salesOrderSaveBeforeObserve($observer)
{
$order = $observer->getEvent()->getOrder();
$quote = $order->getQuote();
$cart = Mage::getModel('checkout/cart');
Zend_Debug::dump($quote);
Zend_Debug::dump($cart);
die();
}
}
?>
問題は、カートにいくつかのアイテムを追加したのに、カートが空であることです。
object(Mage_Checkout_Model_Cart)[458]
protected '_summaryQty' => null
protected '_productIds' => null
protected '_data' =>
array (size=0)
empty
protected '_hasDataChanges' => boolean false
protected '_origData' => null
protected '_idFieldName' => null
protected '_isDeleted' => boolean false
protected '_oldFieldsMap' =>
array (size=0)
empty
protected '_syncFieldsMap' =>
array (size=0)
empty
理由がわかりません。どこかで何か間違ったことをしたのかもしれません。Magento は初めてです。私のオブザーバーでこのカートオブジェクトが空である理由は何ですか?