Magento API v2 и C # - установка пользовательских атрибутов при добавлении товара - PullRequest
6 голосов
/ 05 января 2012

Я добавил пользовательский атрибут с кодом «my_price», для которого «Тип ввода каталога для владельца магазина» установлен на «Цена», и присвоил его атрибуту «Только по умолчанию».

Теперь,Я хочу установить его значение при каждом добавлении / обновлении продукта с помощью API v2 (C #).Вот код, который не работает (значение не устанавливается):

// Connect & Auth:
Mage_Api_Model_Server_V2_HandlerPortTypeClient handler = new Mage_Api_Model_Server_V2_HandlerPortTypeClient();
session_id = handler.login(username, api_key);

// Getting attributes set:
catalogProductAttributeSetEntity[] attributeSets;
attributeSets = handler.catalogProductAttributeSetList(session_id);
attributeSet = attributeSets[0];
string attributeset_id = attributeSet.set_id.ToString();

// Adding product:
catalogProductCreateEntity mageProduct = new catalogProductCreateEntity();
// (...) setting product's name, sku, etc.
associativeEntity AdditionalAttributes = new associativeEntity();
AdditionalAttributes.key = "my_price";
AdditionalAttributes.value = "12,33";
associativeEntity[] AssociativeEntity = new associativeEntity[1];
AssociativeEntity[0] = AdditionalAttributes;
mageProduct.additional_attributes = AssociativeEntity;
handler.catalogProductCreate(session_id, "simple", attributeset_id, sku, mageProduct, "default");

Что я делаю не так?

Ответы [ 3 ]

5 голосов
/ 06 февраля 2012

Magento 1.6.1.0 имеет ошибку, которая приводит к ошибке дополнительных атрибутов.

Я обновил свой Magento до 1.6.2.0, и проблема исчезла, и дополнительные атрибуты работают отлично.

Быстрый примеро том, как это работает:

associativeEntity[] AdditionalAttributes = new associativeEntity[1];
associativeEntity AdditionalAttribute = new associativeEntity();
AdditionalAttribute.key = "myprice";
AdditionalAttribute.value = getOriginalPrice(prices).ToString();
AdditionalAttributes[0] = AdditionalAttribute;
catalogProductAdditionalAttributesEntity AdditionalAttributesEntity = new catalogProductAdditionalAttributesEntity();
AdditionalAttributesEntity.single_data = AdditionalAttributes;

mageProduct.additional_attributes = AdditionalAttributesEntity;

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 05 января 2012

Попробуйте и дайте мне знать результат.

AdditionalAttributes.key = "myPrice";
0 голосов
/ 19 ноября 2014
handler.catalogProductCreate(session_id, "simple", attributeset_id, sku, mageProduct, "default");

Дайте действительный вид магазина вместо по умолчанию например попробуйте это:

handler.catalogProductCreate(session_id, "simple", attributeset_id, sku, mageProduct, "1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...