小徐 zencart
问题? 联系我们
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表格
- 版权所有 © 2024 小徐 zencart视频教程. Powered by zencart 模板
如果有任何关于网站的意见,可以QQ联系或者发邮箱。