Dx3webs : The Ultimate Magento Host - Speed : Support : Security


Magento tip: Place category image above main layout below nav

Sometime the default position of the category images (top of the main col above product grid) breaks the design of a site. Ideally what we want is a full page banner that runs the full width of the page.


Desired Layout


Default layout

Moving the category image above the two / three column layout and below the nav bar requires a few changes to your template.

    1. In app/design/frontend/default/[yourtheme]/template/catalog/category create category-image.phtml
    2. Add
<?php if($_imageUrl=$this->getCurrentCategory()->getImageUrl()): ?>
        <p class="category-image"><img src="<?php echo $_imageUrl ?>" alt="<?php echo $this->htmlEscape($this->getCurrentCategory()->getName()) ?>" /></p>
    <?php endif; ?>
    1. Edit ./app/design/frontend/default/[yourtheme]/layout/page.xml and under the breadcrumbs reference add
<block type="catalog/category_view" name="category_banner" as="category_banner" template="catalog/category/cat_img.phtml" />
    1. edit ./app/design/frontend/default/[yourtheme]/template/page/2columns-left.phtml
<?php if (Mage::registry('current_category')) { ?>
<div class="category-banner">
    <?php echo $this->getChildHtml('category_banner') ?>
<?php }?>

Tags: , , , ,

4 Comments : Leave a Reply

  1. Gautama says:

    This worked perfectly for me. But can you tell me how to remove the other other original banner? I can’t find any reference in page.xml or 2columns-left.phtml. Thank you!

  2. Gautama says:

    Nevermind, got it sorted out!

  3. Christian says:

    Thanks for this Tutorial, there is an Error in this Line:

    It must be category-image.phtml instead of cat_img.phtml

  4. Ryan says:

    Hi, This is EXACTLY what I am looking to accomplish although it does not seem to work for me. Are there parts of this code missing from this post? I must be missing something because it seems so simple but I cannot get it to work in Magento

Leave a Reply