Exemplo n.º 1
0
 /**
  * Prepare order item before price calculation
  *
  * @param \XLite\Model\OrderItem $item       Order item
  * @param array                  $attributes Attributes
  *
  * @return void
  */
 protected function prepareItemBeforePriceCalculation(\XLite\Model\OrderItem $item, array $attributes)
 {
     parent::prepareItemBeforePriceCalculation($item, $attributes);
     if ($item && $item->getProduct()->mustHaveVariants()) {
         $variant = $item->getProduct()->getVariantByAttributeValuesIds($attributes);
         if ($variant) {
             $oldVariant = $item->getVariant();
             if (!$oldVariant || $oldVariant->getId() != $variant->getId()) {
                 \XLite\Core\Request::getInstance()->oldAmount = null;
             }
             $item->setVariant($variant);
         }
     }
     return $item;
 }