Php magento以编程方式构建类别树

Php magento以编程方式构建类别树,php,magento,Php,Magento,我想将类别树添加到“选择多个选项”控件中 我在这上面搜了很多 但是它给了我ulli结构的输出,如下所示 但是我想把这个树结构变成多个选项 任何人都知道该怎么做链接代码中的更改准备数组: public function getCategoriesArray() { $categoriesArray = Mage::getModel('catalog/category') ->getCollection() ->addAttri

我想将类别树添加到“选择多个选项”控件中

我在这上面搜了很多

但是它给了我ulli结构的输出,如下所示

但是我想把这个树结构变成多个选项

任何人都知道该怎么做链接代码中的更改准备数组:

public function getCategoriesArray() {

    $categoriesArray = Mage::getModel('catalog/category')
            ->getCollection()
            ->addAttributeToSelect('name')
            ->addAttributeToSort('path', 'asc')
            ->load()
            ->toArray();

    $categories = array();
    foreach ($categoriesArray as $categoryId => $category) {
        if (isset($category['name']) && isset($category['level'])) {
            $categories[] = array(
                'label' => $category['name'],
                'level'  =>$category['level'],
                'value' => $categoryId
            );
        }
    }

    return $categories;
}
以以下形式显示:

    $fieldset->addField('categories', 'multiselect', array(
        'label' => $this->__('Categories'),
        'name' => 'categories',
        'values' => Mage::getModel(...)->getCategoriesArray(),
    ));

谢谢,但是我如何在自定义表单中使用addField(),我想将类别树结构分配给多个控件使用(foreach(Mage::getModel(…)->getCategoriesArray()作为$category))并手动创建您的multiselect。好的,谢谢。我可以使用getCategoriesArray()函数获取类别级别吗?是的。将$category['level']添加到categories数组中。看一看-我更改了答案抱歉,但是如何使用getCategoriesArray()函数仅获取活动类别?