Как получить все дополнительные атрибуты продукта Magento без явного их указания - PullRequest
4 голосов
/ 13 августа 2010

Моя цель - получить и отобразить все дополнительные атрибуты для продукта Magento с помощью SOAP API.Например, пол, размер рубашки и цвет футболки.Но программа не должна знать имена атрибутов.

В вызове SOAP: catalogProductInfo есть параметр дополнительных атрибутов, и похоже, что я должен явно указать дополнительные имена атрибутов.

Я используюJava и Apache Axis для подключения к Mangeto SOAP API и код следующий:

stub.catalogProductInfo(sessionId, "118", null, null);

call declaration:
public com.magentocommerce.api.CatalogProductReturnEntity catalogProductInfo(java.lang.String sessionId, java.lang.String productId, java.lang.String storeView, com.magentocommerce.api.CatalogProductRequestAttributes attributes) throws java.rmi.RemoteException {

attributes parameter constructor declaration:
public CatalogProductRequestAttributes(
       java.lang.String[] attributes,
       java.lang.String[] additional_attributes) {

Но мне нужно как-то указать последний параметр, чтобы получить все дополнительные атрибуты.Можно ли это сделать через SOAP API?

Обновление : "*", поскольку атрибут не работает

CatalogProductRequestAttributes attrs = new CatalogProductRequestAttributes();
attrs.setAttributes(new String[] {"*"});
attrs.setAdditional_attributes(new String[] {"*"});

Полученный объект не заполнен ни стандартными атрибутамини с дополнительными атрибутами.

Ответы [ 2 ]

1 голос
/ 13 августа 2010

Я специально не пробовал через API, но вы пытались указать * в качестве имени атрибута? Вот как это делается в самом фреймворке.

0 голосов
/ 15 июля 2014

Сначала необходимо вызвать API для получения списка дополнительных атрибутов: catalogProductListOfAdditionalAttributes

Затем выполнить цикл по результатам и построить второй запрос к конкретному продукту.

...