2012-01-04 12 views
6

Dodałem niestandardowy atrybut z kodem "moja_wartość" z "Typ katalogu dla właściciela magazynu" ustawionym na "Cena" i przypisałem go do "Domyślnego" (tylko) zestaw atrybutów.Magento API v2 i C# - ustawianie niestandardowych atrybutów podczas dodawania produktu

Teraz chcę ustawić jego wartość, za każdym razem dodaję/aktualizuję produkt za pomocą API v2 (C#). Oto kod, który nie działa (wartość nie jest ustawiana):

// 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"); 

Co robię źle?

+0

Co myślisz o myPrice zamiast my_price? Próbowałeś? –

+0

Mam ten sam problem, wymyśliłeś to. Mój katalogCena produktu nigdy nie przekazuje żadnych danych, –

Odpowiedz

5

Magento 1.6.1.0 ma błąd, który skutkuje błędem dodatkowe atrybuty.

Zaktualizowałem mój Magento do wersji 1.6.2.0, a problem zniknął, a dodatkowe atrybuty działają idealnie.

Szybki przykład jak to działa:

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; 

Mam nadzieję, że ktoś pomoże.

2

Spróbuj tego i daj mi znać wynik.

AdditionalAttributes.key = "myPrice"; 
+0

Wciąż nic ... Czy muszę odświeżyć numer referencyjny usługi? Naprawdę nie chciałbym tego robić, ponieważ jest jakiś błąd, a Visual Studio nie generuje poprawnie wymaganego kodu. – Cleankod

+0

@Spyro Podam ci link, który jest stary, ale jestem pewien, czy możesz pomóc w ustaleniu atrybutów produktu. [.net C# API do Magento za pośrednictwem XML-RPC] (http://www.molotovbliss.com/net-c-api-to-magento-via-xml-rpc) –

+0

to jest inny link [.NET C# Object Library dla XML-RPC API Magento] (http://code.google.com/p/csharlibformagexmlrpcapi/) –

0
handler.catalogProductCreate(session_id, "simple", attributeset_id, sku, mageProduct, "default"); 

Podaj poprawny storeview zamiast domyślnego np spróbuj tego:

handler.catalogProductCreate(session_id, "simple", attributeset_id, sku, mageProduct, "1"); 
Powiązane problemy