本文整理汇总了PHP中Mage_SalesRule_Model_Rule::hasDataChanges方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_SalesRule_Model_Rule::hasDataChanges方法的具体用法?PHP Mage_SalesRule_Model_Rule::hasDataChanges怎么用?PHP Mage_SalesRule_Model_Rule::hasDataChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_SalesRule_Model_Rule
的用法示例。
在下文中一共展示了Mage_SalesRule_Model_Rule::hasDataChanges方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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;
}
示例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()));
}
return $this;
}