Magento显示购物车产品页面上的价格规则

问题描述:

我需要能够将产品页面上的“购物车价格规则”应用于产品页面上的价格,然后才能将产品添加到购物车。不使用'目录价格规则'的原因是它没有提供足够的功能。有问题的产品在同一页面上有相关产品,如果符合条件(例如添加了相关产品的数量x),则提供折扣。我需要将此价格更改显示给用户。Magento显示购物车产品页面上的价格规则

我一直无法找到Magento在购物车中应用这些规则的位置,因此无法开始尝试将它们添加到产品页面。任何反馈,以帮助得到这个运行非常感谢。

谢谢:)

你可以得到应用的产品页面上的购物车价格规则,下面的功能

public function getShoppingCartRules($product) { 
    $now = Mage::getModel('core/date')->date('Y-m-d'); 
    $productData = new Varien_Object(); 
    $data = array(
     'product' => $product, 
     'qty' => 1, 
     'price' => $product->getFinalPrice(), 
     'base_row_total' => $product->getFinalPrice() 
    ); 
    $productData->setData($data); 
    $allItems = new Varien_Object(); 
    $allItems->setAllItems(array($productData)); 
    $customerGroupId = Mage::getSingleton('customer/session')->getCustomerGroupId(); 

    $ruleCollection = Mage::getResourceModel('salesrule/rule_collection') 
      ->addFieldToFilter('discount_amount', array("gt" => '0')) 
      ->addFieldToFilter('coupon_type', array(1,2,3)) 
      ->setOrder('sort_order', 'DESC') 
      ->addWebsiteGroupDateFilter(Mage::app()->getStore()->getWebsiteId(), $customerGroupId); 
    $ruleCollection->getSelect() 
      ->where('from_date is null or from_date <= ?', $now) 
      ->where('to_date is null or to_date >= ?', $now); 

    if ($ruleCollection->count()) { 
      if ($rule->getActions()->validate($productData) && $rule->validate($allItems)) { 
       $shoppingCartRules[] = $rule; 
      } 
     } 
     return $shoppingCartRules; 
    } 
    return null; 
} 

其中$产品是产品对象产品页面上已经存在。