shopify表格转为zencart批量表格

<?php
 
$csv_file = getFileData('shopify_csv.csv'); //读取shopify表格


$arr= array();
$csv_csv = array();
$csv_csv[] = array(
        'v_products_model', //1
        'v_products_image', //2
        'v_products_name_1', //3多语言
        'v_products_description_1', //4多语言
        'v_products_url_1', //5
        'v_specials_price', //6
        'v_specials_last_modified', //7
        'v_specials_expires_date', //8
        'v_products_price', //9
        'v_products_weight', //10
        'v_last_modified',  //11
        'v_date_added', //12
        'v_products_quantity', //13
        'v_manufacturers_name', //14
        'v_categories_name_1', //15
        'v_categories_name_2', //16
        'v_categories_name_3', //17
        'v_categories_name_4', //18
        'v_categories_name_5', //19
        'v_categories_name_6', //20
        'v_categories_name_7', //21
        'v_tax_class_title',  //22
        'v_status',     //23
        'v_metatags_products_name_status',//24
        'v_metatags_title_status',//25
        'v_metatags_model_status',//26
        'v_metatags_price_status',//27
        'v_metatags_title_tagline_status',//28
        'v_metatags_title_1',//29多语言
        'v_metatags_keywords_1',//30多语言
        'v_metatags_description_1',//31多语言
        
        );
//shopify 表格生成数组
$csv_row = 1;
for($csv_row=1;$csv_row<sizeof($csv_file);$csv_row++){
    $handle = $csv_file[$csv_row][0];
    $pname = $csv_file[$csv_row][1];
    $des = $csv_file[$csv_row][2];

    $true_handle = false;
    
    for($m=0;$m<sizeof($arr);$m++){
        if( strcmp($arr[$m]['handle'],$handle) == 0 ){
            //已经存在了
            $true_handle = true;
          //  echo $csv_row;
        }
    }

    

    if($true_handle==false){
        $arr[]['handle'] = $handle;  
    }

   // echo sizeof( $arr);
}


for($csv_row=1;$csv_row<sizeof($csv_file);$csv_row++){
    $handle = $csv_file[$csv_row][0];
    $pname = $csv_file[$csv_row][1];
    $des = $csv_file[$csv_row][2];
    $option_sprice = $csv_file[$csv_row][20];
    $option_price = $csv_file[$csv_row][21];

    $option_name1 = $csv_file[$csv_row][8];
    $option_name_value1 = $csv_file[$csv_row][9];

    $option_name2 = $csv_file[$csv_row][10];
    $option_name_value2 = $csv_file[$csv_row][11];

    $option_name3 = $csv_file[$csv_row][12];
    $option_name_value3 = $csv_file[$csv_row][13];
    $img = $csv_file[$csv_row][25];
    for($m=0;$m<sizeof($arr);$m++){
        if( strcmp($arr[$m]['handle'],$handle) == 0 ){
            if(strlen($pname)>0){
                $arr[$m]['title'] = $pname;
            }


            if(strlen($des)>0){
                $arr[$m]['des'] = $des;
            }

            if($option_sprice>0){
                $arr[$m]['sprice'] = $option_sprice;
            }

            if($option_price>0){
                $arr[$m]['price'] = $option_price;
            }

            if(strlen($img )>5){
                $arr[$m]['img'][] = $img;
            }

            if(strlen($option_name1 )>1){
                $arr[$m]['optionname1']['title'] = $option_name1;
            }

            if(strlen($option_name_value1 )>1){
                $arr[$m]['optionname1']['value'][] = $option_name_value1;
            }



            if(strlen($option_name2 )>1){
                $arr[$m]['optionname2']['title'] = $option_name2;
            }

            if(strlen($option_name_value2 )>1){
                $arr[$m]['optionname2']['value'][] = $option_name_value2;
            }

            if(strlen($option_name3 )>1){
                $arr[$m]['optionname3']['title'] = $option_name3;
            }

            if(strlen($option_name_value3 )>1){
                $arr[$m]['optionname3']['value'][] = $option_name_value3;
            }

        }
    }

    


}

//print_r($arr);

//exit;

