Magento API - несколько методов не работают - PullRequest
0 голосов
/ 15 июня 2011

У меня следующая проблема.Я создал файл PHP, который читает категории из файла, чтобы импортировать их в Magento.Я могу прочитать файл, нет проблем.Подключение через NuSOAP к API Magento также работает.Я могу получить SessionID, и я могу получить данные, такие как Информация для категории, также возможно удаление категорий.

Но всякий раз, когда я пытаюсь что-либо создать или обновить, он выдает ошибку.Права для пользователя в порядке, а также.Например, когда я создаю категорию, я добавляю к вызову обычные данные:

$proxy->call(
$sessionId,
'category.create',
       $rootCategory, array(
            'name' => "TEST", 
            'is_active' => '1',
            'page_layout' => 'two_columns_right',
            'description' => "TEST",
            'meta_title' => "TEST",
            'meta_description' => '',          
            'meta_keywords' => "TEST",
            'include_in_menu' => '0',
            'display_mode' => 'PRODUCTS',
            'available_sort_by' => 'price',
            'default_sort_by' => 'price',
            'is_anchor' => '0'
       )
);

Все время говорится:

([код ошибки] => 102[faultstring] => Категория не существует.)

Что не соответствует действительности.$ RootCategory - это определенно существующая категория.Я пробовал все другие категории, я пытался добавить «путь» к информации, я пытался использовать меньше информации (только необходимые вещи), я пытался читать существующие категории, чтобы получить их идентификаторы, НИЧЕГО не работает.Он всегда выбрасывает этот код ошибки.То же самое происходит, когда я пытаюсь обновить категорию или создать / обновить продукт.Удаление не проблема вообще.Вы видите проблему?

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Я только что сравнил ваш НЕ работающий пример и обнаружил это, сравнивая его с другим имеющимся у меня примером (я не претендую на то, чтобы быть экспертом) ..

но похоже на ваш $ new_category, массив (blahblha) ... должен быть ВНУТРИ массива в соответствии с примером, который у меня уже есть

как этот массив ($ new_category, array (blahblah) ...

это разница в сети, которую я только что видел ..

вот ПРИМЕР, который я только что вытащил из Интернета ... Адаптируйся к своим потребностям ..

$proxy->call(
    $sessionId,
    'category.create',
        array(
              3,
              array(
                'name'=>'New openerp',
                'is_active'=>1,
                'include_in_menu'=>2,
                'available_sort_by'=>'position',
                'default_sort_by'=>'position')) );
0 голосов
/ 15 июня 2011

Вы пытались указать ключ category_id в вашей $ rootCategory в вызове:

$selectedCategory['category_id'], array('name'=>'New Category Through Soap') )

Ссылка: http://www.magentocommerce.com/wiki/doc/webservices-api/api/catalog_category

...