如何按类别ID编号显示特定类别及其子项?

时间:2012-10-12 22:32:38

标签: php magento

我正在使用Magento并且在ID 99下有一个类别。我想使用HTML无序列表显示它及其子项。怎么样?

2 个答案:

答案 0 :(得分:1)

我从原始问题中复制并重新格式化了此代码。积分给Clint Hubbard Jr。

<ul>
  <li>
    <h2>
      <a href="<?php echo Mage::getModel("catalog/category")->load(99)->getUrl() ?>">
        <?php echo Mage::getModel("catalog/category")->load(99)->getName() ?>
      </a>
    </h2>
  </li>
  <?php $children = Mage::getModel('catalog/category')->getCategories(118) ?>
  <?php foreach ($children as $category): ?> 
    <li>
      <a href="<?php echo $category->getUrl(); ?>">
        <?php echo $category->getName(); ?>
      </a>
    </li>
  <?php endforeach; ?>
</ul>

使用Mage::getModel()请求类别模型,然后加载ID为99的实例并检索其URL及其名称。然后将其子项放入数组中并进入foreach循环(使用带有冒号和endforeach的PHP备用控制结构)。

答案 1 :(得分:0)

显然我的类别模型请求不够具体,下面是解决方案,并解决了获取正确网址的问题。

<ul class="menu-list-1">
  <li>
    <h2>
      <a href="<?php echo Mage::getModel("catalog/category")->load(99)->getUrl() ?>">
        <?php echo Mage::getModel("catalog/category")->load(99)->getName() ?>
      </a>
    </h2>
  </li>
  <?php foreach (Mage::getModel('catalog/category')->load(99)->getChildrenCategories() as $childCategory): ?>
    <li>
      <a href="<?php echo $childCategory->getUrl(); ?>">
        <?php echo $childCategory->getName(); ?>
      </a>
    </li>
  <?php endforeach; ?>
</ul>