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


PHP Mage_SalesRule_Model_Rule::getId方法代码示例

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


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

示例1: _beforeSave

 /**
  * Processing object before save data
  *
  * @return Mage_Core_Model_Abstract
  */
 protected function _beforeSave()
 {
     if (!$this->getRuleId() && $this->_rule instanceof Mage_SalesRule_Model_Rule) {
         $this->setRuleId($this->_rule->getId());
     }
     return parent::_beforeSave();
 }
开发者ID:xiaoguizhidao,项目名称:blingjewelry-prod,代码行数:12,代码来源:Coupon.php

示例2: updateSpecificCoupons

 /**
  * Update auto generated Specific Coupon if it's rule changed
  *
  * @param Mage_SalesRule_Model_Rule $rule
  * @return Mage_SalesRule_Model_Resource_Coupon
  */
 public function updateSpecificCoupons(Mage_SalesRule_Model_Rule $rule)
 {
     if (!$rule || !$rule->getId() || !$rule->hasDataChanges()) {
         return $this;
     }
     $updateArray = array();
     if ($rule->dataHasChangedFor('uses_per_coupon')) {
         $updateArray['usage_limit'] = $rule->getUsesPerCoupon();
     }
     if ($rule->dataHasChangedFor('uses_per_customer')) {
         $updateArray['usage_per_customer'] = $rule->getUsesPerCustomer();
     }
     $ruleNewDate = new Zend_Date($rule->getToDate());
     $ruleOldDate = new Zend_Date($rule->getOrigData('to_date'));
     if ($ruleNewDate->compare($ruleOldDate)) {
         $updateArray['expiration_date'] = $rule->getToDate();
     }
     if (!empty($updateArray)) {
         $this->_getWriteAdapter()->update($this->getTable('salesrule/coupon'), $updateArray, array('rule_id = ?' => $rule->getId(), 'generated_by_dotmailer is null'));
     }
     //update coupons added by dotmailer. not to change expiration date
     $dotmailerUpdateArray = $updateArray;
     unset($dotmailerUpdateArray['expiration_date']);
     if (!empty($dotmailerUpdateArray)) {
         $this->_getWriteAdapter()->update($this->getTable('salesrule/coupon'), $dotmailerUpdateArray, array('rule_id = ?' => $rule->getId(), 'generated_by_dotmailer is 1'));
     }
     return $this;
 }
开发者ID:dotmailer,项目名称:dotmailer-magento-extension,代码行数:34,代码来源:Coupon.php

示例3: addRuleToFilter

 /**
  * Add rule to filter
  *
  * @param Mage_SalesRule_Model_Rule|int $rule
  *
  * @return Mage_SalesRule_Model_Resource_Coupon_Collection
  */
 public function addRuleToFilter($rule)
 {
     if ($rule instanceof Mage_SalesRule_Model_Rule) {
         $ruleId = $rule->getId();
     } else {
         $ruleId = (int) $rule;
     }
     $this->addFieldToFilter('rule_id', $ruleId);
     return $this;
 }
开发者ID:lightyoruichi,项目名称:Magento-Pre-Patched-Files,代码行数:17,代码来源:Collection.php

示例4: updateRuleProductData

 public function updateRuleProductData(Mage_SalesRule_Model_Rule $rule)
 {
     //        foreach ($rule->getActions()->getActions() as $action) {
     //            break;
     //        }
     $ruleId = $rule->getId();
     $read = $this->_getReadAdapter();
     $write = $this->_getWriteAdapter();
     $write->delete($this->getTable('salesrule/rule_product'), $write->quoteInto('rule_id=?', $ruleId));
     if (!$rule->getIsActive()) {
         return $this;
     }
     if ($rule->getUsesPerCoupon() > 0) {
         $usedPerCoupon = $read->fetchOne('select count(*) from ' . $this->getTable('salesrule/rule_customer') . ' where rule_id=?', $ruleId);
         if ($usedPerCoupon >= $rule->getUsesPerCoupon()) {
             return $this;
         }
     }
     $productIds = explode(',', $rule->getProductIds());
     $websiteIds = explode(',', $rule->getWebsiteIds());
     $customerGroupIds = explode(',', $rule->getCustomerGroupIds());
     $fromTime = strtotime($rule->getFromDate());
     $toTime = strtotime($rule->getToDate());
     if ($toTime) {
         $toTime += 86400;
     }
     $couponCode = $rule->getCouponCode() ? "'" . $rule->getCouponCode() . "'" : 'NULL';
     $sortOrder = (int) $rule->getSortOrder();
     $rows = array();
     $header = 'replace into ' . $this->getTable('salesrule/rule_product') . ' (rule_id, from_time, to_time, website_id, customer_group_id, product_id, coupon_code, sort_order) values ';
     try {
         $write->beginTransaction();
         foreach ($productIds as $productId) {
             foreach ($websiteIds as $websiteId) {
                 foreach ($customerGroupIds as $customerGroupId) {
                     $rows[] = "('{$ruleId}', '{$fromTime}', '{$toTime}', '{$websiteId}', '{$customerGroupId}', '{$productId}', {$couponCode}, '{$sortOrder}')";
                     if (sizeof($rows) == 100) {
                         $sql = $header . join(',', $rows);
                         $write->query($sql);
                         $rows = array();
                     }
                 }
             }
         }
         if (!empty($rows)) {
             $sql = $header . join(',', $rows);
             $write->query($sql);
         }
         $write->commit();
     } catch (Exception $e) {
         $write->rollback();
         throw $e;
     }
     return $this;
 }
