public function testGetAttributeById() { /** @var $product Mage_Catalog_Model_Product */ $product = Mage::getModel('Mage_Catalog_Model_Product')->load(1); $this->assertNull($this->_model->getAttributeById(-1, $product)); $this->assertNull($this->_model->getAttributeById(null, $product)); $sku = Mage::getSingleton('Mage_Eav_Model_Config')->getAttribute('catalog_product', 'sku'); $this->assertSame($sku, $this->_model->getAttributeById($sku->getId(), $product)); }
public function testGetAttributeById() { $product = new Mage_Catalog_Model_Product(); $product->load(1); // fixture $this->assertNull($this->_model->getAttributeById(-1, $product)); // @bug: MAGE-2831 //$this->assertNull($this->_model->getAttributeById(null, $product)); $this->assertInstanceOf('Mage_Catalog_Model_Resource_Eav_Attribute', $this->_model->getAttributeById(null, $product)); $sku = Mage::getSingleton('Mage_Eav_Model_Config')->getAttribute('catalog_product', 'sku'); $this->assertSame($sku, $this->_model->getAttributeById($sku->getId(), $product)); }
/** * Retrieve product attribute by identifier * Difference from abstract: any attribute is available, not just the ones from $product's attribute set * * @param int $attributeId * @param Mage_Catalog_Model_Product $product * @return Mage_Catalog_Model_Resource_Eav_Attribute */ public function getAttributeById($attributeId, $product) { $attribute = parent::getAttributeById($attributeId, $product); return $attribute ?: Mage::getModel('Mage_Catalog_Model_Resource_Eav_Attribute')->load($attributeId); }