Example #1
0
 /**
  * @magentoDataFixture Mage/Catalog/_files/product_simple.php
  */
 public function testGetSku()
 {
     $product = new Mage_Catalog_Model_Product();
     $product->load(1);
     // fixture
     $this->assertEquals('simple', $this->_model->getSku($product));
 }
Example #2
0
 /**
  * Get sku of product
  *
  * @param  Mage_Catalog_Model_Product $product
  * @return string
  */
 public function getSku($product = null)
 {
     $sku = $this->getProduct($product)->getData('sku');
     $simpleOption = $this->getProduct($product)->getCustomOption('simple_product');
     if ($simpleOption) {
         $optionProduct = $simpleOption->getProduct($product);
         $simpleSku = null;
         if ($optionProduct) {
             $simpleSku = $simpleOption->getProduct($product)->getSku();
         }
         $sku = parent::getOptionSku($product, $simpleSku);
     } else {
         $sku = parent::getSku($product);
     }
     return $sku;
 }
Example #3
0
 /**
  * Return product sku based on sku_type attribute
  *
  * @param Mage_Catalog_Model_Product $product
  * @return string
  */
 public function getSku($product = null)
 {
     $sku = parent::getSku($product);
     if ($this->getProduct($product)->getData('sku_type')) {
         return $sku;
     } else {
         $skuParts = array($sku);
         if ($this->getProduct($product)->hasCustomOptions()) {
             $customOption = $this->getProduct($product)->getCustomOption('bundle_selection_ids');
             $selectionIds = unserialize($customOption->getValue());
             if (!empty($selectionIds)) {
                 $selections = $this->getSelectionsByIds($selectionIds, $product);
                 foreach ($selections->getItems() as $selection) {
                     $skuParts[] = $selection->getSku();
                 }
             }
         }
         return implode('-', $skuParts);
     }
 }
Example #4
0
 /**
  * Get sku of product
  *
  * @param  Mage_Catalog_Model_Product $product
  * @return string
  */
 public function getSku($product = null)
 {
     $sku = $this->getProduct($product)->getData('sku');
     if ($simpleOption = $this->getProduct($product)->getCustomOption('simple_product')) {
         //$simple_sku = $simpleOption->getProduct($product)->getSku();
         $o = $simpleOption->getProduct($product);
         $simple_sku = is_object($o) ? $o->getSku() : null;
         $sku = parent::getOptionSku($product, $simple_sku);
     } else {
         $sku = parent::getSku($product);
     }
     return $sku;
 }