So you have added a new custom product attribute. It is not a problem to access and use it in Product View. And you probably know that you should enable it under the attribute settings page of Magento backend in order to make it available for the Product List (or category view) section. But what about checkout/cart area?
Attribute is not being loaded by default. There is a simple and elegant way to make it available for access. First, we need to create a new module. During the checkout process we have to deal with quotes, so our goal is to add an attribute to the list of attributes that are loading with quote object. This can be done with XML by adding the following code to your config.xml:
<global> <sales> <quote> <item> <product_attributes> <attribute1 /> <attribute2 /> </product_attributes> </item> </quote> </sales> </global>
where attribute1 and attribute2 are your attribute codes.
Then you can access attribute using the code below:
$item->getData('attribute1'); //if you use observer or quote object: $item->getProduct()->getData('attribute1');