Upload
trung-phan-thai
View
1.438
Download
5
Embed Size (px)
Citation preview
18/12/2010 1
LOGOPHPDay 2010
Phan Thái TrungPHP Day 2010
Tự động đặt hàng từ Hệ thống bán lẻ lớn nhất Trung Quốc
Tự động đặt hàng từ Hệ thống bán lẻ lớn nhất Trung Quốc
18/12/20102
Nội dung
Giới thiệu Đặt hàng web TQ1
Giới thiệu Kami8x2
Bên trong Kami8x3
Kết luận – Trao đổi4
18/12/20103
Giới thiệu Đặt hàng qua web Trung Quốc
Trung Quốc là trung tâm hàng hoá của thế giới
Đặt hàng sỉ, lẻ qua web có nhiều ưu điểm mà ai cũng biết
Đối tượng: Các shop kinh doanh thời trang, mỹ phẩm Người dùng lẻ
Hãy xem họ hoạt động như thế nào: http://www.google.com.vn/search?
q=đặt+hàng+web+trung+quốc
18/12/20104
Alibaba.com & Taobao.com
Alibaba là thị trường giao dịch bán buôn lớn nhất Trung quốc và thế giới.
Taobao.com Là thương hiệu bán lẻ hàng hoá của Alibaba. Là hệ thống trang web ưu tiên số 1 của
người mua hàng VN và thế giới. “Cần tìm sản phẩm gì, vào taobao.com”.
18/12/20105
Ví dụ minh hoạ: Taobao.com
Thẻ nhớ SD 32G SD SDHCVi mạch robotQuạt không cánh Dyson Áo thời trang dành cho teen giống các
hot girl Áo da beo H&M: H&M 豹 http://item.taobao.com/item.htm?id
=8579218972 http://item.taobao.com/item.htm?id
=6013307001&cm_cat=16
18/12/20106
Phần 2: Giới thiệu Kami8x
Dịch vụ đặt hàng toàn cầuCó chi nhánh đại lý tại 4 tỉnh thành Hà
Nội, Hải Phòng, Đà Nẵng, Hồ Chí Minh.
Đầu tư rất kỹ cho đặt hàng taobao.com mà không dịch vụ cạnh tranh nào có được.
18/12/20107
Kami8x đặt hàng tự động như thế nào
Phía người dùng khách hàng Chỉ cần nhập đường dẫn link web Chọn thuộc tính sản phẩm (màu sắc, kích cỡ…) (tự
dịch từ tiếng TQ sang tiếng Việt) Danh sách các sản phẩm cùng hình ảnh, giá, số
lượng và thuộc tính được quản lý trong CSDL. Phía đại lý, nhân viên Kami8x
Tự động đặt hàng hàng nghìn sản phẩm mỗi đợt Kiểm hàng về và báo cho khách qua email, SMS. Quản lý danh sách các đợt hàng từ trước
18/12/20108
Các công nghệ đã sử dụng Drupal CMS (Framework) Tự động dịch: Google translate API Taobao Open Platform (TOP)
http://open.taobao.com PHP Http Client Class:
http://scripts.incutio.com/httpclient/ PHPExcel:
http://www.codeplex.com/PHPExcel Mã PHP chuyển từ số sang chữ tiếng Việt (đếm bằng chữ)
SMS gate way phpQuery:
jQuery-like DOM manipulation for PHP Bảo Kim API (class BaoKimPayment) Ngân lượng API (class NL_Checkout)
18/12/20109
Drupal CMS / Framework
Drupal là một hệ thống rất mạnh để phát triển CMS và ứng dụng web
Với Drupal, người phát triển không phải lo viết các mã cấp thấp mà chỉ tập trung vào phát triển phần ứng dụng
Ví dụ nâng cao: AHAH form Batch API Bulk Views Operations Phân quyền khách, đại lý, quản lý
Sử dụng Google Apps Email (SMTP) cho gửi mail với Drupal
18/12/201010
Công cụ dịch Google dịch (tiếng TQ – tiếng Anh và ngược
lại) http://translate.google.com.vn/#zh-CN|en|
Dịch tích hợp Mozilla Firefox: gTranslator
https://addons.mozilla.org/en-US/firefox/addon/76233/ “Google translate gadget for firefox. This extension
translates entire webpages into a language of your choice with one click. Idea comes from Google Translation Bar for Chrome”.
Dịch tích hợp Internet Explorer: Google Toolbar
Dịch tích hợp Google Chrome: Đã tích hợp sẵn.
18/12/201011
Google translate APIfunction _digipro_google_translate ( $text, $destLang = 'vi', $srcLang = 'zh') { $text = urlencode( $text ); $google_url =
"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={$text}&langpair={$srcLang}|{$destLang}";
$trans = @file_get_contents( $google_url ); $json = json_decode( $trans, true ); if( $json['responseStatus'] != '200' ) return false; else return $json['responseData']['translatedText']; }
18/12/201012
Taobao Open Platform (TOP)
Hỗ trợ tự động tương tác với hệ thống taobao qua API
Kami8x đã sử dụng các lệnh sau: taobao.item.get
• Lấy thông tin thuộc tính, hình ảnh sản phẩm
taobao.itempropvalues.get• Lấy thông tin về các thuộc tính (màu sắc, size…)
taobao.items.get• Tự động nhập sản phẩm cho theo các danh mục hoặc theo
từng shop
taobao.itemcats.get• Lấy hết các danh mục hàng hoá của taobao.com về.
18/12/201013
Taobao Open Platform (tiếp)
API test: http://open.taobao.com/api_tool/api_test.html
Ví dụ minh hoạ:
18/12/201014
SMS gateway
Brand name SMS gateway
Gateway API
Demo Gateway API
18/12/201015
Kami8x – tự động đặt hàng Từ danh sách hàng nghìn sản phẩm của khách hàng
đã nhập Dùng javascript (client side) mở cửa sổ named popup
sang đường link web sản phẩm Dùng GreaseMonkey để chèn mã js vào trang web Gọi hàm trigger để giả lập sự kiện kích nút Nhập vào
giỏ hàng.var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false,
false, false, false, 0, null);
var aaa = document.querySelector("ul li[data-value='" + data_key_value + "']:not(.tb-selected) a");
if (aaa) { aaa.dispatchEvent(evt); }
(tiếp trang sau)
18/12/201016
Kami8x – tự động đặt hàng (tiếp) Dùng querySelector() để tìm thành
phần DOMvar li = document.querySelector("ul li[data-value='" +
data_key_value + "'].tb-selected");
Dùng addEventListener() với sự kiện 'DOMNodeInserted‘ để bắt sự kiện Giỏ hàng thành công hay không
Dùng javascript opener.postMessage() để phản hồi lại tình trạng tới người đặt hàng
(Demo)
parentPopup[0].addEventListener ('DOMNodeInserted', function (event) {
var textNode = event.target;
if (textNode.id == "J_CartInfo") { if (opener) {
opener.postMessage( checksum , "*"); // feedback }}}, false);
18/12/201017
Một ví dụ nữa của GreaseMonkey
Công cụ tính giá & đặt hàng ngay trong Taobao http://kami8x.net/cong-cu-tinh-gia-dat-hang-ngay-trong-taobao
“Với công cụ này, ngay trong trang web Taobao, người sử dụng có thể trực tiếp tính giá sản phẩm theo VNĐ, và thực hiện đặt hàng sản phẩm tới hệ thống của Kami8x.net một cách dễ dàng”
http://kami8x.net/sites/kami8x.net/files/greasemonkey/kami8x_order.user.js
18/12/201018
Kami8x – tự động kiểm hàng và báo giá Kiểm hàng bằng
Views Bulk Operation (VBO)
Gửi thông báo có hàng / hết hàng / lỗi web tới khách hàng qua Email, SMS
Lập file báo giá Excel và tính giá tuỳ theo số lượng
18/12/201019
Bonus – Mã chuyển số thành chữ - PHP http://phanthaitrung.thxd.nuce.edu.vn/article/helper-function-for-counting-big-number-currency-in-
vietnamese-string
function so_bang_chu($so, $mien_nam = false){ $NHOM = array('', 'mươi', 'trăm'); $NHOM_NGHIN = array(($mien_nam ? 'ngàn' : 'nghìn'), 'triệu', ($mien_nam ? 'tỷ' : 'tỉ')); $CHU = array('không', 'một' , 'hai' , 'ba' , 'bốn' , 'năm' , 'sáu' , 'bảy' , 'tám' , 'chín'); $LINH = ($mien_nam ? 'lẻ' : 'linh'); $chuso = (string)$so; $chuso = str_replace(' ', '', $chuso); $kq = array(); $nhom = 3; if ($nhom > strlen($chuso)) { $count = 3 - $nhom + strlen($chuso); if ($count <= 0) return; $nhom = strlen($chuso); } $count = 3; $has_last_group = false; while ($nhom3so = substr($chuso, -$nhom, $count)) { if (intval($nhom3so)) { $kq_nhom = array(); $last= ''; for ($j = -strlen($nhom3so); $j <= -1; $j++) { // đếm ngược từ hàng trăm $has_NHOM = true; $chu = (substr($nhom3so, $j, 1)); if (strlen($chu)) { if ($chu == '1' && $last && $last != '0' && $last != '1') { $kq_nhom[] = 'mốt'; } else if ($chu == '5' && $last != '0' && $last) { $kq_nhom[] = 'lăm'; } else if ($chu == '0' && $j == -1) { // 0 don vi // nothing } else if ($chu != '0' && $last === '0' && $j == -1) { // 0 chuc x don vi $kq_nhom[] = $LINH; $kq_nhom[] = $CHU[$chu]; } else if ($chu == '0' && $j == -2) { // 0 chuc // nothing $has_NHOM = false; } else if ($chu == '1' && $j == -2) { // 1 chuc $kq_nhom[] = 'mười'; $has_NHOM = false; } else if ($j == -3 && $chu == '0' && !$has_last_group && substr($nhom3so, -2, 1) == '0') { // 0 tram // nothing $has_NHOM = false; } else { $kq_nhom[] = $CHU[$chu]; } if ($has_NHOM && $NHOM[-1 - $j]) $kq_nhom[] = $NHOM[-1 - $j]; } $last = $chu; } $NHOM_NGHIN_index = ceil($nhom / 3) - 2; if ($NHOM_NGHIN_index >= 0) $kq_nhom[] = $NHOM_NGHIN[$NHOM_NGHIN_index % 3]; if ($NHOM_NGHIN_index > 2) { for ($i = 2; $i < $NHOM_NGHIN_index; $i += 3) { $kq_nhom[] = $NHOM_NGHIN[2]; // ty? } } $has_last_group = true; $kq[] = implode(' ', $kq_nhom); } else { $has_last_group = false; } $nhom += 3; if ($nhom > strlen($chuso)) { $count = 3 - $nhom + strlen($chuso); if ($count <= 0) break; $nhom = strlen($chuso); } } $kq = array_reverse($kq); $kq = implode(', ', $kq); // remove ", linh" to no comas $kq = str_replace(', ' . $LINH, ' ' . $LINH, $kq); $kq = ucfirst($kq); return $kq;}
18/12/201020
Tham khảo
How to Buy from Taobao (English version) http://taobaofieldguide.com/how-to-buy-from-t
aobao/how-to-buy-from-taobaoHướng dẫn xem hàng từ website
Taobao.com và Paipai.com http://kami8x.net/huong-dan-xem-hang-tu-web
site-taobaocom-va-paipaicomCông cụ tính giá & đặt hàng ngay
trong Taobao http://kami8x.net/cong-cu-tinh-gia-dat-hang-
ngay-trong-taobao
18/12/201021
Kết luận – Trao đổi
Kết luận Sử dụng rất nhiều công nghệ để làm nên một
hệ thống thương mại điện tử tuỳ biến.Trao đổi
Trao đổi với cử toạ
18/12/2010 22
LOGOPHPDay 2010
Chúc hội thảo thành công tốt đẹp!
Phan Thái Trung