Load a Product by ID
<?php
// get product model by product id, assuming you have known product id, $productId
$_product = Mage::getModel('catalog/product')->load($productId)
Load a Product by SKU
<?php
$sku = 'my-product-sku';
$product = Mage::getModel('catalog/product')->load($sku, 'sku');
if ($product->getId()) {
echo $product->getName();
echo $product->getProductUrl();
}
else {
echo 'Product not found with SKU of ' . $sku;
}
Load a Product by an Attribute
<?php
// Instantiate a product collection object
$products = Mage::getResourceModel('catalog/product_collection');
// Select which fields to load into the product
// * will load all fields but it is possible to pass an array of
// select fields to load
$products->addAttributeToSelect('*');
// Ensure the product is visible
$products->addAttributeToFilter('visibility', array('neq' => 1));
// Ensure the product is enabled
$products->addAttributeToFilter('status', 1);
// Add Name filter
$products->addAttributeToFilter('name', 'My Product Name');
// Limit the collection to 1 result
$products->setCurPage(1)->setPageSize(1);
// Load the collection
$products->load();
if ($products->getFirstItem()) {
$product = $products->getFirstItem();
echo $product->getName();
}
else {
echo 'No product exists with the name ' . $name;
}
<?php
// Print out the SQL query generated by the collection object so far
echo $products->getSelect() . '<br/><br/>';
Loading a Category by an Attribute
<?php
// Instantiate a category collection object
$categories = Mage::getResourceModel('catalog/category_collection');
// Select which fields to load into the category
// * will load all fields but it is possible to pass an array of
// select fields to load
$categories->addAttributeToSelect('*');
// Ensure the category is active
$categories->addAttributeToFilter('is_active', 1);
// Add Name filter
$categories->addAttributeToFilter('name', 'My Category Name');
// Limit the collection to 1 result
$categories->setCurPage(1)->setPageSize(1);
// Load the collection
$categories->load();
if ($categories->getFirstItem()) {
$category = $categories->getFirstItem();
echo $category->getName();
}
else {
echo 'No category exists with the name ' . $name;
}