Exemple #1
0
 /**
  * Convert address discount description array to string
  *
  * @param Address $address
  * @param string $separator
  * @return $this
  */
 public function prepareDescription($address, $separator = ', ')
 {
     $descriptionArray = $address->getDiscountDescriptionArray();
     if (!$descriptionArray && $address->getQuote()->getItemVirtualQty() > 0) {
         $descriptionArray = $address->getQuote()->getBillingAddress()->getDiscountDescriptionArray();
     }
     $description = $descriptionArray && is_array($descriptionArray) ? implode($separator, array_unique($descriptionArray)) : '';
     $address->setDiscountDescription($description);
     return $this;
 }
Exemple #2
0
 /**
  * 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;
 }