1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập kỹ thuật công ty TRUE PLUS đề tài xây dựng modun simple affiliate cho magento

27 1,1K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số đặc điểm khiến magento trở thành mã nguồn mở dùng để xây dựng hệ thống thương mại điện tử tốt nhất: Về mặt tính năng magento có 1 số chức năng nổi bật mà 1 số mã nguồn mở khác khô

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CNTT & TT

BÁO CÁO THỰC TẬP KỸ THUẬT

CÔNG TY TRUE PLUS

Đề tài: Xây dựng modun Simple Affiliate cho magento

Nguyễn Văn Bình 20101141 Người HD: A Tạ Hoàng Hải

Hà Nội 8/12/2013

Trang 2

2

1 Mục lục

2 Lời cám ơn 3

3 Giới thiệu về công ty 4

4 Quá trình thực tập 5

5 Cơ bản về magento 6

5.1 Magento là gì? 6

5.2 Cấu trúc một module magento 7

6 Các sản phẩm trong quá trình thực tập 9

6.1 Website bán hàng đơn giản 9

6.2 Modun Emailmarketing 10

7 Module Simple Affiliate 12

7.1 Xây dựng backend 13

7.1.1 Manage Accounts 13

7.1.2 Manage Transactions 15

7.2 Xây dựng front end 17

7.2.1 Thông tin acccount 17

7.2.2 Gửi email 18

7.2.3 Trang rút tiền 19

7.3 Xử lý các event 19

7.4 Cấu hình cho module 21

7.5 Demo giao diện và chức năng chính 22

8 BẢNG ĐÁNH GIÁ KẾT QUẢ THỰC TẬP DOANH NGHIỆP 27

Trang 3

3

2 Lời cám ơn

Qua đợt thực tập vừa rồi giúp em có thêm nhiều kiến thức mới bổ ích, trau dồi thêm kỹ năng làm việc nhóm cũng như được tiếp xúc và làm việc với môi trường làm việc thực tế, giúp em tích lũy thêm kinh nghiệm làm việc

Em xin chân thành cảm ơn các thầy cô trong viện Công nghệ thông tin & truyền thông đã tổ chức đợt thực tập bổ ích này

Em cũng xin gửi lời cảm ơn đến lãnh đạo công ty True Plus đã tạo điều kiện,giúp đỡ,tạo ra môi trường cho chúng em có cơ hội làm việc cũng như học tập trong điều kiện rất tốt

Cuối cùng em xin gửi lời cám ơn đến các anh hướng dẫn trực tiếp ở công ty,đã giúp đỡ,giải đáp thắc mắc, giúp em hoàn thành các công việc được công ty giao

Trang 4

4

3 Giới thiệu về công ty

True PLus do người Việt trẻ thành lập và điều hành nhưng hoạt động trong môi trường quốc tế Các thành viên chủ chốt của công ty đều còn rất trẻ nhưng đầy nhiệt huyết và khát khao chinh phục cái mới, mở rộng tầm nhìn và cần cù nỗ lực Đối tượng khách hàng chiến lược hiện nay hầu hết đều ở nước ngoài…

Những lĩnh vực sản phẩm mà True Plus tâm huyết phát triển, dồn hết đam mê và hoài bão bao gồm:

- Cung câp giải pháp cho các hệ thống thương mại điện tử

- Xây dựng hệ thống thương mại điện tử dựa trên Magento

- Viết các extension cho Magento- một hệ thống mã nguồn mở rất chuyên nghiệp dành cho E-Commerce

- Giaytot.vn website bán giầy trực tuyến lớn nhất Việt Nam

- Himita.com web bán hàng handmade

Magento: Magento là một hệ thống thương mại điện tử giàu tính năng được xây dựng trên nền tảng công nghệ Mã Nguồn Mỡ (OS) nhằm cung cấp cho thương mại trực tuyến một khả năng linh hoạt chưa từng có cùng với việc kiểm soát giao diện,nội dung, mở rộng chức năng cực kỳ thân thiện.Tương tác quản trị bằng hình ảnh trực giác và đa site là sức mạnh nổi bật của magento.Việc Tối ưu hóa công cụ tìm kiếm và quản trị thư mục uyển chuyển giúp cho magento có thể thích ứng với bất kỳ nhu cầu,hình thức và mức độ của kinh doanh trực tuyến từ công việc kinh doanh những mặt hàng đơn lẻ cho tới đa dạng hóa sản phẩm trên một site và nhiều site

Trang 5

5

4 Quá trình thực tập

19/6 – 6/6 Xây dựng website bán hàng đơn giản

