2013-10-14 50 views
0

我已經通過webservice創建了一個簡單的添加產品prestashop,但是當我嘗試將其添加到數據庫時,我只看到一個錯誤'錯誤參數'。我的代碼有什麼問題?我怎麼能找到一個類別已經存在與web服務?通過webservice添加產品後給出的錯誤參數prestashop

$reader = new XMLReader; 
$reader->open($filename); // open an large xml with products and it should add this to db prestashop via webservice 
$xml = $webService->get(array('url' => $shopUrl.'/api/products?schema=blank')); 
$resources = $xml->children()->children(); 
foreach ($resources as $resource) { 
    while ($reader->read()) { 
    if($reader->nodeType == XMLReader::ELEMENT) { 
     $name = $reader->name; 
    } 

    if($reader->nodeType == XMLReader::TEXT || $reader->nodeType == XMLReader::CDATA){ 
     switch ($name) { 
      case 'id': 
      if ($reader->value != '0') 
       $resource->id = $reader->value; 
      break; 

      case 'ilosc': 
      $resource->quantity = $reader->value; 
      break; 

      case 'cena_netto': 
      $resource->price = $reader->value; 
      break; 

      case 'opis': 
      $resource->description = $reader->value; 
      break; 

      case 'waga': 
      $resource->weight = $reader->value; 
      break; 

      case 'kod_kreskowy': 
      $resource->ean13 = $reader->value; 
      break; 
     } 
    } 

    if($reader->nodeType == XMLReader::END_ELEMENT && $reader->name == 'produkt'){ 
     $reader->next(); 
     $opt['postXml'] = $xml->asXML(); 
     $xml = $webService->add($opt); 
    } 
    } 
} 

回答

1

你可能會從categories?schema=blank的類別,這將返回

<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<categories> 
<category id="1" xlink:href="http://www.yourshop/api/categories/1"/> 
<category id="2" xlink:href="http://www.yourshop/api/categories/2"/> 
<category id="3" xlink:href="http://www.yourshop/api/categories/3"/> 
</categories> 
</prestashop> 

每個單獨的xlink將返回你:

<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<category> 
    <id><![CDATA[2]]></id> 
    <id_parent xlink:href="http://www.yourshop/api/categories/1"><![CDATA[1]]></id_parent> 
    <level_depth><![CDATA[1]]></level_depth> 
    <nb_products_recursive not_filterable="true"><![CDATA[169]]></nb_products_recursive> 
    <active><![CDATA[1]]></active> 
    <id_shop_default><![CDATA[1]]></id_shop_default> 
    <is_root_category><![CDATA[1]]></is_root_category> 
    <position><![CDATA[1]]></position> 
    <date_add><![CDATA[2013-08-30 13:06:15]]></date_add> 
    <date_upd><![CDATA[2013-08-30 13:06:15]]></date_upd> 
    <name><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[Home]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[Home]]></language></name> 
    <link_rewrite><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[home]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[home]]></language></link_rewrite> 
    <description><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[]]></language></description> 
    <meta_title><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[]]></language></meta_title> 
    <meta_description><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[]]></language></meta_description> 
    <meta_keywords><language id="1" xlink:href="http://www.yourshop/api/languages/1"><![CDATA[]]></language><language id="2" xlink:href="http://www.yourshop/api/languages/2"><![CDATA[]]></language></meta_keywords> 
<associations> 
<categories node_type="category"> 
    <category xlink:href="http://www.yourshop/api/categories/3"> 
    <id><![CDATA[3]]></id> 
    </category> 
    <category xlink:href="http://www.yourshop/api/categories/4"> 
    <id><![CDATA[4]]></id> 
    </category> 
    </category> 
</categories> 
<products node_type="product"> 
    <product xlink:href="http://www.yourshop/api/products/22"> 
    <id><![CDATA[22]]></id> 
    </product> 
    <product xlink:href="http://www.yourshop/api/products/24"> 
    <id><![CDATA[24]]></id> 
</products> 
</associations> 
</category> 
</prestashop> 
相關問題