2

除了将子类别添加到主根类别时获得的正常导航之外,我希望能够创建一个新的根类别,为其分配子类别并将其显示为单独的菜单。

这可能吗?

4

2 回答 2

0

希望这可以帮助您:
链接 1
链接 2

检索另一个根类别

<?php 
echo '<pre>';
$id=9; 
    $catagory_model = Mage::getModel('catalog/category');
    $categories = $catagory_model->load($id); // where $id will be the known category id
    if(!empty($categories))
    {
        echo 'category name->'.$categories->getName(); //get category name
        echo '<br>';
        echo 'category image url->'.$categories->getImageUrl(); //get category image url
        echo '<br>';
        echo 'category url path->'.$categories->getUrlPath(); //get category url path
        echo '<br>'; 
    }
    ?>

现在$id=9;是我的新根类别 ID。
要检索这些新根类别的子类别,($id=9;)下面是以下参考代码。
根据您的要求定制它。

<?php $helper = $this->helper('catalog/category') ?>
 <?php $categories = $this->getStoreCategories() ?>
  <?php foreach($categories as $category): ?>
    <?php $subcategories = $category->getChildren() ?>
      <?php foreach($subcategories as $subcategory): ?>
        <?php $subsubcategories = $subcategory->getChildren() ?>
         <?php foreach($subsubcategories as $subsubcategory): ?>
         <?php endforeach; ?><!-- end foreach subsubcategories -->
      <?php endforeach; ?><!-- end foreach subcategories -->
  <?php endforeach; ?><!-- end foreach categories -->
于 2012-11-19T09:26:57.503 回答
0

在一个理想的世界里,你现在已经找到了答案,但如果你没有修改 Nikhil 的答案,让我基本上按照你的描述去做,完全没有任何便利......

$id=9; 
$catagory_model = Mage::getModel('catalog/category');
$categories = $catagory_model->load($id);
if(!empty($categories))
{
    $cats = explode(",", $categories->getChildren());
    foreach($cats AS $c)
    {
        $cat = $catagory_model->load(trim($c));
        echo '<a href="/'.$cat->getUrlKey().'">'.$cat->getName().'</a>';
    }
}

我只是粘贴我用过的东西。现实情况是,您必须构建 html 才能使其执行您想要执行的任何操作。如果循环中有子类别,则必须在 foreach 部分中运行另一个 fetch。我对 magento 不够熟悉,不知道可以在 $cat 对象上运行哪些方法。我做了一个print_r($cat)检查对象并幸运地猜测 getUrlKey 将可用。

Magento...噗!你会认为 ebay 会有比这更高的标准。

于 2014-05-10T01:40:51.080 回答