7/6 – 14/6 Tìm hiểu và xây dựng frontend cho

modun Email marketing

Trang 6

Magento dùng để phát triển xây dựng hệ thống website bán hàng với nhiều tính năng

ưu việt dựa trên mã nguồn mở (OS) Magento kế thừa các tính năng của những open source về shopping cart trước nó, như Zen cart- oscommerce, cùng với những tính năng vượt trội của nền tảng website 2.0 Vì vậy, theo các chuyên gia dự đoán Magento chính là tương lai của kỷ nguyên Thương Mại Điện Tử

Một số đặc điểm khiến magento trở thành mã nguồn mở dùng để xây dựng hệ thống thương mại điện tử tốt nhất:

Về mặt tính năng magento có 1 số chức năng nổi bật mà 1 số mã nguồn mở khác không có được đó là:

- Wishlists: Bạn có thể tạo ra danh sách sản phẩm yêu thích của mình và chia

sẻ với bạn bè

- Multi store/mall feature: bạn có thể tạo ra nhiều cửa hàng, kho hàng, địa điểm bán hàng khác nhau, cùng 1 sản phẩm nhưng có thể bán với giá khác nhau ở mỗi cửa hàng

- Email lists: Magento có 1 hệ thống danh sách các email, lọc, sắp xếp, giúp cho việc marketing dễ dàng với tính năng ưu việt

- Compare product: Tạo ra danh sách các sản phẩm dùng để so sánh

- Bundle/Grouped/Digital products & more: Hệ thống có thể tạo ra các gói, nhóm sản phẩm với thuộc tính cho từng loại

- Layered/ Filter naviagation: Giúp người dùng có thể lọc, tìm kiếm theo 1 hay nhiều thuộc tính của sản phẩm

- Advanced searching: Giúp tìm kiếm nâng cao, tìm kiếm tùy chỉnh

- Seo performance: Magento đã tích hợp SEO giúp tối ưu hóa với công cụ tìm kiếm

- CMS page: giúp người dùng tạo ra những trang laddingpage dễ dàng

Trang 7

7

5.2 Cấu trúc một module magento

Các module của Magento được xây dựng theo mô hình MVC với đầy

đủ các thành phần: Controller, Model và View Trong Magento, View bao gồm Block, layout và các file template

Controller: là thành phần tiếp nhận các request từ phía người dùng được gửi

đến Server thông qua browser Controller yêu cầu View (Layout trong Magento) render ra các đoạn mã HTML (bao gồm cả CSS và Javascript) Sau

đó trả về phía browser để hiển thị cho người dùng

View: trong Magento, View bao gồm các Layout (định nghĩa bằng các file

XML), Block (các class PHP), và Template (các file phtml) Layout có nhiệm

vụ render ra các đoạn mã HTML Layout có thể lấy dữ liệu từ database thông qua các Model Objects

Model: trong Magento, Model bao gồm 2 thành phần: Object Model và

Resource Model Trong đó, Object Model không làm việc trực tiếp với database Nó có nhiệm vụ lưu trữ dữ liệu tạm thời sau khi được lấy ra từ

Trang 8

8

database Ngoài ra, nó cung cấp các operator function như get(), set(), load(), delete() Resource Model là thành phần làm việc trực tiếp với database Sau khi truy vấn database, dữ liệu sẽ được chuyển vào Object Model để lưu trữ tạm thời

 Cấu trúc thư mục

Các module của Magento được lưu trữ trong 3 thư mục:

 app/code/core: đây là thư mục chứa các module core của Magento

 app/code/local : thư mục này chứa các module mất phí do các provider phát triển

 app/code/community : thư mục này chứa các module miễn phí được phát triển bởi cộng đồng Magento

Trang 9

9

6 Các sản phẩm trong quá trình thực tập

6.1 Website bán hàng đơn giản

Yêu cầu: Xây dựng website bán hàng đơn giản sử dụng Php & MySQL, có các chức năng cơ bản như đăng ký,đăng nhập, tìm kiếm sản phẩm, thêm,sửa,xóa sản phẩm, sắp xếp sản phẩm,liệt kê sản phẩm theo category…

Giao diện chính:

Trang 10

10

6.2 Modun Emailmarketing

Mô tả: Module cho phép các Account tạo và quản lý các group,các email trong group của chính mình, và từ đó có thể gửi email đến cho bạn bè trong list contact của mình, tạo event giảm giá cho sản phẩm, tạo invoice trong checkout

Giao diện

Trang 11

11

Trang 12

hồng”) Đồng thời, khách hàng mua đơn hàng đó có thể được nhận 1 lượng

