0

我是 Magento 的初学者。我有这样的要求。

当某些用户在单独的网页中输入“商品代码”(这是商店中每个产品的自定义属性)时,应该从我的 magento 商店中检索该商品的相关信息。基本上,我想要该商品所属的商店,(商店 - 自定义产品属性,下拉菜单。)和该商品的图片网址。

*item_code - 自定义属性(varchar)

*shop - 下拉菜单(选项 - abc、def、ghi、jkl)

我使用soap v1来做到这一点。

跟随线工作正常。

但我不知道这是最好的方法。

&当我获得产品详细信息时,使用“catalog_product.info”它将商店价值作为数字(126)提供但我想获得它的实际名称。

有没有办法直接检索自定义下拉菜单值??

这是我的绳子。

<?php


 $client = new SoapClient('http://myhost/index.php/api/soap/?wsdl');
 $session = $client->login('test', 'test1234');

 //get the specific product id using item_code
 $filters = array (
  'item_code' => array('like'=>'Mo-20105%')
 );

 $products = $client->call($session, 'product.list', array($filters) );

 //print_r($products);

 // using product id get all the attribute details of the product
 $result = $client->call($session, 'catalog_product.info', $products[0]['product_id'] );
 //var_dump($result);

 // using product id get the image url
 $img = $client->call($session, 'catalog_product_attribute_media.list', $products[0]   ['product_id'] );
 //var_dump($img);


// match the product 's shop value ( get from the web service ) with option values & get the correct shop name.
if( $result['shop'] == 129 ){ $shop = "abc" ; }
else if ( $result['shop'] == 126 ){ $shop = " def" ; }
else if ( $result['shop'] == 128 ){ $shop = " ghi" ; }
else if ( $result['shop'] == 126 ){ $shop = " jkl " ; }

echo $shop;
echo '</br>';
echo '<img src = '.$img[0]['url'].'  />'; 

谢谢

4

1 回答 1

0

您在 api 调用结果中获得的 shop 下拉列表的值,即该特定产品的选择框的选项值。要首先获取特定选项的名称,您需要找出下拉属性的属性 id。因此,您需要使用以下 api 将恢复所有带有名称和 id 的产品属性列表。

http://www.magentocommerce.com/api/soap/catalog/catalogProductAttribute/product_attribute.list.html

然后,您可以使用以下 api 来获取该属性的所有选项,其中包含 id 和选项名称。

http://www.magentocommerce.com/api/soap/catalog/catalogProductAttribute/product_attribute.options.htm

于 2013-09-16T11:52:10.167 回答