Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Script created by sonassi.com (http://www.sonassi.com/knowledge-base/quick-script-batch-create-magento-categories/)
- *
- * Edited by Raf Lermitte
- *
- * File format of importCats.csv :
- * parent_category_id,category_name,category_id
- * example: 3,subcat,5
- * -> Creates a category with 'subcat' as name and 5 as category id. The parent category id is 3.
- */
- define('MAGENTO', realpath(dirname(__FILE__)));
- require_once MAGENTO . '/app/Mage.php';
- setlocale(LC_ALL, 'en_US.UTF-8');
- umask(0);
- Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
- $file = fopen('./var/import/importCats.csv', 'r');
- while (($line = fgetcsv($file)) !== FALSE) {
- //$line is an array of the csv elements
- if (!empty($line[0]) && !empty($line[1]) && !empty($line[2])) {
- $data['general']['name'] = $line[1];
- $data['general']['entity_id'] = $line[2];
- $data['general']['meta_title'] = "";
- $data['general']['meta_description'] = "";
- $data['general']['is_active'] = 1;
- $data['general']['url_key'] = "";
- $data['general']['display_mode'] = "PRODUCTS";
- $data['general']['is_anchor'] = 0;
- $data['category']['parent'] = $line[0]; // 3 top level
- $storeId = 0;
- createCategory($data, $storeId);
- sleep(0.5);
- unset($data);
- }
- }
- function createCategory($data, $storeId) {
- echo "Starting {$data['general']['name']} [{$data['category']['parent']}] ...";
- $category = Mage::getModel('catalog/category');
- $category->setStoreId($storeId);
- if (is_array($data)) {
- $category->addData($data['general']);
- $parentId = $data['category']['parent'];
- $parentCategory = Mage::getModel('catalog/category')->load($parentId);
- $category->setPath($parentCategory->getPath() . "/" . $category->getId());
- /**
- * Check "Use Default Value" checkboxes values
- */
- if ($useDefaults = $data['use_default']) {
- foreach ($useDefaults as $attributeCode) {
- $category->setData($attributeCode, null);
- }
- }
- $category->setAttributeSetId($category->getDefaultAttributeSetId());
- if (isset($data['category_products']) && !$category->getProductsReadonly()) {
- $products = [];
- parse_str($data['category_products'], $products);
- $category->setPostedProducts($products);
- }
- try {
- $category->save();
- echo "Succeeded - ID: " . $category->getId() . " - " . $category->getPath() . "<br /> ";
- } catch (Exception $e){
- echo "Failed <br />";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement