категории не активны при импорте с помощью скрипта в magento

Я пытаюсь импортировать категории с помощью скрипта

 $cat = Mage::getModel('catalog/category')
                            ->setPath('1/2')
                            ->setName($name)
                            ->setIsActive(1)
                            ->setIsAnchor(1)
                            ->setIsParent(1)
                            ->setIncludeInMenu(1)
                            ->save();
               echo $catId = $cat->getId();

С помощью этого кода категории импортируются, но они не активны и не привязаны. Пожалуйста, помогите мне.


person Ankita Agrawal    schedule 20.12.2012    source источник


Ответы (2)


Попробуй это..

require_once 'приложение/Mage.php'; Mage::app('по умолчанию'); /* Имя представления по умолчанию или вашего магазина. */

/* get a new category object */
$category = Mage::getModel('catalog/category');
$category->setStoreId(0); /* 0 = default/all store view. If you want to save data for a specific store view, replace 0 by Mage::app()->getStore()->getId(). */


$general['name'] = "My Category";
$general['path'] = "1/2/23"; /* catalog path */
$general['description'] = "Great My Category";
$general['meta_title'] = "My Category"; /* Page title */
$general['meta_keywords'] = "My , Category";
$general['meta_description'] = "Some description to be found by meta search robots. 2";
$general['landing_page'] = ""; /* has to be created in advance, here comes id */
$general['display_mode'] = "PRODUCTS_AND_PAGE"; /* static block and the products are shown on the page */
$general['is_active'] = 1;
$general['is_anchor'] = 0;
$general['page_layout'] = 'two_columns_left';

/* $general['url_key'] = "cars";//url to be used for this category's page by magento. */
/* $general['image'] = "cars.jpg"; */

$category->addData($general);

try {
    $category->save();
    echo "Success! Id: " . $category->getId();
} catch (Exception $e) {
        echo $e->getMessage();
}
person MagentoDiary    schedule 20.12.2012

Ответ Амита работает, та же основная идея заключается в том, что метод setIsActive().

So:

$category
    ->setStoreId(0)
    ->setPath("1/{$root_category_id}" . ($parents ? "/{$parents}" : ''))
    ->setStoreId(0)
    ->setName($category_name)
    ->setIsActive(1)
    ->save();
person StrangeElement    schedule 21.05.2013