0

次のコードを使用して、ホームページに 2 セットのサブカテゴリをリストしようとしています。問題は、2 番目のリストが最初のリストとまったく同じであることです。2 番目のカテゴリ ID 番号が認識されないようです。何か案は?

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

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

2 に答える 2

2

Try this

<?php 
$_helper = Mage::helper('catalog/category');
$_category = Mage::getModel('catalog/category')->load(3);
$_subcategories = $_category->getChildrenCategories();
foreach($_subcategories as $_category){
      $category = Mage::getModel('catalog/category')->load($_category->getId());
      echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>';
}
?>

<?php 
$_helper = Mage::helper('catalog/category');
$_category = Mage::getModel('catalog/category')->load(4);
$_subcategories = $_category->getChildrenCategories();
foreach($_subcategories as $_category){
     $category = Mage::getModel('catalog/category')->load($_category->getId());
     echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>';
}
?>

This code is not tested by me. Thanks,

于 2013-06-29T10:08:01.750 に答える
1

サブカテゴリの URL と名前だけが必要な場合は、サイトのパフォーマンスが低下する可能性があるため、それらを読み込む必要はありません。

試す、

$parentCategory = Mage::getModel('catalog/category')->load(15);
$subCategories = $parentCategory->getChildrenCategories();
foreach($subCategories as $curCategory){
    echo '<li><a href="' . $curCategory->getUrl() . '">' . $curCategory->getName() . '</a></li>';
}

ここではカテゴリ ID を使用していますが、開発サイトとライブ サイトのカテゴリ ID が一致しない可能性があるため、代わりに url_key を使用することをお勧めします。

試す、

$parentCategory = Mage::getModel('catalog/category')->loadByAttribute('url_key', 'computers');
$subCategories = $parentCategory->getChildrenCategories();
foreach($subCategories as $curCategory){
    echo '<li><a href="' . $curCategory->getUrl() . '">' . $curCategory->getName() . '</a></li>';
}
于 2013-06-29T10:42:05.963 に答える