Программное создание категорийPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Программное создание категорий

Сообщение Anonymous »

Пытаюсь установить категории с помощью скрипта обновления. Сначала я удаляю категорию, которую Magento создает по умолчанию, затем создаю категории с помощью рекурсии. Также я получил настройки в модулях/xml:
Здесь у меня есть сценарий обновления:

Код: Выделить всё

/* @var $installer Mage_Eav_Model_Entity_Setup */
$installer->startSetup();

Mage::register('isSecureArea', true);
Mage::getModel('catalog/category')->load(2)->delete();
Mage::unregister('isSecureArea');

$categories = array(
array(
'name' => 'Brand Category',
'children' => array(
array(
'name' => 'Carrier Bags',
'children' => array(
array(
'name' => 'Retail Bags',
),
array(
'name' => 'Outlet Bags',
),
),
),
array(
'name' => 'Giftpackaging',
),
),
),
array(
'name' => 'Default Category',
'children' => array(
array(
'name' => 'Draagtassen',
'children' => array(
array(
'name' => 'Papier',
'children' => array(
array(
'name' => 'Luxe papier',
),
array(
'name' => 'Kraft papier',
),
),
),
),
),
array(
'name' => 'Geschenkverpakkingen',
'children' => array(
array(
'name' => 'Geschenkdozen',
),
array(
'name' => 'Cadeauzakken',
),
array(
'name' => 'Cadeau-/Inpakpapier',
),
),
),
),
),
);

function createCat(array $data, $path = '1') {
$data = array_merge(
array(
'is_active'                     => 1,
'is_anchor'                     => 0,
'display_mode'                  => 'PRODUCTS',
'custom_use_parent_settings'    => 0,
'path'                          => $path,
),
$data
);

$children = array();
if (isset($data['children'])) {
$children = $data['children'];
unset($data['children']);
}

$category = Mage::getModel('catalog/category')->setData($data)->save();

if (!empty($children)) {
foreach ($children as $child) {
createCat($child, $category->getPath());
}
}
}

foreach ($categories as $cat) {
createCat($cat);
}

$this->endSetup();
В итоге у меня есть:

Категория по умолчанию с детьми, это хорошо, а затем один раз категория по умолчанию более. Но нет категории бренда.
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/227 ... mmatically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»