Magento: API Magmi Datadump

У меня возникли проблемы с импортом пользовательских параметров с помощью API-интерфейса magmi datapump. Я могу легко загружать продукты, передавая данные в виде массива, как показано в примере с magmi.

Однако, когда я устанавливаю модуль пользовательских параметров и включаю его, я получаю следующую ошибку.

...
$dp->beginImportSession("default","create");

// Here we define a single "simple" item, with name, sku,price,attribute_set,store,description
$item = array(
    'name'          => 'test a',
    'sku'           => 'testsku3',
    'price'         => '110.00',
    'attribute_set' => 'Default',
    'store'         => 'admin',
    'description'   => 'ingested with Datapump API',
    'meta_title'    => 'test meta',
    'qty'           => '1',
    'categories'    => '2',
    'weight'        => '1',
    'tax_class_id'  => '4',
    'Please enter your text:field:1:3' => ':fixed:0.5:Ref Text:35'
);

...

Ошибка возвращена:

Notice: Undefined index: xxx:field:1 in /var/www/vhosts/websitename.co.uk/magmi/plugins/extra/itemprocessors/customoptions/pablo_customoptions.php on line 33

Теперь этот код ошибки разрешается...

...
public function getOptId($field)
{
    return $this->_optids[$field];
}
...

Кто-нибудь знает, как это можно решить?

Спасибо! :)


person Rikkouri    schedule 20.08.2012    source источник


Ответы (2)


линия

'Пожалуйста, введите текст:поле:1:3' => ':fixed:0.5:Ref Text:35'

создаст эту ошибку.

исправить это, отредактировав файл php

...
public function getOptId($field)
{
    if isset($this->_optids[$field]) return $this->_optids[$field];
    return '';
}
...

или ЛУЧШЕ «Пожалуйста, введите текст», как сказано в сценарии;) замените эту строку своим пользовательским атрибутом

'Please enter your text:field:1:3' => ':fixed:0.5:Ref Text:35'
EDIT TO:
'custom_attribute'             => 'value',

Саймон

person irokee    schedule 14.09.2012

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

Однако мне удалось создать решение!

Я пытался добавить пользовательскую опцию к своему продукту, используя следующую метку:

date_time:field:1:1

Это выдавало ту же ошибку, что и у вас. Тем не менее, он отформатирован так, как должен быть.

Чтобы решить эту проблему, мне пришлось отредактировать файл: /magmi/plugins/extra/itemprocessors/customoptions/pablo_customoptions.php

Я изменяю функцию getOptId() (строка 30) на:

public function getOptId($field)
{
    if(isset($this->_optids[$field])){
        return $this->_optids[$field];
    } else {
        return false;
    }
}

И внес изменения в функцию createOption() (теперь в строке 74). Я изменил if(!isset($optionId)) на if(!$optionId)

И бинго, теперь он должен работать как положено!

person James Kemp    schedule 11.10.2013