2011-01-13 3 views
1

Я использую PHP, чтобы настроить свои категории в Magento 1.4.2Magento setPath для категории

$categories[] = array('id' => '23', 'path' => '16'); 
$categories[] = array('id' => '24', 'path' => '16/23'); 
$categories[] = array('id' => '25', 'path' => '16/23/24'); 

foreach ($categories as $category) { 
    $current_category = Mage::getModel('catalog/category') 
     ->load($category['id']) 
     ->setPath('1/2/'.$category['path']) 
     ->save(); 
} 

Однако что-то пошло не так

Категории были импортированы как это:

root 
-23 
-16 
--24 

и 25 негде не видно

У меня что-то не так с моим логика или как использовать Mage::getModel('catalog/category') и ->setPath

+1

Как выглядят пути в таблице catalog_category_entity? –

+0

@Eugene Tulika Таблица 'catalog_category_entity' фактически выглядит нормально, даже' parent_id' выглядит хорошо. Однако страница «Управление категориями» в панели администратора все еще не работает. –

ответ

1

Я исправил это. Путь должен включать и идентификатор категории. Благодаря Eugene Tulika для указателя в правильном направлении.

Для подтверждения $ категории массив я должен был создать

$categories[] = array('id' => '23', 'path' => '16/23'); 
$categories[] = array('id' => '24', 'path' => '16/23/24'); 
$categories[] = array('id' => '25', 'path' => '16/23/24/25'); 

Позор я не мог найти какой-либо документации о том, что перейти к setPath() везде.

Смежные вопросы