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 - Pdf 23

ĐẠ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
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

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.

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

Tìm hiểu và viết các event giảm giá cho
Email marketing
8/7 – 14/7

Tìm hiểu check out và viết check out
cho modun Email Marketing 15/7 – 8/8

Xây dựng modun Simple Affiliate

6

5 Cơ bản về magento
5.1 Magento là gì?
Magento là một mã nguồn mở, được ra đời ngày 31 tháng 3 năm 2008, được sáng
lập bởi Varien. Phát triển dựa trên nền tảng từ Zend Framework.
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

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ừ
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


11 12

7 Module Simple Affiliate

Mô tả:
Affiliate là module cho phép các chủ store (cửa hàng) tạo ra mạng lưới giới
thiệu khách đến mua hàng thông qua các affiliates (người môi giới). Với mỗi order
(đơn hàng) thành công, affiliate sẽ nhận được 1 lượng commission (tiền “hoa
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 :

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
Thực hiện:
Tạo block để hiển thị danh sách account
 Magestore\Affiliate \Block/Adminhtml/Account.php
 Magestore\Affiliate \Block/Adminhtml/Account/Grid.php
Tạo form để thêm account và sửa account tại file
- Magestore\Affiliate\Block\Adminhtml\Account\Edit\Tab\form

14

Giao diện account manager liệt kê danh sách account Giao diện thêm Affiliate Account
15

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

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))) {
$affiliate = Mage::getModel('affiliate/account');
$affiliate->load($id)
->setData('firstname', $firstname)
->setData('lastname', $lastname)
->setData('email', $email);
$affiliate->save();
}
$this->_redirect('affiliate/account/index');
}
18

7.2.2 Gửi email

19

);
$storeId = Mage::app()->getStore()->getId();
$translate = Mage::getSingleton('core/translate');
Mage::getModel('core/email_template')
->setTemplateSubject($mailSubject)
->sendTransactional($templateId, $sender, $email_contact,
$name_contact, $vars, $storeId);
$translate->setTranslateInline(true);
}
}
}
7.2.3 Trang rút tiền
- 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:


$price = $item->getFinalPrice();
if(Mage::getStoreConfig('affiliate/general/discount_type')
== 1){
$final_price = $price -
($price*Mage::getStoreConfig('affiliate/general/discount')/100);
}
else {
$final_price = $price -
Mage::getStoreConfig('affiliate/general/discount')/100;
}
$item->setFinalPrice($final_price);
}
}
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
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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status