Rohit Goel
Rohit Goel

Reputation: 3554

Get product atribute value in magento

Hi i have got the maximum elements of products using below code but it doesn't show the size attribute of my product, the size attribute is visible on front-end but i cant understand why it is not printing with this code

<?php
ob_start();
session_start();
ini_set('display_errors', 1);
//for order update
include '../../../../app/Mage.php';
Mage::app('default');
echo '<pre>';
if(isset($_REQUEST['productid'])){
$productId = $_REQUEST['productid'];
}else{

$productId = '12402'; // product ID 10 is an actual product, and used here for a test
}
$product = Mage::getModel('catalog/product')->load($productId);  //load the product     
//$product_id = $product->getId();
//$created_at = $product->getcreated_at();
//$description = $product->getdescription();
//$short_description = $product->getshort_description();
//$sku = $product->getsku();
//$size_fit = $product->getsize_fit();
//$style_ideas = $product->getstyle_ideas();
//$name = $product->getname();
//$price = $product->getprice();
//$stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();  

Upvotes: 0

Views: 7159

Answers (5)

Varun Bansal
Varun Bansal

Reputation: 382

You can use this:

$product->getData('Your Attribute ID');

Upvotes: 1

Toon Van Dooren
Toon Van Dooren

Reputation: 613

If its the size_fit attribute (i'm guessing that because its the only size attempt in your code..) use $product->getSizeFit(). For just size use $product->getSize(). When this is not returning anything, please post the attribute installer if you have one. Mufadall his answer is also correct but judging your code you are just using wrong syntax.

Basicly according to the magic get method the first letter is turned into a capital and all other letters after an underscore.

Ex.: To fetch my_sample_attribute use getMySampleAttribute().

getData('my_sample_attribute') would also be an option but you shouldn't make a habbit of doing that because in some cases, for some attributes getData('attribute') returns a different value then getAttribute()....

Upvotes: 3

Vlad Preda
Vlad Preda

Reputation: 9910

You can use the getters, or getData(); The getter is set in magento with the magic __get() method, and you can use it in the following way:

$product->getDescription() // ( to get description attribute)
$product->getShortDescription() // (to get short_description attribute)

So basically you explode the attribute with underscores, and capitalize the words, and you will get what you need to put after "get".

Here is something very useful I use all the time

Zend_Debug::dump($product->getData());

This gets you all the data you have to work with. If you are missing data, it means it's not loaded.

Good luck!

Upvotes: 0

Pavel Novitsky
Pavel Novitsky

Reputation: 1694

$product->getData($attribute_code);

will return you the actual attribute value. For attribute with type dropdown it will return option id

$product->getResource()->getAttribute($attribute_code)->getFrontend()->getValue($product);

will return actual value

Upvotes: 2

Mufaddal
Mufaddal

Reputation: 5381

Go to Size attribute and check for Drop Down used in product listing if it set to No then set it to Yes, after that you can get your size attribute with other product attribute

Upvotes: 0

Related Questions