添加新类别和子类别 - Magento

时间:2012-07-04 13:29:48

标签: php magento categories

我需要的是从.csv文件中添加新的类别和子类别。我可以创建新的根类别,但我不知道如何创建子类别:

$category = Mage::getModel('catalog/category');
$category->setStoreId(0);

  $rootCategory['name'] = 'Reserved';
  $rootCategory['path'] = "1"; // for root category
  $rootCategory['display_mode'] = "PRODUCTS_AND_PAGE";
  $rootCategory['is_active'] = 1;

  $category->addData($rootCategory);
$parentCategory= $category; // doesn't work, but i want here to get this (root) category id
  try {
    $category->save();
  }
  catch (Exception $e){
    echo $e->getMessage();
  }

CSV文件的格式如下:

root_cat_id;subcat_id;subcat_name;subsubcat_id;subsubcat_name;
ex.
1;2;Animal;3;Dog;

如何获取刚刚添加的类别的ID,并添加与此类别相关的子类别?

提前致谢

1 个答案:

答案 0 :(得分:1)

要将类别设为另一个类别的子类,请在保存之前设置父类别路径的路径。

$childCategory->setPath($parentCategory->getPath())

保存子类别(因此具有ID)后,在调用save()后,ID将自动附加到路径属性。 Magento还会自动为您设置parent_id和level属性。