本文整理汇总了PHP中Mage_SalesRule_Model_Rule::getCouponCode方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_SalesRule_Model_Rule::getCouponCode方法的具体用法?PHP Mage_SalesRule_Model_Rule::getCouponCode怎么用?PHP Mage_SalesRule_Model_Rule::getCouponCode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_SalesRule_Model_Rule
的用法示例。
在下文中一共展示了Mage_SalesRule_Model_Rule::getCouponCode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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;
}
示例2: _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;
} elseif ($rule->getCouponCode()) {
$label = $rule->getCouponCode();
}
if (!empty($label)) {
$description[$rule->getId()] = $label;
}
$address->setDiscountDescriptionArray($description);
return $this;
}
示例3: getQuoteCouponCode
/**
* Get the applied coupon code on the quote for the passed in rule.
*
* @param Mage_Sales_Model_Quote
* @param Mage_SalesRule_Model_Rule
* @return string | null
*/
public function getQuoteCouponCode(Mage_Sales_Model_Quote $quote, Mage_SalesRule_Model_Rule $rule)
{
/** @var string */
$codeAppliedToQuote = $quote->getCouponCode();
/** @var string */
$codeInRule = $rule->getCouponCode();
return $codeAppliedToQuote === $codeInRule ? $codeAppliedToQuote : $this->getCodeFromCouponPool($rule, $codeAppliedToQuote);
}