/** * @magentoDataFixture Mage/Catalog/_files/product_simple.php */ public function testGetOptionSku() { $product = new Mage_Catalog_Model_Product(); $this->assertEmpty($this->_model->getOptionSku($product)); $product->load(1); // fixture $this->assertEquals('simple', $this->_model->getOptionSku($product)); foreach ($product->getOptions() as $id => $option) { if ('field' == $option->getType()) { $product->addCustomOption('option_ids', $id); $quoteOption = clone $option; $product->addCustomOption("option_{$id}", $quoteOption); $this->assertEquals('simple-1-text', $this->_model->getOptionSku($product)); break; } } }
/** * 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; }
/** * 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; }