Magento 1.7 SOAP v2 Api — Создание продуктов с дополнительными атрибутами

Я создал интернет-магазин с Magento версии 1.7, и моя следующая задача — импортировать продукты с помощью v2 Soap API. Пока вроде все работает, кроме одного: все пользовательские атрибуты созданных товаров остаются пустыми. Все остальное работает нормально - название, артикул, цена, описание и так далее. Мой скрипт работает с asp.net, поэтому у меня нет PHP-кода, но я думаю, что он выглядит более или менее похоже. Вот фрагмент, который я использую, когда атрибуты назначаются продукту:

dim create as new catalogProductCreateEntity
create.name = "Test"
create.price = "11.1100"
create.description = "test description"

dim additional(0) as associativeEntity
dim attribute as new associativeEntity
attribute.key = "manufacturer"
attribute.key = "xyz"
additional(0) = attribute

create.additional_attributes = additional

В этом случае простое текстовое поле должно получить значение «xyz». Я использую ту же самую процедуру в других магазинах Magento, которую я настраивал в прошлом, и она работает просто отлично. Разница лишь в том, что эти магазины используют Magento версии 1.5. Может ли это быть ошибкой в ​​​​апи?


person FlyingM    schedule 17.09.2012    source источник


Ответы (2)


«xyz» должен войти в .value associativeEntity:

dim additional(0) as associativeEntity
dim attribute as new associativeEntity
attribute.key = "manufacturer"
attribute.value = "xyz" 
additional(0) = attribute

Надеюсь это поможет.

person Dmitry Selitskiy    schedule 30.10.2012

я успешно сделал это на С#, ниже приведен код

     private void getAdditionalAttributes()
            {
                string skuNumber="S00001";
                MagentoService mservice = new MagentoService();
                string sessionkey = "";
                try
                {
                    sessionkey = mservice.login("apiuser", "apipassword");


                }
                catch (Exception exp)
                {

                    //Error
                }

                try
                {
                    catalogProductRequestAttributes fetchattrib = new catalogProductRequestAttributes();
                    // it will only populate the attributes that you ask for
                    fetchattrib.attributes = new string[] { "name", "description", "short_description" };
// Additional Attribute
                    fetchattrib.additional_attributes = new string[] { "ismemo","color" };

    catalogProductReturnEntity prod =  MagentoConnectivity.magService.catalogProductInfo(sessionkey, skuNumber, "", fetchattrib, "sku");


                    foreach (var item in prod.additional_attributes)
                    {
                        MessageBox.Show("=> Key: " + item.key + "\t Attribute Value=" + item.value + "\n");
                    }

                }
                catch (Exception exp)
                {

                    MessageBox.Show("=> Exception in getting Additional Attributes \n" + exp.Message + "\n");
                    return;


                }
            }
person Community    schedule 24.12.2013