php - 如何通过 SOAP API 在 magento 中获取自定义属性的值

标签 php magento soap soap-client

我正在尝试通过 SOAP api 获取 magento 产品自定义属性的值。但是我只能获得标准属性值。我正在尝试使用下面的代码,但它似乎不起作用。

$user = 'user';
$password = 'pass';
$proxy = new SoapClient('http://asd.com.au/api/v2_soap?wsdl');
$sessionId = $proxy->login($user, $password);

   //method 1 I tried
    $ebayStock = new stdClass();
    $ebayStock->key = 'ebay_available_qty';
    $additionalAttributes['single_data'][] = $ebayStock ;
    $ebay = $proxy->catalogProductInfo($sessionId, $sku,1,$additionalAttributes);
    var_dump($ebay);

//output

   object(stdClass)[4]
  public 'product_id' => string '3230' (length=4)
  public 'sku' => string 'test101' (length=7)
  public 'set' => string '9' (length=1)
  public 'type' => string 'simple' (length=6)
  public 'categories' => 
    array (size=0)
      empty
  public 'websites' => 
    array (size=1)
      0 => string '1' (length=1)
  public 'created_at' => string '2013-05-12 23:07:33' (length=19)
  public 'updated_at' => string '2013-05-13 04:54:50' (length=19)
  public 'type_id' => string 'simple' (length=6)
  public 'name' => string 'test' (length=4)
  public 'description' => string 'asd' (length=3)
  public 'short_description' => string 'asd' (length=3)
  public 'weight' => string '123.0000' (length=8)
  public 'status' => string '1' (length=1)
  public 'url_key' => string 'test' (length=4)
  public 'url_path' => string 'test.html' (length=9)
  public 'visibility' => string '3' (length=1)
  public 'category_ids' => 
    array (size=0)
      empty
  public 'has_options' => string '0' (length=1)
  public 'price' => string '11.0000' (length=7)
  public 'tax_class_id' => string '0' (length=1)
  public 'tier_price' => 
    array (size=0)
      empty
  public 'options_container' => string 'container2' (length=10)
  public 'enable_googlecheckout' => string '1' (length=1)
Method 2 I tried.
$ebay = $proxy->catalogProductInfo($sessionId, $sku,1,array('ebay_available_qty'));
var_dump($ebay);

//gives same output

我正在尝试获取属性“ebay_available_qty”的值。

问候 Abnab

最佳答案

终于自己解决了。刚刚创建了一个新的 stdClass() 并将我想要的属性放在一个数组中。它起作用了!!!

$ebayStock = new stdClass();
$ebayStock->additional_attributes = array('ebay_available_qty');

$ebay = $proxy->catalogProductInfo($sessionId, $sku,null,$ebayStock);

关于php - 如何通过 SOAP API 在 magento 中获取自定义属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515451/

相关文章:

magento - 如何自定义magento一页结帐表格

java - 使用 SOAP Web 服务 - Java VS PHP

PHP mkdir : 0777 becomes 0755?

php - 获取 PHP 删除变量

php - 导出订单详细信息 magento

php - Magento - 基表 core_file_storage 不存在

php - mysql join 未正确执行

php - 什么是 Auth_OpenID_FileStore?

soap - Spring-WS 客户端未设置 SOAPAction header

java - 如何从 Joomla 调用外部网络服务