我想让Magento告诉我如果放入购物车,产品会有任何折扣。做这个的最好方式是什么?是否有任何模型或帮助者可以传递产品并返回折扣金额?
由于
此致 加布里埃尔
答案 0 :(得分:3)
我在Shipping Estimator扩展程序中实现了类似的功能。您可以选择的选项很少:
以下是用于shipping estimator的代码示例:
$request = new Varien_Object($addToCartInfo);
if ($product->getStockItem()) {
$minimumQty = $product->getStockItem()->getMinSaleQty();
if($minimumQty > 0 && $request->getQty() < $minimumQty){
$request->setQty($minimumQty);
}
}
$result = $quote->addProduct($product, $request);
if (is_string($result)) {
Mage::throwException($result);
}
Mage::dispatchEvent('checkout_cart_product_add_after',
array('quote_item' => $result, 'product' => $product));
$quote->collectTotals();
$result = $quote->getShippingAddress()->getGroupedAllShippingRates();
正如我之前所说,引用可以用两种不同的方式初始化:
新报价:
$quote = Mage::getModel('sales/quote');
现有客户报价:
$quote = Mage::getSingleton('checkout/session')->getQuote();
对于报价项目中的折扣检索,它将是您的作业:)