Magento 1.9垂直菜单问题

时间:2015-01-06 08:12:37

标签: magento magento-1.9

我偶然发现了一个相对已知的问题,但我无法找到解决方案。

我正在使用magento 1.9 CE

我找到了一些代码来显示当前类别及其子项的垂直菜单,并在主页上显示根类别,除了1个小细节外,一切正常。子类别不按后端顺序加载。与后端加载中的设置顺序相同的顺序非常重要。我已尝试过各种各样的变体,比如getCChildrenCategories,但它会产生一个blnak页面。我还找到了可以使用的菜单,但是当我访问主页时,我收到错误并且页面变成空白。

这是我目前正在使用的代码。

<section class="block-layered-nav custom-left-menu" role="navigation">
<div class="block-content">
<?php 
echo "<dl id='narrow-by-list2'>";
$_category  = $this->getCurrentCategory();
$subcatid = $_category->getId();
$parentCategory = Mage::getBlockSingleton('catalog/navigation')->getCurrentCategory()->parent_id;
$name = $_category->getName();
               $root_category = Mage::getModel('catalog/category')->load($subcatid);
               $subcategories = $root_category->getChildren();
               if($subcategories != "")
               {
                 echo "<span class='h3'>Categorie</span><ol>";
                 foreach(explode(',',$subcategories) as $subcategory) {
                 $category = Mage::getModel('catalog/category')->load($subcategory);
                 echo '<li><a href="'.$category->getURL() .'" title="'.$category->getName().'" />'.$category->getName().'</a></li>';
               }
               }
               else
               {
                   echo "<span class='h3'>Categorie</span><ol>";
                   $root_category = Mage::getModel('catalog/category')->load($parentCategory);
                   $subcategories = $root_category->getChildren();
                   foreach(explode(',',$subcategories) as $subcategory) {
                           $category = Mage::getModel('catalog/category')->load($subcategory);
                           echo '<li><a href="'.$category->getURL() .'" title="'.$category->getName().'" />'.$category->getName().'</a>';
               }             
            } 
echo "</ol>";
?>
</div>
</section>

非常感谢任何帮助。我所知道的是,在这段代码的某处,它没有以正确的方式调用类别,我也尝试过:

$currentCat = Mage::registry('current_category');

但这导致空白主页。

以下是dev enviremont的链接:http://dev.smoldersbv.nl/schroeven-en-bouten.html

如果将鼠标悬停在主导航栏上,则会看到不同的顺序,正确的顺序,然后在左侧菜单上。

2 个答案:

答案 0 :(得分:0)

这是正常的$this->getCurrentCategory()获取当前类别=您当前正在浏览的类别。 在主页上,您不在类别中,例如在任何其他cms页面上,甚至在联系我们页面上,......(还有更多)。所以当前类别中没有任何内容,这是显而易见的。

答案 1 :(得分:0)

问题解决了,

此菜单的错误请求方式无法生成后端的顺序,所以我最终使用了一个完整的不同模型。

无论如何,看着thnx。