You can rewrite the category view block and remove the breadcrumbs block if the display mode is PAGE
For this create a new module. ([Namespace]_[Module]
). Here is what you need.
app/etc/modules/[Namespace]_[Module].xml
- the declaration file
<?xml version="1.0"?>
<config>
<modules>
<[Namespace]_[Module]>
<codePool>local</codePool>
<active>true</active>
<depends>
<Mage_Catalog />
</depends>
</[Namespace]_[Module]>
</modules>
</config>
app/code/local/[Namespace]/[Module]/etc/config.xml
- the configuration file
<config>
<modules>
<[Namespace]_[Module]>
<version>1.0.0</version>
</[Namespace]_[Module]>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<category_view>[Namespace]_[Module]_Block_Category_View</category_view>
</rewrite>
</catalog>
</blocks>
</global>
</config>
app/code/local/[Namespace]/[Module]/Block/Category/View.php
- your new block
<?php
class [Namespace]_[Module]_Block_Category_View extends Mage_Catalog_Block_Category_View {
protected function _prepareLayout() {
if ($this->isContentMode()){ //if PAGE display then remove the breadcrumbs
$this->getLayout()->getBlock('root')->unsetChild('breadcrumbs');
}
return parent::_prepareLayout()
}
}
[EDIT]
If you want to control this at a theme level you can try this.
Add in your layout file of the desired theme, this xml section:
<catalog_category_default>
<reference name="category.products">
<action method="setCanRemoveBreadcrumbs"><param>1</param></action>
</reference>
</catalog_category_default>
Then the block described above becomes:
<?php
class [Namespace]_[Module]_Block_Category_View extends Mage_Catalog_Block_Category_View {
protected function _prepareLayout() {
if ($this->getCanRemoveBreadcrumbs() && $this->isContentMode()){ //if PAGE display then remove the breadcrumbs
$this->getLayout()->getBlock('root')->unsetChild('breadcrumbs');
}
return parent::_prepareLayout()
}
}