php - Magento 观察者未查看产品详细信息

标签 php magento magento-1.8

我通过创建以下文件在 magento 中创建了自定义 checkout_cart_save_before 观察者

app/etc/modules/Cart_Override.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Cart_Override>
            <codePool>local</codePool>
            <active>true</active>
            <depends>
                <Mage_Contacts />
            </depends>
        </Cart_Override>
    </modules>
</config>

app/code/local/Cart/Override/etc/config.xml

<?xml version="1.0"?>
<config>
    <global>
        <models>
            <cartoverride>
                <class>Cart_Override_Model</class>
            </cartoverride>
        </models>
        <events>
            <checkout_cart_save_before>
                <observers>
                    <cart_override_qty_observer>
                        <type>singleton</type>
                        <class>Cart_Override_Model_Qtyc_Observer</class>
                        <method>checkout_cart_save_before</method>
                    </cart_override_qty_observer>
                </observers>
            </checkout_cart_save_before>     
        </events>
    </global>
</config>

app/code/local/Cart/Override/Model/Qtyc/Observer.php

class Cart_Override_Model_Qtyc_Observer extends Varien_Event_Observer
{

    public function checkout_cart_save_before($observer)
    {
        $action  = Mage::app()->getFrontController()->getAction();
        $product = $observer->getProduct();
        echo "<pre>";
        print_r($product);
        echo "</pre>";
        die();
    }

}

观察者工作正常,当我单击“添加到购物车”按钮时,它将执行 checkout_cart_save_before 功能。但我无法使用 checkout_cart_save_before 函数内的以下代码从观察者处获取产品值

$product = $observer->getProduct();

我必须添加一些内容才能从 observer 参数获取产品详细信息?......有什么猜测吗?

最佳答案

看看Mage_Checkout_Model_Cart::save()事件的发送位置:

 Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this));

您可以使用 $cart = $observer->getEvent()->getCart(); 访问购物车数据以及带有 $cart->getItems() 的报价项目.

关于php - Magento 观察者未查看产品详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766413/

相关文章:

php - 与守护程序文件 (JAXL) 交互

Magento 实时站点在部署更改后不断显示安装页面

php - 1060 列名重复 'position_brand' .,该怎么办?

php - Magento如何在列表页面中显示捆绑产品等级价格

php - 跟踪访问者最后查看的项目

javascript - 如何将数组对象返回到 jquery $.ajax 调用?

email - 新产品到达 magento 时自动向客户发送邮件提醒

php - Magento 集合在不同模块之间加入

php - magento 大尺寸可下载产品无法下载

php - 如何在自定义 .php 文件中包含 WordPress 函数?