首页 » ZenCart » ZenCart教程 » 阅读文章
Zencart客户资料转移合并工具简版 Customers Populate v1.0
很久没给大家分享点有用的东西了,今天抽空写了一个zencart客户资料转移合并工具,感觉还是有点用的,就分享给大家
主要的用途就是就一个zencart网站的客户全部迁移到另一个网站
<?php // +---------------------------------------------------------------------- // | Project:Zencart客户资料转移合并工具简版 Customers Populate v1.0 // +---------------------------------------------------------------------- // | Explanation:2014-12-1 // +---------------------------------------------------------------------- // | Version: V1.0 // +---------------------------------------------------------------------- // | Authors: ezencart <info@ezencart.com QQ:40309022> // +---------------------------------------------------------------------- header('Content-Type:text/html;charset=UTF-8'); require('includes/application_top.php'); function ez_get_customers_books($customers_id,$customers_default_address_id){ global $db; $books_data=array(); $books=$db->Execute("SELECT * FROM ".TABLE_ADDRESS_BOOK." WHERE customers_id=".$customers_id); while(!$books->EOF){ $books->fields['primary'] = ($books->fields['address_book_id']==$customers_default_address_id) ? 1 : 0; $books_data[]=$books->fields; $books->MoveNext(); } return $books_data; } function ez_get_customers_info($customers_id){ global $db; $customers_info=$db->Execute("SELECT * FROM ".TABLE_CUSTOMERS_INFO." WHERE customers_info_id=".$customers_id); unset($customers_info->fields['customers_info_id']); return $customers_info->fields; } $customers_data=array(); //导出 if($_GET['toolaction']=='export'){ $customers = $db->Execute("SELECT * FROM ".TABLE_CUSTOMERS); while(!$customers->EOF){ $customers->fields['books']=ez_get_customers_books($customers->fields['customers_id'],$customers->fields['customers_default_address_id']); $customers->fields['customers_info']=ez_get_customers_info($customers->fields['customers_id']); $customers_data[$customers->fields['customers_email_address']]=$customers->fields; $customers->MoveNext(); } file_put_contents(DIR_FS_SQL_CACHE.'/customers_data.log', json_encode($customers_data)); echo '导出成功'; exit; } //导入 if($_GET['toolaction']=='import'){ if(!file_exists(DIR_FS_SQL_CACHE.'/customers_data.log')) {echo '客户资料文件不存在';die;} $customers_data_json=file_get_contents(DIR_FS_SQL_CACHE.'/customers_data.log'); $customers_data=json_decode($customers_data_json,true); foreach($customers_data as $email_address => $email_data){ $check_email_query = "select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . $email_address . "'"; $check_email = $db->Execute($check_email_query); if ($check_email->fields['total'] > 0) continue; //邮箱已存在跳出 $book_data=$email_data['books']; $customers_info=$email_data['customers_info']; unset($email_data['books'],$email_data['customers_id'],$email_data['customers_info']); //插入客户表 zen_db_perform(TABLE_CUSTOMERS, $email_data); $customers_id = $db->Insert_ID(); //插入客户信息表 $customers_info['customers_info_id']=$customers_id; zen_db_perform(TABLE_CUSTOMERS_INFO, $customers_info); //插入地址表 foreach($book_data as $book){ $book['customers_id']=$customers_id; unset($book['address_book_id']); $primary= ($book['primary']==1) ? 1 : 0; unset($book['primary'],$book['address_book_id']); zen_db_perform(TABLE_ADDRESS_BOOK, $book); $books_id = $db->Insert_ID(); //更新客户表默认地址 if($primary==1) $db->Execute("UPDATE ".TABLE_CUSTOMERS." SET customers_default_address_id=".$books_id." WHERE customers_id=".$customers_id); } } echo '导入成功'; exit; } ?> <a href="?toolaction=export">导出</a> <a href="?toolaction=import">导入</a>
使用方法很简单,只用将文件上传到网站根目录,然后浏览器运行http://xxx.com/customers_populate.php,导出后将cache/customers_data.log转移到另一个站的cache下,然后执行导入
customers_populate_v1.0.rar (1.3 KB, 345 次)
声明: 本文由Ezencart原创,转载请保留链接:Zencart客户资料转移合并工具简版 Customers Populate v1.0
评论 共3条 (RSS 2.0) 发表评论
厉害,什么时候也能弄出OPENCART 的客户资料转移?
有没有magento的分享一下 谢谢
产品包含reverse camera,rear view cameras,car dvd player