discount (giảm giá) Affiliates thực hiện việc giới thiệu khách hàng thông qua việc gửi email giới thiệu về store Các link này có chứa thông tin về affiliate (có thể là affiliate ID) Vì vậy khi khách hàng mua hàng sau khi đã click vào các link này, module sẽ kiểm tra được thông tin affilaite và tạo ra các transaction (giao dịch) Từ

đó các affiliates sẽ nhận được commission

Module Affiliate cung cấp các chức chính năng sau:

 Quản lý affiliate account (thêm, sửa, xóa, upload ảnh)

 Quản lý transaction (liệt kê, tìm kiếm)

 Setting lượng commission/ disccount cho mỗi order mua hàng

 Đăng ký làm affiliate

 Cho phép affiliates kiểm tra danh sách các transaction, thống kê balance (số tiền trong tài khoản)

Thiết kế Cơ sở dữ liệu :

Bảng simpleaffiliate_account gồm các field sau:

 account_id: Id banner (int(11) unsigned, khóa chính)

 customer_id: id của customer account (int(11) unsigned, khóa phụ trỏ đến entity_id của bảng customer_entity)

 firstname: (varchar 255)

 lastname: (varchar 255)

 email: (varchar 255)

 balance: tổng số tiền hiện tại (decimal(12,4))

 total_received: tổng số tiền commission nhận được (decimal(12,4))

 joined: thời gian tạo account (datetime)

 status: Disable/ Enable (tinyint(1))

Trang 13

13

Bảng simpleaffiliate_transaction gồm các field sau:

 transaction_id: Id banner (int(11) unsigned, khóa chính)

 order_id: increment id của order (bảng sales_flat_order) (int(11) unsigned)

 affiliate_id: id account trong bảng simpleaffiliate_account (int(11) unsigned)

 order_total: tổng giá trị đơn hàng (decimal(12,4))

 commission: số tiền affiliate nhận được (decimal(12,4))

 store: ID của store mà transaction được tạo ra (smallint(6))

 created: thời gian tạo (datetime)

 status: Complete/ Pending (tinyint(1))

Các action có thể thực hiện trên trang listing

 Add Affiliate account: Thêm affiliate account

 Search: Tìm kiếm affiliate theo ID, Name, Email, Balance, Total Received, Status

 Edit Account: Sửa thông tin account

 Mass delete : Xóa thông tin nhiều account cùng lúc

 Change Status: Thay đổi trạng thái nhiều account cùng lúc

 Export dữ liệu account ra Csv/Xml file

Trang 14

14 Giao diện account manager liệt kê danh sách account

Giao diện thêm Affiliate Account

Trang 15

15

Giao diện sửa thông tin một Affiliate Account

7.1.2 Manage Transactions

Yêu cầu:

Thêm menu: Simple Affiliate/ Manage Transactions vào backend

Hiển thị danh sách các transaction (order mà các affiliates giới thiệu được), dữ liệu cần hiển thị

Các action có thể thực hiện trên trang listing

 Search: Tìm kiếm affiliate theo ID, Order Id, Affiliate Email, Order Total, Commission, Store, Created, Status

 Export dữ liệu transaction ra Csv/Xml file

Thực hiện:

Tạo Model/ Resource Model/ Collection để thao tác với bảng transaction

Tạo block để hiển thị danh sách account

 Block/Adminhtml/Transaction.php

 Block/Adminhtml/Transaction /Grid.php

Tạo form để thêm account và sửa account tại file

- Magestore\Affiliate\Block\Adminhtml\Transaction\Edit\Tab\form

Trang 16

16

Giao diện transaction manager

Trang 17

17

7.2 Xây dựng front end

7.2.1 Thông tin acccount

Tạo trang hiển thị thông tin cá nhân của affiliate tại frontend hiển thị:

 Name: Tên (Firstname + Lastname)

 Balance: Số tiền trong tài khoản

 Total Received: tổng số tiền commission nhận được

 Form edit thông tin: First Name, Last Name, Email Click nút Save sẽ lưu thông tin vào database thông qua model Simpleaffiliate/Account và

Customer/Customer Hiển thị thông báo lỗi/ thành công

Hàm xử lý lưu thông tin account tại AccountController :