开发者ID:arslbbt,项目名称:mangentovies,代码行数:55,代码来源:Rule.php

示例5: _addDiscountDescription

 /**
  * Add rule discount description label to address object
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @param   Mage_SalesRule_Model_Rule $rule
  * @return  Mage_SalesRule_Model_Validator
  */
 protected function _addDiscountDescription($address, $rule)
 {
     $description = $address->getDiscountDescriptionArray();
     $ruleLabel = $rule->getStoreLabel($address->getQuote()->getStore());
     $label = '';
     if ($ruleLabel) {
         $label = $ruleLabel;
     } else {
         if (strlen($address->getCouponCode())) {
             $label = $address->getCouponCode();
         }
     }
     if (strlen($label)) {
         $description[$rule->getId()] = $label;
     }
     $address->setDiscountDescriptionArray($description);
     return $this;
 }
开发者ID:chucky515,项目名称:Magento-CE-Mirror,代码行数:25,代码来源:Validator.php

示例6: setActualProductAttributes

 /**
  * Save product attributes currently used in conditions and actions of rule
  *
  * @param Mage_SalesRule_Model_Rule $rule
  * @param mixed $attributes
  * @return Mage_SalesRule_Model_Resource_Rule
  */
 public function setActualProductAttributes($rule, $attributes)
 {
     $write = $this->_getWriteAdapter();
     $write->delete($this->getTable('salesrule_product_attribute'), array('rule_id=?' => $rule->getId()));
     //Getting attribute IDs for attribute codes
     $attributeIds = array();
     $select = $this->_getReadAdapter()->select()->from(array('a' => $this->getTable('eav_attribute')), array('a.attribute_id'))->where('a.attribute_code IN (?)', array($attributes));
     $attributesFound = $this->_getReadAdapter()->fetchAll($select);
     if ($attributesFound) {
         foreach ($attributesFound as $attribute) {
             $attributeIds[] = $attribute['attribute_id'];
         }
         $data = array();
         foreach ($rule->getCustomerGroupIds() as $customerGroupId) {
             foreach ($rule->getWebsiteIds() as $websiteId) {
                 foreach ($attributeIds as $attribute) {
                     $data[] = array('rule_id' => $rule->getId(), 'website_id' => $websiteId, 'customer_group_id' => $customerGroupId, 'attribute_id' => $attribute);
                 }
             }
         }
         $write->insertMultiple($this->getTable('salesrule_product_attribute'), $data);
     }
     return $this;
 }
开发者ID:natxetee,项目名称:magento2,代码行数:31,代码来源:Rule.php

示例7: isValidRuleUsageForAddress

 /**
  * Validate the rule usage for given address
  * @param Mage_SalesRule_Model_Rule
  * @param Mage_Sales_Model_Quote_Address
  * @return bool
  */
 protected function isValidRuleUsageForAddress(Mage_SalesRule_Model_Rule $rule, Mage_Sales_Model_Quote_Address $address)
 {
     $ruleId = $rule->getId();
     $customerId = $address->getQuote()->getCustomerId();
     $ruleCustomer = $this->getRuleCustomerModel();
     $ruleCustomer->loadByCustomerRule($customerId, $ruleId);
     if ($ruleCustomer->getId() && $ruleCustomer->getTimesUsed() >= $rule->getUsesPerCustomer()) {
         return false;
     }
     return true;
 }
