0

カテゴリの子カテゴリを取得するコードがあります。

$parent = $category_model->load($current_category->parent_id);
$_categories = explode(',',$parent->getChildren());

しかし、サブカテゴリが管理インターフェイスに配置されている順序を維持していないようです。

使用しようとしまし->setOrder('position', 'ASC')たが、そのメソッドにアクセスできないようです。

上記のコードの順序を設定する方法を知っている人はいますか?

4

1 に答える 1

0

私はこれを別の方法で行うことができました。以前は、カテゴリ ID の配列を取得し、それらをループ処理して、毎回カテゴリをロードしていました。これは、通常のコレクションのように注文できないことを意味していました。その代わりに、すべての ID をコレクションに投入して、すべてを一度に順番に取得しました。

$category_model = Mage::getModel('catalog/category');
$current_category = Mage::registry('current_category');
$parent = $category_model->load($current_category->parent_id);
$_categoriesArray = explode(',',$parent->getChildren());

$_categories = Mage::getModel('catalog/category')->getCollection()
    ->addAttributeToFilter('entity_id', array('in' => $_categoriesArray))
    ->addAttributeToSelect('*')
    ->setOrder('position', 'ASC');
于 2012-10-16T09:19:38.193 に答える