public function saveAction() {

$firstname = '' $this->getRequest()->getPost('firstname'); $lastname = '' $this->getRequest()->getPost('lastname'); $email = '' $this->getRequest()->getPost('email');

$id = '' $this->getRequest()->getParam('id');

if ((isset($firstname) && ($firstname != null)) &&

(isset($email) && ($email != null)) && (isset($lastname) &&

($lastname != null)) && (isset($id) && ($id != null))) {

Trang 18

18

7.2.2 Gửi email

Tạo form gửi email tại front end:

- Cho phép nhập nhiều email, ngăn cách nhau bởi dấu phẩy

- Nội dung email bất kì nhưng khi người nhận sẽ có link tới website để mua

hàng,khi mua hàng bằng đường link này,khách hàng sẽ được giảm giá và người gửi

sẽ được hưởng hoa hồng từ phiên mua hàng

Hàm xử lý gửi email tại IndexController:

public function sendemail(){

Trang 19

->sendTransactional($templateId, $sender, $email_contact,

$name_contact, $vars, $storeId);

- Sẽ có 1 tab mới dưới tab Affiliate Transactions

- Nội dung trong form gồm có 1 text để nhập số tiền và nút ấn rút tiền

- Số tiền sẽ được chủ website gửi trực tiếp theo địa chỉ của affiliate hay qua thẻ dùng để mua sản phẩm

7.3 Xử lý các event

Để khi các khách hàng vào link gửi từ Affiliate mua hàng thì được giảm giá,chúng

ta sử dụng cơ chế phát event trong magento để giảm giá cho sản phẩm, để thực hiện điều này trong module em đã sử dụng các event sau:

- catalog_product_collection_load_after()

- catalog_product_get_final_price()

- sales_order_place_after()

- controller_action_postdispatch_customer_account_logout()

Để sử dụng các event này thì cần phải khi báo trong file config.xml Và viết

phương thức xử lý chúng ở file Magestore\Affiliate\Model\Observer.php

Một vài hàm xử lý event trong module:

Trang 20

20

public function productLoadAfter($observer){

$product_collection = $observer['collection'];

if(isset($_COOKIE['affiliate_id'])&&($_COOKIE['affiliate_id'] == Mage::getModel('affiliate/account')->load($_COOKIE['affiliate_id'])-

} else {

$final_price = $price_pro - Mage::getStoreConfig('affiliate/general/discount')/100;

}

$item->setFinalPrice($final_price);

} }

}

Trang 21

21

public function productGetFinalPrice($observer){

$item = $observer->getEvent()->getProduct();

if(isset($_COOKIE['affiliate_id'])&&($_COOKIE['affiliate_id'] == Mage::getModel('affiliate/account')->load($_COOKIE['affiliate_id'])-

7.4 Cấu hình cho module

Phần cấu hình cho module tại Backend (Simple Affiliate/setting)

 Enable: bật/ tắt module, dropdown (Yes/No)

 Commission type: dropdown (Fixed/ Percent)

 Commission value: text

 Discount type: dropdown (Fixed/ Percent)

 Discount value: text

Để viết phần này cần phải sửa file cấu hình module system.xml

Giao diện cấu hình

Trang 22

22

7.5 Demo giao diện và chức năng chính

Trang thông tin Affiliate Account,Affiliate có thể chỉnh sửa thông tin của mình tại trang này

Trang 23

23

Affiliate gửi email cho khách hàng,hệ thống sẽ tự động gửi kèm link đến trang web

Affiliate có thể share link của website lên facebook

Hộp thoại hiện ra để có thể share lên facebook

Trang 24

24 Khi khách hàng click vào link của Affiliate và mua hàng sẽ thấy được giảm giá

Trang 25

25 Giao diện đặt hàng

Giao diện checkout

Trang 26

26

Admin vào Oder trong back end tạo invoice cho đơn hàng

Sau khi Addmin tạo invoice cho đơn hàng thì tài khoản Affiliate sẽ được cộng tiền hoa hồng

Khách hàng có thể rút tiền của mình tại đây, sau đó admin sẽ chuyển tiền vào tài khoản của Affiliate

Trang 27

Tên công ty tiếp nhận

(nếu có)

Phương pháp làm việc □

(nếu có)

Năng lực nắm bắt

(nếu có)

Năng lực quản lý □

(nếu có)

Năng lực tiếng Anh □

(nếu có)

Năng lực làm việc

(nếu có)

Tổng điểm

Điểm

Người đánh giá:

Ngày đăng: 23/10/2014, 16:27

HÌNH ẢNH LIÊN QUAN

8  BẢNG ĐÁNH GIÁ KẾT QUẢ THỰC TẬP DOANH NGHIỆP - Báo cáo thực tập kỹ thuật công ty TRUE PLUS  đề tài xây dựng modun simple affiliate cho magento
8 BẢNG ĐÁNH GIÁ KẾT QUẢ THỰC TẬP DOANH NGHIỆP (Trang 27)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w