Magento购物车事件项目记录

时间:2015-09-25 09:14:40

标签: php magento

我在自定义模块中有以下magento代码,位于我的本地文件夹中。

public function ProofOfConecept(Varien_Event_Observer $observer)
{
    //checkout_cart_save_before
    Mage::log('ProofOfConecept called - 2', null, 'proofLog.log');

    $cart = $observer->getEvent()->getCart();
    if($cart != NULL)
    {
        Mage::log('$cart contains data!', null, 'proofLog.log');
        $items = $cart->getItems();
        if($items != NULL)
        {
            Mage::log('$items has the following -- '.$items, null, 'proofLog.log');
        }else{
            Mage::log('$items is null??', null, 'proofLog.log');
        }
    }else
    {
        Mage::log('sorry Cart is null :(', null, 'proofLog.log');
    }


}

上面的代码是我在触发事件时调用的方法, 下面是config.xml代码

<events>
        <checkout_cart_save_before>
            <observers>
                <dotnetit_eccbundle_model_observer>
                    <type>singleton</type>
                    <class>DotNetIT_ECCbundle_Model_Observer</class>
                    <method>ProofOfConecept</method>
                </dotnetit_eccbundle_model_observer>
            </observers>
        </checkout_cart_save_before>
    </events>

当我在购物车中更新某些内容时,我的ProofLog.log文件中记录了以下内容

2015-09-25T09:05:40+00:00 DEBUG (7): ProofOfConecept called - 2
2015-09-25T09:05:40+00:00 DEBUG (7): $cart contains data!
2015-09-25T09:05:40+00:00 DEBUG (7): $items has the following -- 

正如你所看到的,if语句是真的,$ items中似乎有数据,但是我似乎无法记录这些项,这是正确的语法吗?

我也无法调试项目,这段代码依赖于生产,因此为什么我使用Mage :: log()进行调试:(

此外,我是一个.net网络开发者,php magento对我来说都是新手,过去几周我一直在努力学习,所以如果问题是一个简单的语法错误,请原谅我。

谢谢你们。

2 个答案:

答案 0 :(得分:0)

替换以下行

$('img#sorc').on({

mousemove: function (e) {
alert('test in');
}

  }, {

mouseleave: function () {
alert('test out');
  }
});

Mage::log('$items has the following -- '.$items, null, 'proofLog.log');

您将获得数组中的所有详细信息并在此之后执行任何操作

如果您有任何疑问,请告诉我

答案 1 :(得分:0)

替换以下行

Mage::log('$items has the following -- '.$items, null, 'proofLog.log');

Mage::log('$items has the following -- '.print_r($items,true), null, 'proofLog.log');

这应该在日志文件中将$ items作为字符串而不是数组打印。 它应该适合你。