我是Magento的初学者。我有这样的要求。
当某个用户在单独的网页中输入“商品代码”(这是商店中每件商品的自定义属性)时,应该从我的magento商店中检索该商品的相关信息。基本上,我想要项目所属的商店,(商店 - 自定义产品属性,下拉菜单。)&该项目的图片网址。
* item_code - 自定义属性(varchar)
* shop - 下拉菜单(选项 - abc,def,ghi,jkl)
我用肥皂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'].' />';
谢谢
答案 0 :(得分:0)
您在api通话结果中获得的商店下拉值,即该特定商品的选择框的选项值。要首先获取特定选项的名称,您需要找出下拉属性的属性ID。因此,您需要使用以下api,它将恢复具有名称和ID的产品的所有属性列表。
http://www.magentocommerce.com/api/soap/catalog/catalogProductAttribute/product_attribute.list.html
然后,您可以使用以下api获取该属性的所有选项,其中包含id和name选项。