在我的Magento网站的所有页面中,Leftnav都处于活动状态。但是我想把它隐藏在特定的类别/类别中。
这是我的代码:
$cat = Mage::getModel('catalog/category')->load(3);
$subcats = $cat->getChildren();
foreach(explode(',',$subcats) as $subCatid)
{
$_category = Mage::getModel('catalog/category')->load($subCatid);
if($_category->getIsActive())
{
$sub_cat = Mage::getModel('catalog/category')->load($_category->getId());
$sub_subcats = $sub_cat->getChildren();
foreach(explode(',',$sub_subcats) as $sub_subCatid)
{
$_sub_category = Mage::getModel('catalog/category')->load($sub_subCatid);
if($_sub_category->getIsActive()) {
echo '<li class="sub_cat"><a href="'.$_sub_category->getURL().'" title="View products for "'.$_sub_category->getName().'" category">'.$_sub_category->getName().'</a></li>';
}
}
}
}
?>
提前致谢。
答案 0 :(得分:0)
首先,如果上面的代码是从块文件中获取的,它不应该有回显或直接输出HTML,它应该将相关数据返回到模板,然后构建并输出HTML。如果以上是模板文件,那里就不应该有那么多逻辑。模板应该只有非常小的逻辑,而是调用块方法并使用返回的数据。
要回答您的问题,我建议您只需定义一个不同的页面布局,该页面布局会排除相关类别的设计标签下的左栏。如果您需要在左栏中维护其他内容,我建议您创建一个新的根模板,该模板会排除相关内容,然后以相同的方式选择此内容。