Magento 将产品添加到购物车时更新小计

Magento 将产品添加到购物车时更新小计,magento,Magento,我目前正在以编程方式将产品添加到购物车中,以便为我的网站创建一个“免费样品”方面 目前,所有这些产品都是0美元,您最多可以添加15美元。一旦你有5个'免费样品'的产品在购物车,我需要增加20美元的小计 我知道我可以通过以下方式获得总计: Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal(); 但是,我如何访问小计并向其中添加20美元 我猜我需要写一个观察者,因为我需要检查产品何时添加/从购物车中移除,以便添

我目前正在以编程方式将产品添加到购物车中,以便为我的网站创建一个“免费样品”方面

目前,所有这些产品都是0美元,您最多可以添加15美元。一旦你有5个'免费样品'的产品在购物车,我需要增加20美元的小计

我知道我可以通过以下方式获得总计:

Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal();
但是,我如何访问小计并向其中添加20美元

我猜我需要写一个观察者,因为我需要检查产品何时添加/从购物车中移除,以便添加或不添加20美元

以前有没有人这样做过,或者可以为我指出正确的方向,告诉我怎么做

非常感谢


谢谢

您的理解有点错误,总计是根据报价中的商品价格计算的,“总计”并不仅仅是您可以随意增减的东西


对于您当前的任务,我建议您创建一个购物车规则“add x get n for free”

您的理解有点错误,总计是根据报价中的商品价格计算的,而“total”不仅仅是您可以随意增减的东西


对于您当前的任务,我建议您创建一个购物车规则“添加x免费获取n”

我最近实际上回答了这个问题,这里是需要做什么的基本想法,如果您需要更具体的细节,请告诉我: 添加查找此事件“销售报价添加项目”的观察者:

<events>
    <sales_quote_add_item>
        <observers>
            <priceupdate_observer>
                <type>singleton</type>
                <class>mymodule/observer</class>
                <method>updatePrice</method>
            </priceupdate_observer>
        </observers>
    </sales_quote_add_item>

独生子女
mymodule/观察员
更新价格

观察者应该有这样一种方法:

public function updatePrice($observer) {
    $event = $observer->getEvent();
    $quote_item = $event->getQuoteItem();
    if(sample etc...) $new_price = <insert logic>
    $quote_item->setOriginalCustomPrice($new_price);
    $quote_item->save();
}
公共函数更新价格($observer){
$event=$observer->getEvent();
$quote_item=$event->getQuoteItem();
如果(样品等)$新价格=
$quote\U item->setOriginalCustomPrice($new\U价格);
$quote_项目->保存();
}

我最近确实回答了这个问题,这里是需要做什么的基本想法,如果您需要更具体的细节,请告诉我: 添加查找此事件“销售报价添加项目”的观察者:

<events>
    <sales_quote_add_item>
        <observers>
            <priceupdate_observer>
                <type>singleton</type>
                <class>mymodule/observer</class>
                <method>updatePrice</method>
            </priceupdate_observer>
        </observers>
    </sales_quote_add_item>

独生子女
mymodule/观察员
更新价格

观察者应该有这样一种方法:

public function updatePrice($observer) {
    $event = $observer->getEvent();
    $quote_item = $event->getQuoteItem();
    if(sample etc...) $new_price = <insert logic>
    $quote_item->setOriginalCustomPrice($new_price);
    $quote_item->save();
}
公共函数更新价格($observer){
$event=$observer->getEvent();
$quote_item=$event->getQuoteItem();
如果(样品等)$新价格=
$quote\U item->setOriginalCustomPrice($new\U价格);
$quote_项目->保存();
}

在哪里添加xml
Mage/Checkout/etc/config.xml
?在xml标记进入配置中的全局标记之前,我还没有创建观察者,函数将进入Model文件夹中的观察者文件。这是一个关于如何在\u magento中构建和观察者模块\u和\u开发/0-\u模块\u开发\u/使用\u事件-观察者\u方法自定义\u magento\u的链接。添加/删除每个示例产品时是否会自动调用此链接?当添加了10个样本产品时,这是否也会更新小计?当产品添加到购物车时,这甚至会添加“sales_quote_add_item”,即magento创建报价时,您需要根据sku$quote_item->getSku()的属性检查此项目是否为样本;对于删除,您需要将该事件称为“sales\u quote\u remove\u item”,我正在按价格检查产品是否为样品。所有的样品都是$0,所以应该可以。到目前为止的问题是,添加产品时会调用observer。我需要能够检查是否已经添加了超过5个,然后在小计中添加20美元。我猜小计是根据报价项目计算的。20美元怎么加?我只想在小计中增加20美元,而不是每个产品。我在哪里添加xml
Mage/Checkout/etc/config.xml
?在xml标记进入配置中的全局标记之前,我还没有创建观察者,函数将进入Model文件夹中的观察者文件。这是一个关于如何在\u magento中构建和观察者模块\u和\u开发/0-\u模块\u开发\u/使用\u事件-观察者\u方法自定义\u magento\u的链接。添加/删除每个示例产品时是否会自动调用此链接?当添加了10个样本产品时,这是否也会更新小计?当产品添加到购物车时,这甚至会添加“sales_quote_add_item”,即magento创建报价时,您需要根据sku$quote_item->getSku()的属性检查此项目是否为样本;对于删除,您需要将该事件称为“sales\u quote\u remove\u item”,我正在按价格检查产品是否为样品。所有的样品都是$0,所以应该可以。到目前为止的问题是,添加产品时会调用observer。我需要能够检查是否已经添加了超过5个,然后在小计中添加20美元。我猜小计是根据报价项目计算的。20美元怎么加?我只想在小计上加20美元,而不是每个产品