Archive » December 2015

How to get the child block object in .phtml file in Magento

Magento

In one of our projects, the requirement was to have a different layout for some category pages. So, we decided to use a different template file for these categories. We added the following code in the “Custom Layout Update” field for these categories in admin.

 <reference name="category.products">
    <action method="setTemplate">
        <template>catalog/category/custom-category.phtml</template>
    </action>
</reference>

These category pages need to show the products in a different layout.

Continue reading »

How to display the CMS static blocks on a page in Magento

Magento

In Magento you can create CMS static block from Admin by following the path: Admin >> CMS >> Static Blocks.

Lets see how we can display them on the frontend.

1. Using Layout updates

You can add layout updates in local.xml file for a page as shown below:


<reference name="right">
     <block type="cms/block" name="your_block_name" before="-">
         <action method="setBlockId">
             <block_id>your_block_identifier</block_id>
         </action>
     </block>
</reference>

You can enter these layout updates in Magento admin also – Categories, Products, CMS Pages provide a field for “Custom Layout Update”.

Continue reading »

How to find the position of a product in a Magento category

Magento

In Magento you can set the position of the products in a category from Magento admin by following the path Admin >> Catalog >> Categories >> Manage Categories >> Edit a category >> Set the position of the products in the “Category Products” tab.

Let see how we can find the position of a product on the product detail page:


$catId = Mage::registry('current_product')->getCategoryId();
$category = Mage::getModel('catalog/category')->load($catId);
$productPositions = Mage::getResourceModel('catalog/category')->getProductsPosition($category); // This returns all product ids with their position
echo $productPositions[$_product->getId()]; //Print the product postion

Continue reading »

How to set data in Magento Layout Update XML to make it available for use in templates

Magento

If you need to set data in a block so that you can use it in the block view file then you can do it in the layout xml files or in Magento admin using the Layout Update XML/Custom Layout Update XML field.

Suppose you want to differentiate a category based on a variable “category_type”, if the value of “category_type” is “sale” then you will display category image else not on the category landing page.

Navigate to Admin >> Catalog >> Categories >> Manage Categories. Click on the category that you want to mark as a “sale” category to edit it. We assume that “Is Anchor” is set as “Yes” for the category in the “Display Settings” tab.

Continue reading »

Back to top