Magento 1.5x以编程方式添加新类别并返回类别ID

时间:2011-08-28 18:20:17

标签: php magento

我想知道如何在magento 1.5xx中以编程方式创建新类别。此外,我需要在创建类别ID后将其返回。

1 个答案:

答案 0 :(得分:2)

我在这里写了一篇完全错误的帖子 - 在Google上找到答案就不那么容易了!

无论如何,这里是我在Magento 1.5.0.1中使用的一些代码

-- The parent category you want to work with.
$parentCategory = $this->getParentCategory(); 
-- This method needs to refer to the static block you want to display if you're using one.
$categoryBlockId = $this->getCategoryBlockId(); 

$category = Mage::getModel( 'catalog/category' );
$category->setStoreId( $storeId );
$category->setName( $categoryName ); -- The name of the category
$category->setUrlKey( $categoryUrlkey ); -- The category's URL identifier
$category->setIsActive( 1 ); -- Is it enabled?
$category->setIsAnchor( 0 ); -- I think this relates to whether it shows in navigation.
-- Display mode can be 'PRODUCTS_AND_PAGE', 'PAGE', or (I think) 'PRODUCTS'
$category->setDisplayMode( $displayMode ); 
$category->setPath( $parentCategory->getPath() ); -- Important you get this right.
-- This is required if DisplayMode is 'PRODUCTS_AND_PAGE' or 'PAGE'.
$category->setLandingPage( $categoryBlockId ); 
$category->setPageTitle( 'Your Page Title' );
$category->save()

$categoryId = $category->getId();

您还可以使用其他属性(在管理面板中添加类别时,它们与表单字段相关)但遗憾的是我没有其他示例。网上有很好的帖子 - 我用它们来创建上面的内容 - 但你可能需要通过谷歌深入挖掘才能找到它们。

我希望这会有所帮助,而且你没有阅读我的第一个答案,这对你没有帮助。

干杯, 扎克