Esempio n. 1
0
 /**
  * Correct product amount to add to cart.
  *
  * @param \XLite\Model\Product $product Product to add
  * @param integer|null         $amount  Amount of product
  *
  * @return integer
  */
 protected function correctAmountAsProduct(\XLite\Model\Product $product, $amount)
 {
     if (is_null($amount) && $product->mustHaveVariants()) {
         $amount = 1;
     } else {
         $amount = parent::correctAmountAsProduct($product, $amount);
     }
     return $amount;
 }
Esempio n. 2
0
 /**
  * Get attribute value
  *
  * @param \XLite\Model\Product $product Product
  *
  * @return mixed
  */
 public function getDefaultAttributeValue(\XLite\Model\Product $product)
 {
     $attributeValue = null;
     if ($product->mustHaveVariants()) {
         $variant = $product->getDefaultVariant();
         if ($variant) {
             foreach ($variant->getValues() as $av) {
                 if ($av->getAttribute()->getId() == $this->getId()) {
                     $attributeValue = $av;
                     break;
                 }
             }
         }
     }
     return $attributeValue ?: parent::getDefaultAttributeValue($product);
 }
 /**
  * {@inheritDoc}
  */
 public function mustHaveVariants()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'mustHaveVariants', array());
     return parent::mustHaveVariants();
 }