除了将子类别添加到主根类别时获得的正常导航之外,我希望能够创建一个新的根类别,为其分配子类别并将其显示为单独的菜单。
这可能吗?
检索另一个根类别
<?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 -->
在一个理想的世界里,你现在已经找到了答案,但如果你没有修改 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 会有比这更高的标准。