Esempio n. 1
0
 /**
  * Correct product amount to add to cart
  *
  * @param \XLite\Model\OrderItem $item   Product to add
  * @param integer                $amount Amount of product
  *
  * @return integer
  */
 protected function correctAmountToAdd(\XLite\Model\OrderItem $item, $amount)
 {
     if ($item && $item->getProduct()->mustHaveVariants()) {
         $item->setVariant($item->getProduct()->getVariantByAttributeValuesIds($item->getAttributeValuesIds()));
     }
     return parent::correctAmountToAdd($item, $amount);
 }
Esempio n. 2
0
 /**
  * Check order item and return true if this is valid
  *
  * @param \XLite\Model\OrderItem $entity Order item entity
  *
  * @return boolean
  */
 protected function isValidEntity($entity)
 {
     $result = 0 < $entity->getAmount();
     if ($result && ($entity->hasAttributeValues() || $entity->getProduct()->hasEditableAttributes())) {
         $result = array_keys($entity->getAttributeValuesIds()) == $entity->getProduct()->getEditableAttributesIds();
     }
     return $result;
 }
 /**
  * {@inheritDoc}
  */
 public function getAttributeValuesIds()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAttributeValuesIds', array());
     return parent::getAttributeValuesIds();
 }