【问题标题】:How to update a new atribute in Magento with CSV file thorugh API如何通过 API 使用 CSV 文件更新 Magento 中的新属性
【发布时间】:2016-04-29 12:41:04
【问题描述】:

我在 Magneto 中的产品中有大量数字,我必须将 EAN 编号添加到所有产品中。 我如何通过 API 从 CSV 文件更新新属性。我想通过 API SOAP 从 ssh 服务器更新 EAN 编号。

【问题讨论】:

    标签: php api magento csv soap


    【解决方案1】:

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

    $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 导入它,但它不起作用,我怎样才能让它从 fgetcsv 函数读取 csv 中的 ean 和 sku?对不起,我不是 php 的专业人士 ..
    • 为你添加了一个 csv 读取循环,只需匹配你的列,你就应该准备好了
    猜你喜欢
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多