2016-04-29 75 views

回答

0

这不是一个完整的解决方案,但它绝对是您的起点。好运

$productData = array(
    'additional_attributes' => array(
     'single_data' => array(
      array(
       'key' => 'ean', 
       'value' => 'value', 
      ), 
     ), 
    ), 
); 
$productId = '1000000'; 

$soap = new SoapConnection('1','2','3'); 
echo $soap->_catalogProductUpdate($productId,$productData); 


class SoapConnection 
{ 
    protected $soap_client; 
    protected $session_id; 

    function __construct($soap_host, $api_user, $api_pass) 
    { 
     try{ 
      echo "Connecting to $soap_host\n"; 
      $this->soap_client = new SoapClient($soap_host, array('trace' =>true, 
       'connection_timeout' => 30, 
       'cache_wsdl' => WSDL_CACHE_NONE, 
       'keep_alive' => false 
       )); 
      $this->session_id = $this->soap_client->login($api_user, $api_pass); 
      echo "Connected with session id ".$this->session_id."\n"; 
      return true; 
     } catch (SoapFault $e) { 
      echo "Soap Exception connecting to $soap_host: ". $e->getMessage(). "\n"; 
      var_dump($this->soap_client->__getLastRequest()); var_dump($this->soap_client->__getLastResponse()); 
      return false; 
     } 
    } 

    function _catalogProductUpdate($sku, $args) 
    { 
     try 
     { 
      return $this->soap_client->catalogProductUpdate($this->session_id, $sku, $args); 
     } catch (SoapFault $e) { 
      echo "Soap Exception _catalogProductUpdate: ". $e->getMessage(). "\n"; 
      return false; 
     } 
    } 
} 

编辑:

这里是如何读取CSV:

$file = fopen("my file path .csv","r"); 

while($row = fgetcsv($file)) 
{ 
    $row[0];//column1 
    $row[1];//column2 etc etc etc 
} 
fclose($file); 
+0

感谢这就是为每个EAN手动更新工作,但我试图从CSV导入,但它dosent工作,我怎么让它从fgetcsv函数的csv中读取ean和sku?抱歉,但IAM不profi在PHP .. – Szer0P

+0

添加在一个CSV阅读循环为您,只需匹配您的列,你应该是所有设置 – GoatHater