开发者ID:eBayEnterprise,项目名称:magento-multi-coupons,代码行数:17,代码来源:Validator.php

示例8: updateSpecificCoupons

 /**
  * Update auto generated Specific Coupon if it's rule changed
  *
  * @param Mage_SalesRule_Model_Rule $rule
  * @return Mage_SalesRule_Model_Resource_Coupon
  */
 public function updateSpecificCoupons(Mage_SalesRule_Model_Rule $rule)
 {
     if (!$rule || !$rule->getId() || !$rule->hasDataChanges()) {
         return $this;
     }
     $updateArray = array();
     if ($rule->dataHasChangedFor('uses_per_coupon')) {
         $updateArray['usage_limit'] = $rule->getUsesPerCoupon();
     }
     if ($rule->dataHasChangedFor('uses_per_customer')) {
         $updateArray['usage_per_customer'] = $rule->getUsesPerCustomer();
     }
     $ruleNewDate = new Zend_Date($rule->getToDate());
     $ruleOldDate = new Zend_Date($rule->getOrigData('to_date'));
     if ($ruleNewDate->compare($ruleOldDate)) {
         $updateArray['expiration_date'] = $rule->getToDate();
     }
     if (!empty($updateArray)) {
         $this->_getWriteAdapter()->update($this->getTable('salesrule_coupon'), $updateArray, array('rule_id = ?' => $rule->getId()));
     }
     return $this;
 }
开发者ID:nemphys,项目名称:magento2,代码行数:28,代码来源:Coupon.php

示例9: getCustomerRuleUseCount

 /**
  * Look up how many times a rule was used by a customer
  *
  * @param int                       $customerId
  * @param Mage_SalesRule_Model_Rule $rule
  *
  * @return int
  */
 public function getCustomerRuleUseCount($customerId, Mage_SalesRule_Model_Rule $rule)
 {
     /** @var Mage_SalesRule_Model_Rule_Customer $ruleCustomer */
     $ruleCustomer = Mage::getModel('salesrule/rule_customer');
     $ruleCustomer->loadByCustomerRule($customerId, $rule->getId());
     return intval($ruleCustomer->getTimesUsed());
 }
开发者ID:aoepeople,项目名称:aoe_salesrule,代码行数:15,代码来源:Data.php

示例10: addRuleDescription

 /**
  * Add the rule label to the address for later usage
  *
  * @param Mage_Sales_Model_Quote_Address $address
  * @param Mage_SalesRule_Model_Rule      $rule
  *
  * @return $this
  */
 protected function addRuleDescription(Mage_Sales_Model_Quote_Address $address, Mage_SalesRule_Model_Rule $rule)
 {
     $descriptions = $address->getDiscountDescriptionArray();
     $label = trim($rule->getStoreLabel($address->getQuote()->getStore()));
     if (empty($label) && strlen($address->getCouponCode())) {
         $label = $address->getCouponCode();
     }
     if (!empty($label)) {
         $descriptions[$rule->getId()] = $label;
     }
     $address->setDiscountDescriptionArray($descriptions);
     return $this;
 }
开发者ID:aoepeople,项目名称:aoe_salesrule,代码行数:21,代码来源:Calculator.php

示例11: _getConditions

 /**
  * Unserialize the conditions from the rule.
  *
  * @param Mage_SalesRule_Model_Rule $rule
  * @return Array of rule conditions
  */
 protected function _getConditions($rule)
 {
     if (count($this->_conditions) == 0) {
         if ($rule->getId()) {
             $data = unserialize($rule->getData('conditions_serialized'));
             if (isset($data['conditions'])) {
                 $this->_conditions = $data['conditions'];
             }
         }
     }
     return $this->_conditions;
 }
开发者ID:magento-hackathon,项目名称:Hackathon_PromoCodeMessages,代码行数:18,代码来源:Validator.php

示例12: wrap

 /**
  * Loads in a salesrule and returns a points salesrule
  *
  * @param Mage_SalesRule_Model_Rule $salesrule
  * @return TBT_Rewards_Model_Salesrule_Rule
  */
 public static function wrap(Mage_SalesRule_Model_Rule $salesrule)
 {
     $pointsrule = Mage::getModel('rewards/salesrule_rule')->setData($salesrule->getData())->setId($salesrule->getId());
     return $pointsrule;
 }
开发者ID:rajarshc,项目名称:Rooja,代码行数:11,代码来源:Rule.php


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