Magento 1x models
Products
Product model
This function will fetch all the product information in the database.
$_product = Mage::getModel('catalog/product');
Load the product data via attribute
We can load the product data through the product attribute. We can load the product data through product’s sky by using the loadByAttribute and passing the two parameters that is ‘sku’, and $_sku variable which contains the product’s sku value.
$_sku = 'Tshirt-b-m';
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_sku);
Load the product’s categories
Get all the categories data from the product
$_product = Mage::getModel('catalog/product');
$_categories = $_product->getCategoryCollection();
echo '<pre>';
print_r($_categories);
Category
Category model
This function will return all the category information in the database.
$_category = Mage::getModel('catalog/category');
Load the category via category id
We can get the particular category information by loading the category id
$_catId = 24;
$_category = Mage::getModel('catalog/category')->load($_catId);
Use the get prefix to fetch the data
We can use the get prefix to fetch the data.
$_catId = 24;
$_category = Mage::getModel('catalog/category')->load($_catId);
echo $_category->getName();
echo $_category->getUrl();
echo $_category->getDescription();
Load all the product data by category
$cat_id = 24;
$_category = Mage::getModel('catalog/category')->load($cat_id);
$_products = $_category->getProductCollection();
echo '<pre>';
print_r($_products->getData());
Request
Get the get/post method
The first line gets all the get/post data. The second line only get the particular field named as “name”.
Mage::app()->getRequest()->getParams();
Mage::app()->getRequest()->getParam('name');
Session
Check Customer Session and get data
This code will check if the customer is logged in or not. If it’s logged in then its fetches the customer data.
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
//logged in
$_customer = Mage::getSingleton('customer/session')->getCustomer();
}
else {
// not logged in
}
$customer = Mage::getSingleton('customer/session')->getCustomer();
Flash session
This function will store the message in the session and displays on the next page as a notification.
Mage::getSingleton('core/session')->addSuccess('Success message');
Mage::getSingleton('core/session')->addNotice('Notice message');
Mage::getSingleton('core/session')->addWarning('Warning message');
Mage::getSingleton('core/session')->addError('Error message');
This message will work only if another redirect page contains one line of code
<?php echo $this->getMessagesBlock()->toHtml() ?>
Setting own session variable and data
The prefix set will store the key and value on the session. The get prefix will get the data. The awesome is the key of the session.
Mage::getSingleton('core/session')->setAwesome('This is awesome open source platform');
echo Mage::getSingleton('core/session')->getAwesome();
CMS
CMS Block
This functionality will fetch all the CMS block data that was created on the cms page.
$collection = Mage::getModel('cms/block')
->getCollection()
->load();
$collection->setOrder('identifier', 'DESC');
Category Static Block
This functionality will listed out static block name, identifier, and $content information which was select on the category page.
$cat = Mage::getModel('catalog/category')->load(13);
$mode = $cat->getDisplayMode();
//display mode = PAGE means, that category has a static block
if($mode == 'PAGE' || $mode == 'PAGE_AND_PRODUCTS'){
//get static block id
$page = $cat->getLandingPage();
//cms block
$cms_block = Mage::getModel('cms/block')->load($page);
//retrieve cms block data
$title = $cms_block->getTitle(); // title of cms block
$identifier = $cms_block->getIdentifier(); //identifier for that cms block
$content = $cms_block->getContent(); //get entire content of cms block
}
// second method
$category = Mage::getSingleton('catalog/layer')->getCurrentCategory();
$page = $category->getLandingPage();
//cms block
$cms_block = Mage::getModel('cms/block')->load($page);
//retrieve cms block data
echo $title = $cms_block->getTitle(); // title of cms block
echo $identifier = $cms_block->getIdentifier(); //identifier for that cms block
echo $content = $cms_block->getContent(); //get entire content of cms block
Customer
Customer Model
This code will get all the customer data
$_customer = Mage::getModel('customer/customer');
echo '<pre>';
print_r($customer->getData());
Get the customer data via customer id
This function will fetch specific customer data by using the customer id
$_customerId = 12;
$_customer = Mage::getModel('customer/customer')->load($_customerId);
echo $_customer->getEmail()
// or
$data = $customer->getData();
echo $data["email"];