如何使用CSV文件更新Magento中的新属性通过API
问题描述:
我有一个来自Magneto中的产品的大数字,我必须将EAN编号添加到所有产品。 如何通过API更新CSV文件中的新属性?我想通过API SOAP从ssh服务器更新EAN号码。如何使用CSV文件更新Magento中的新属性通过API
答
这不是一个完整的解决方案,但它绝对是您的起点。好运
$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);
感谢这就是为每个EAN手动更新工作,但我试图从CSV导入,但它dosent工作,我怎么让它从fgetcsv函数的csv中读取ean和sku?抱歉,但IAM不profi在PHP .. – Szer0P
添加在一个CSV阅读循环为您,只需匹配您的列,你应该是所有设置 – GoatHater