for($kk=0;$kk<sizeof($arr);$kk++){

    $pmode = md5($arr[$kk]['handle']);

    $imgjpg = pathinfo($arr[$kk]['img'][0],PATHINFO_EXTENSION);
    $img_arr = explode('?',$imgjpg);
    $lastimg = $img_arr[0];
    $mainimg = 'shopifyimg/'.$pmode.'.'.$lastimg;
   // print_r($mainimg);
   // exit;
    //image
    $img = $arr[$kk]['img'];
    $img_arr = array();
    for($k=1;$k<sizeof($img);$k++){
        $img_arr[]=$img[$k];
    }
    //print_r($img);

    $img_json = json_encode($img_arr);

    $option = array();
    //option1
    if(isset($arr[$kk]['optionname1']['title']) && strlen($arr[$kk]['optionname1']['title'])>1 ){
       $option1value = $arr[$kk]['optionname1']['value'];
       $option1value = array_values(array_unique($option1value));

       $option['option1']['title'] = $arr[$kk]['optionname1']['title'];
       $option['option1']['value'] = $option1value;
    }

    
    //option2
    if(isset($arr[$kk]['optionname2']['title']) && strlen($arr[$kk]['optionname2']['title'])>1 ){
        $option2value = $arr[$kk]['optionname2']['value'];
        $option2value = array_values(array_unique($option2value));

        $option['option2']['title'] = $arr[$kk]['optionname2']['title'];
        $option['option2']['value'] = $option2value;
     }


     
    //option3
    if(isset($arr[$kk]['optionname3']['title']) && strlen($arr[$kk]['optionname3']['title'])>1 ){
        $option3value = $arr[$kk]['optionname3']['value'];
        $option3value = array_values(array_unique($option3value));

        $option['option3']['title'] = $arr[$kk]['optionname3']['title'];
        $option['option3']['value'] = $option3value;
     }

    if(sizeof($option)){
        $option_json = json_encode($option);
    }else{
        $option_json = '';
    }
     

    $arrcool = array(
        'handle'=>$arr[$kk]['handle'],
        'img'=>$arr[$kk]['img'],
        'option'=>$option,
    );
    $json_info = json_encode($arrcool);
    //print_r($arrcool);

   

    if($arr[$kk]['price']<1){
        $price = $arr[$kk]['sprice'];
        $sprice = '';
    }else{
        $price = $arr[$kk]['price'];
        $sprice = $arr[$kk]['sprice'];
    }
    
    $csv_csv[] = array(
        $pmode,
        $mainimg,
        $arr[$kk]['title'],
        $arr[$kk]['des'],
        '',//url 
        $sprice,//特价
        '',//特价时间
        '',//特价时间
        $price,
        '',//重量
        '',// 时间
        '',//加入时间
        '9600',
        '',//品牌
        'Clothing',//分类
        '',//二级分类
        '',//三级分类
        '',//四级分类
        '',//五级分类
        '',//6及分类
        '',//七级分类
        '',//
        '1',//23
        '',//24
        '',//25
        '',//26
        '',//27
        '0',//28
        '',//29
        $img_json,//30 产品多图
        $json_info,//31 产品属性

    );
   
  //  print_r($csv_csv);
    //exit;
    
}


for($i=0;$i<sizeof($csv_csv);$i++){
    w_csv('zencart_csv.csv',$csv_csv[$i]);
}

echo 'csv';





//读取csv表格函数
function getFileData($file)
{
    $all=array();
    if (!is_file($file)) {
        exit('没有文件');
    }

    $handle = fopen($file, 'r');
    if (!$handle) {
        exit('读取文件失败');
    }

    while (($data = fgetcsv($handle)) !== false) {
        // 下面这行代码可以解决中文字符乱码问题
         //$data[1] = iconv('gb2312', 'utf-8', $data[1]);
        // $data[1] = str_replace(',','',$data[1]);
        // $data[1]=mb_convert_encoding($data[1],'utf8', 'gbk');
        // $data[10]=mb_convert_encoding($data[10],'utf8', 'gbk');

        // 跳过第一行标题
        if ($data[0] == 'name') {
            continue;
        }
        $all[] =$data;

        // data 为每行的数据,这里转换为一维数组
       // print_r($data);// Array ( [0] => tom [1] => 12 )

    }
    
    

    fclose($handle);
    
    return $all;
}

//数组写入csv表格函数
function w_csv($csv_name,$arr){
    $fp = fopen($csv_name, 'a+');  
     fputcsv($fp,$arr);  
    // fputcsv($fp,array('mmm','yyy','haha'));   //fputcsv可以用数组循环的方式进行实现  
     fclose($fp);  
   
}

五月最新zencart视频教程 - Shopify表格

问题 & 评论

    共有 0 评论

写个评论或者问题

该视频目前没有评论。

如果有任何关于网站的意见,可以QQ联系或者发邮箱。

tags - tags - tags - tags - tags - tags - tags - tags - tags - tags - tags - tags - tags - tags - tags -