Потратил слишком много часов на это, у меня болит голова ... Мне нужно получить значение атрибута изготовителя (custom?) В Magento.
XML-дамп сайта показывает мне только один элемент с этими двумя значениями производителя:
...
<row>
<field name="value_id">7</field>
<field name="option_id">7</field>
<field name="store_id">0</field>
<field name="value">Hungry Gerbil</field>
</row>
<row>
<field name="value_id">8</field>
<field name="option_id">6</field>
<field name="store_id">0</field>
<field name="value">Hungry Hamster</field>
</row>
...
и я могу получить option_id (7) через вызов SOAP:
7
который я хочу преобразовать в:
Голодная песчанка
Проблема в том, что на практике у меня не было бы доступа к дампу xml, поэтому мне нужно получить данные eav_attribute_option_value с помощью вызова SOAP.
Я просмотрел все 138 имен операций в [magento_root], используя этот вызов:
$apicalls = array();
$i = 0;
// Optional filters
$filters = array('sku' => array('neq'=>''));
// Initial call to get a list of product IDs
$products = $client->call($session, 'catalog_product.list',array($filters));
// Loop through product IDs and grab attributes & images
foreach ($products as $product){
$apicalls[$i] = array('catalog_product_attribute.info', $product['product_id']);
$i++;
}
Итак, я предполагаю, что любая правильная замена "catalog_product_attribute.info" в приведенном выше примере приведет к массиву, который включает данные eav_attribute_option_value. Или я смотрю не в том месте ...
Это помогло бы всем нам, если бы Magento был лучше задокументирован, в то же время любые предложения приветствуются.
Тим