/** * Add rule discount description label to address object * * @param Address $address * @param \Magento\SalesRule\Model\Rule $rule * @return $this */ public 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; }
/** * @param \Magento\Sales\Model\Quote\Address $address * @return $this */ public function fetch(\Magento\Sales\Model\Quote\Address $address) { $amount = $address->getDiscountAmount(); if ($amount != 0) { $title = __('Discount'); $code = $address->getCouponCode(); if (strlen($code)) { $title = __('Discount (%1)', $code); } $address->addTotal(array('code' => $this->getCode(), 'title' => $title, 'value' => -$amount)); } return $this; }