2013-05-13 69 views
8

我想通過SOAP API獲取magento產品的自定義屬性的值。 BUt我只能夠獲得標準的屬性值。我正在嘗試下面的代碼,但它似乎並沒有工作。如何通過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); 

//輸出

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

回答

14

最終確定它自己。剛剛創建了一個新的stdClass(),並把我想要的屬性放在一個數組中,並且它工作了!

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

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

救了我的天!很好的答案! – Horen 2014-03-28 16:36:12

+0

謝謝abnab,這讓我瘋狂! – Pete855217 2014-03-31 10:01:42

+0

@ Pete855217不用擔心:) – abnab 2014-04-17 06:48:13

相關問題