当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount方法代码示例

本文整理汇总了PHP中Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount方法的具体用法?PHP Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount怎么用?PHP Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Sales_Model_Quote_Address的用法示例。


在下文中一共展示了Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: collect

 /**
  * collect reward point label 
  * 
  * @param Mage_Sales_Model_Quote_Address $address
  * @return Magestore_RewardPoints_Model_Total_Quote_Label
  */
 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     $address->setRewardpointsSpent(0);
     $address->setRewardpointsBaseDiscount(0);
     $address->setRewardpointsDiscount(0);
     $address->setRewardpointsEarn(0);
     $address->setMagestoreBaseDiscount(0);
     return $this;
 }
开发者ID:sshegde123,项目名称:wmp8,代码行数:15,代码来源:Label.php

示例2: collect

 /**
  * collect reward point label 
  * 
  * @param Mage_Sales_Model_Quote_Address $address
  * @return Magestore_RewardPoints_Model_Total_Quote_Label
  */
 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     $address->setRewardpointsSpent(0);
     $address->setRewardpointsBaseDiscount(0);
     $address->setRewardpointsDiscount(0);
     $address->setRewardpointsEarn(0);
     $address->setMagestoreBaseDiscount(0);
     foreach ($address->getAllItems() as $item) {
         if ($item->getParentItemId()) {
             continue;
         }
         if ($item->getHasChildren() && $item->isChildrenCalculated()) {
             foreach ($item->getChildren() as $child) {
                 $child->setRewardpointsBaseDiscount(0)->setRewardpointsDiscount(0)->setMagestoreBaseDiscount(0)->setRewardpointsSpent(0);
             }
         } elseif ($item->getProduct()) {
             $item->setRewardpointsBaseDiscount(0)->setRewardpointsDiscount(0)->setMagestoreBaseDiscount(0)->setRewardpointsSpent(0);
         }
     }
     return $this;
 }
开发者ID:kanotest15,项目名称:cbmagento,代码行数:27,代码来源:Label.php

示例3: collect

 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     $quote = $address->getQuote();
     if (!$quote->isVirtual() && $address->getAddressType() == 'billing') {
         return $this;
     }
     $session = Mage::getSingleton('checkout/session');
     $catalogRules = $session->getCatalogRules();
     if (!is_array($catalogRules)) {
         $catalogRules = array();
     }
     $newCatalogRules = array();
     $customerPoints = Mage::helper('rewardpoints/customer')->getAccountByCustomerId($session->getData('webpos_customerid'))->getPointBalance();
     /* Hai.Tran 23.10.2013 */
     if ($customerPoints < (int) Mage::getStoreConfig(Magestore_RewardPoints_Helper_Customer::XML_PATH_REDEEMABLE_POINTS, $quote->getStoreId())) {
         $session->setCatalogRules($newCatalogRules);
         return $this;
     }
     $helper = Mage::helper('rewardpointsrule/calculation_spending');
     /* @var $helper Magestore_RewardPointsRule_Helper_Calculation_Spending */
     $usePoint = 0;
     $baseDiscount = 0;
     $maxPointPerOrder = $helper->getMaxPointsPerOrder($quote->getStoreId());
     foreach ($quote->getAllItems() as $item) {
         if ($item->getParentItemId()) {
             continue;
         }
         if (!isset($catalogRules[$item->getId()])) {
             continue;
         }
         $rulePoints = $catalogRules[$item->getId()];
         if ($customerPoints < $usePoint + $item->getQty() * $rulePoints['point_used']) {
             $session->addError($helper->__('Not enough points to use the full catalog rule.'));
             break;
         }
         if ($maxPointPerOrder && $maxPointPerOrder < $usePoint + $item->getQty() * $rulePoints['point_used']) {
             $session->addError($helper->__('Maximum points allowed to spend for an order is %s', $maxPointPerOrder));
             break;
         }
         $product = $item->getProduct();
         if (!$product) {
             $product = Mage::getModel('catalog/product')->load($item->getProductId());
         }
         $rule = $helper->getCatalogRule($rulePoints['rule_id']);
         if (!$rule->getId() || !$rule->validate($product)) {
             continue;
         }
         $points = $rulePoints['point_used'];
         $baseRuleDiscount = $helper->getCatalogDiscount($rule, $product, $points);
         $itemBaseDiscount = $item->getQty() * $baseRuleDiscount;
         $itemDiscount = Mage::app()->getStore()->convertPrice($itemBaseDiscount);
         $item->setRewardpointsBaseDiscount($itemBaseDiscount)->setRewardpointsDiscount($itemDiscount)->setRewardpointsSpent($item->getQty() * $points);
         $baseDiscount += $itemBaseDiscount;
         $usePoint += $item->getQty() * $points;
         $newCatalogRules[$item->getId()] = array('item_id' => $item->getId(), 'item_qty' => $item->getQty(), 'rule_id' => $rule->getId(), 'point_used' => $points, 'base_point_discount' => $baseRuleDiscount, 'point_discount' => Mage::app()->getStore()->convertPrice($baseRuleDiscount), 'type' => 'catalog_spend');
     }
     $session->setCatalogRules($newCatalogRules);
     if ($baseDiscount) {
         $discount = Mage::app()->getStore()->convertPrice($baseDiscount);
         $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseDiscount);
         $address->setGrandTotal($address->getGrandTotal() - $discount);
         $address->setRewardpointsSpent($usePoint);
         $address->setRewardpointsBaseDiscount($baseDiscount);
         $address->setRewardpointsDiscount($discount);
     }
     return $this;
 }
开发者ID:cabrerabywaters,项目名称:magentoSunshine,代码行数:67,代码来源:Catalog.php


注:本文中的Mage_Sales_Model_Quote_Address::setRewardpointsBaseDiscount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。