search
top

Get Product ID and Product Name in Magento

In Magento eCommerce while working with catalog model, There arise the need to fetch product details from product id.

We can get all product details if we have product id.

But sometimes we only have product name, so we need to get product id for getting product details.

I am listing here both the method.

1) Product details from Product ID.

<?php
$model = Mage::getModel('catalog/product') //getting product model

$_product = $model->load($productid); //getting product object for particular product id

echo $_product->getShortDescription(); //product's short description
echo $_product->getDescription(); // product's long description
echo $_product->getName(); //product name
echo $_product->getPrice(); //product's regular Price
echo $_product->getSpecialPrice(); //product's special Price
echo $_product->getProductUrl(); //product url
echo $_product->getImageUrl(); //product's image url
echo $_product->getSmallImageUrl(); //product's small image url
echo $_product->getThumbnailUrl(); //product's thumbnail image url	

?>

2) Product ID from Product Name

This is little bit complex. (If anybody has better way please post here)

<?php
$product_name = 'Test Product'; //product name
$model = Mage::getModel('catalog/product') //getting product model
$collection = $model->getCollection(); //products collection
foreach ($collection as $product) //loop for getting products
{					

    $model->load($product->getId());
    $pname = $model->getName();
    if(strcmp($pname,$product_name)==0)
    {
	$id = $product->getId();
    }
}
echo 'Required ID->'.$id; //id of product
?>

3 Responses to “Get Product ID and Product Name in Magento”

  1. letterheads says:

    Interesting post – you’ve done a thorough job :)

  2. Paul Whipp says:

    Its easier to go the source:

    To find a product named “b1″ use:

    SELECT
    entity_id
    FROM
    catalog_product_entity_varchar
    JOIN eav_attribute ON catalog_product_entity_varchar.attribute_id = eav_attribute.attribute_id
    WHERE
    catalog_product_entity_varchar.entity_type_id = 4 AND
    eav_attribute.attribute_code = “name” AND
    catalog_product_entity_varchar.value = “b1″;

    I hope that is readable (there is no comment preview ;)

  3. andres says:

    You write:

    $collection = $tmp->getCollection(); //products collection

    Where comes $tmp from????

Leave a Reply

top