Получение имени производителя для данного идентификатора продукта с использованием Magento SOAP API V2 в C # - PullRequest
0 голосов
/ 04 января 2012

Мне нужно получить имя производителя , учитывая код продукта. Следующая заглушка кода возвращает идентификатор производителя (значения, такие как 109, 120 и т. Д.). Есть ли способ, чтобы название производителя указывалось в удостоверении личности? Я вижу, что в PHP есть несколько хороших примеров для этого вопроса, но я ищу ответ в C #. Любая помощь будет принята с благодарностью! Спасибо в ожидании!

Текущий код:

        public bool GetProductInfo(salesOrderItemEntity objProduct, ref StructProductInfo structProductInfo)
        {
            bool bSuccess = false;

            catalogProductRequestAttributes attrib = new catalogProductRequestAttributes();

            attrib.additional_attributes = new string[] { "manufacturer" };

            catalogProductReturnEntity objProductInfo = null;

            objProductInfo = mservice.catalogProductInfo(mlogin, objProduct.product_id, "default", attrib, null);

            if (null != objProductInfo)
            {
                associativeEntity[] assoc = objProductInfo.additional_attributes;
                structProductInfo.ManufacturerCode = assoc[0].value;
                bSuccess = true;
            }

            return bSuccess;
        }

Ответы [ 2 ]

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

Разобрался, как это сделать. «102» - это код атрибута для «изготовителя». Используя это с catalogProductAttributeOptions (), я создал небольшой поиск на основе хеш-таблиц для получения имени производителя с учетом кода производителя.

public void CreateManufacturerLookup()
{
    mhtManufacturers.Clear();  // mhtManufacturers is a hashtable declared with class scope

    catalogAttributeOptionEntity[] caoe = mservice.catalogProductAttributeOptions(mlogin, "102", "default");  // mlogin is the session ID and is available at class scope

    if (caoe.Length > 0)
    {
        for (int i = 0; i < caoe.Length; i++)
        {
            mhtManufacturers.Add(caoe[i].value, caoe[i].label);
        }
    }
}

Таким образом, название производителя можно получить, посмотрев следующим образом:

sManufacturerName = (string) mhtManufacturers[sManufacturerCode];
0 голосов
/ 05 января 2012

По умолчанию производитель является целым числом "eav_attribute", поэтому вы получите целочисленные значения.

Вам необходимо получить объединение данных производителей, установленных в magneto.

Не совсем уверен, как сделать эти данные с конца API.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...