public function createCategory() { $catId = $this->getCategoryIdByName($this->categoryName); if ($catId) { return $catId; } $parentId = Mage::app()->getStore($this->storeId)->getRootCategoryId(); $category = new Mage_Catalog_Model_Category(); $category->setName($this->categoryName); $category->setUrlKey('contact-lenses'); $category->setIsActive(1); $category->setDisplayMode('PRODUCTS'); $category->setIsAnchor(0); $parentCategory = Mage::getModel('catalog/category')->load($parentId); $category->setPath($parentCategory->getPath()); $category->save(); //unset($category); return $category->getId(); }
/** * @param Mage_Catalog_Model_Category $category */ protected function _updateDisplayMode($category) { switch ($category->getDisplayMode()) { case Firegento_FlexCms_Model_Source_DisplayMode::CONTENT: $category->setDisplayMode(Mage_Catalog_Model_Category::DM_PAGE); break; case Firegento_FlexCms_Model_Source_DisplayMode::CONTENT_AND_PRODUCTS: $category->setDisplayMode(Mage_Catalog_Model_Category::DM_PRODUCT); break; } }
<?php ini_set("memory_limit", "1000M"); require_once "/home/www/demo/app/Mage.php"; umask(0); Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); /* supply parent id */ $parentId = '258'; //$name = 'Mont Blank'; $names = array('Burberry', 'Swarovski', 'Bvlgari', 'Tom Ford', 'Carrera', 'Oakley', 'Chanel', 'Oliver Peoples', 'Dior', 'Paul Smith', 'D&G', 'Polo Ralf Lauren', 'Dsquared', 'Prada', 'Diesel', 'Gucci', 'Ray Ban', 'Tiffany', 'Hugo Boss'); foreach ($names as $name) { $category = new Mage_Catalog_Model_Category(); $category->setName($name); $category->setIsActive(1); $category->setDisplayMode('PAGE'); $category->setIsAnchor(1); $category->setIncludeInMenu(0); $parentCategory = Mage::getModel('catalog/category')->load($parentId); $category->setPath($parentCategory->getPath()); try { $category->save(); echo $category->getName() . ' - ' . $category->getId() . "\n"; } catch (Exception $e) { echo $e->getMessage(); } unset($category); }
function create_category($parentId, $name, $url) { $category = new Mage_Catalog_Model_Category(); $category->setName($name); $category->setUrlKey($url); $category->setIsActive(1); $category->setDisplayMode('PRODUCTS'); $category->setIsAnchor(0); $parentCategory = Mage::getModel('catalog/category')->load($parentId); $category->setPath($parentCategory->getPath()); $category->save(); return $category->getId(); }
public function createCategory($object) { $collection = Mage::getModel('catalog/category')->getCollection()->clear(); $category = new Mage_Catalog_Model_Category(); $category->setEntityTypeId($this->entityTypeId); $category->setAttributeSetId($this->attributeSetId); if (!empty($object['custom_apply_to_products'])) { $category->setCustomApplyToProducts($object['custom_apply_to_products']); } if (!empty($object['custom_design'])) { $category->setCustomDesign($object['custom_design']); } if (!empty($object['custom_design_from'])) { $category->setCustomDesignFrom($object['custom_design_from']); } if (!empty($object['custom_design_to'])) { $category->setCustomDesignTo($object['custom_design_to']); } if (!empty($object['custom_layout_update'])) { $category->setCustomLayoutUpdate($object['custom_layout_update']); } if (!empty($object['custom_use_parent_settings'])) { $category->setCustomUseParentSettings($object['custom_use_parent_settings']); } $category->setAvailablesortBy($object['available_sort_by']); $category->setParentId(0); $category->setCreatedAt($object['created_at']); $category->setUpdatedAt($object['updated_at']); $category->setPosition((int) $object['position']); $category->setChildrenCount($object['children_count']); $category->setDescription($object['description']); $category->setDisplayMode($object['display_mode']); $category->setDefaultSortBy($object['default_sort_by']); $category->setFilterPriceRange($object['filter_price_range']); $category->setImage($object['image']); $category->setIncludeInMenu($object['include_in_menu']); $category->setIsActive($object['is_active']); $category->setIsAnchor($object['is_anchor']); $category->setLandingPage($object['landing_page']); $category->setLevel($object['level']); $category->setMetaTitle($object['meta_title']); $category->setMetaKeywords($object['meta_keywords']); $category->setMetaDescription($object['meta_description']); $category->setName($object['name']); $category->setPageLayout($object['page_layout']); if (!empty($object['path'])) { $category->setPath($object['path']); } if (!empty($object['path_in_store'])) { $category->setPathInStore($object['path_in_store']); } $category->setPosition((int) $object['position']); $category->setThumbnail((int) $object['thumbnail']); $category->setUrlKey($object['url_key']); $category->setUrlPath($object['url_path']); try { $category->save(); $category->load(); // must do it, because of position set wrong for first saving. magento bug? $category->setPosition((int) $object['position']); $category->save(); } catch (Exception $e) { zend_debug::dump($e); return; } return $category->getId(); }