I have a
Mage_Sales_Model_Order_Shipment_Item object and I'm able to load a product model using the shipment item's sku (if I can get this attribute by just using the shipment item, all the better).
The loaded product model doesn't seem to contain the
size attribute. When I
var_dump($prod) there is nothing about its size. The attribute's code is
size. It is set on the product I am loading, it is global, Dropdown type, not unique, required. How can I get a specific product attribute, in this case "size", from a model loaded by sku?
$prod = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku); echo $prod->getSize(); echo $prod->getData('size');
Also, I would expect this to return a value of
57. It is a dropdown type attribute. How can I get the value for this option_id? For example, I'd like to get the value
57. Btw, I see these values set for this particular sku in the database.
I've tried this solution also
$pc = Mage::getResourceModel('catalog/product_collection') ->addAttributeToFilter('size', array('notnull' => 'true')) ->addAttributeToFilter('size', array('neq' => '')) //->addAttributeToFilter('sku', array('eq' => '100-0055-BLK-S')) ->addAttributeToSelect('size'); //$p = $pc->getFirstItem(); $usedAtts = array_unique($pc->getColumnValues('size')); $attModel = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'size'); $usedAtts = $attModel->getSource()->getOptionText(implode(',', $usedAtts)); var_dump($usedAtts);
Update: I tried the method in my first example, loading the product with
sku, on a fresh install and it worked. I setup the size attribute just the same, except the new install has it in the 'default' attribute set, where the prior is a custom. I will try to look into those differences.. but in the meantime, anyone have an idea of why I can't get it in my prior install? I setup the products the same. In the prior, I can get the color attribute.. not sure why I can't get size.