/**
  * Prepare product and its configuration to be added to some products list.
  * Perform standard preparation process and then prepare options belonging to specific product type.
  *
  * @param  Varien_Object $buyRequest
  * @param  Mage_Catalog_Model_Product $product
  * @param  string $processMode
  * @return array|string
  */
 protected function _prepareProduct(Varien_Object $buyRequest, $product, $processMode)
 {
     $subscriptionOption = Mage::helper('adyen_subscription/quote')->getProductAdditionalOptions($buyRequest, $product);
     if ($subscriptionOption) {
         $product->addCustomOption('additional_options', serialize([$subscriptionOption]));
     }
     return parent::_prepareProduct($buyRequest, $product, $processMode);
 }
 public function prepareForCart(Varien_Object $buyRequest, $product = null)
 {
     $product = $this->getProduct($product);
     parent::prepareForCart($buyRequest, $product);
     if ($buyRequest->getcpid()) {
         $product->addCustomOption('cpid', $buyRequest->getcpid());
     }
     return array($product);
 }
示例#3
0
 protected function _prepareProduct(Varien_Object $buyRequest, $product, $processMode)
 {
     $product = $this->getProduct($product);
     parent::_prepareProduct($buyRequest, $product, $processMode);
     if ($buyRequest->getCpid()) {
         $product->addCustomOption('cpid', $buyRequest->getCpid());
     }
     return array($product);
 }
示例#4
0
 public function getOrderOptions($product = null)
 {
     $optionArr = parent::getOrderOptions($product);
     if ($this->hasConfigurableProductParentId($product)) {
         $attributes = $this->getConfigurableProductParent($product)->getTypeInstance(true)->getUsedProductAttributes($this->getConfigurableProductParent($product));
         foreach ($attributes as $attribute) {
             $optionArr['options'][] = array('label' => $attribute->getFrontendLabel(), 'value' => $this->getProduct($product)->getAttributeText($attribute->getAttributeCode()), 'option_id' => $attribute->getId());
         }
     }
     return $optionArr;
 }
示例#5
0
 public function testHasWeightTrue()
 {
     $this->assertTrue($this->_model->hasWeight(), 'This product has not weight, but it should');
 }