标签归档:读取目录

Magento API 例子 – 读取目录

API参考:
http://www.magentocommerce.com/api/soap/catalog/catalogCategory/catalog_category.tree.html

$client= new SoapClient('http://learn.magento.com/api/v2_soap/?wsdl'); 
$sessionId = $proxy->login('vfeelit', 'vfeelitvfeelit');

$result = $client->catalogCategoryTree($sessionId,3,1);
$alls = $result->children;
foreach($alls as $i=>$v){
	echo $v->category_id.'--'.$v->name."<br />";
}

这里使用SOAP的版本2,所以这里指定了api/v2_soap/?wsdl,调用了login()方法后获取了会话Id,然后直接调用catalogCategoryTree,第一参数是会话Id,接下来是其它参数,从这里可以看到,这种方法非常优雅。

输出:

10--Furniture
13--Electronics
18--Apparel
20--Household Items

以上的$result->children肯定是一个数组,从语法看出来,$result就一定是对象了。不过从参考文档中看到返回是数组就有点不解了。

object(stdClass)#2 (6) {
  ["category_id"]=>
  int(18)
  ["parent_id"]=>
  int(3)
  ["name"]=>
  string(7) "Apparel"
  ["position"]=>
  int(18)
  ["level"]=>
  int(2)
  ["children"]=>
  array(4) {
    [0]=>
    object(stdClass)#3 (7) {
      ["category_id"]=>
      int(4)
      ["parent_id"]=>
      int(18)
      ["name"]=>
      string(6) "Shirts"
      ["is_active"]=>
      int(1)
      ["position"]=>
      int(4)
      ["level"]=>
      int(3)
      ["children"]=>
      array(0) {
      }
    }

从变量输出来看,实体本身是一个stdClass类。

永久链接:http://blog.ifeeline.com/558.html