You are on page 1of 27

I HC BCH KHOA H NI VIN CNTT & TT

BO CO THC TP K THUT CNG TY TRUE PLUS ti: Xy dng modun Simple Affiliate cho magento

Nguyn Vn Bnh 20101141 Ngi HD: A T Hong Hi

H Ni 8/12/2013

1 Mc lc
2 3 4 5 Li cm n .........................................................................................................3 Gii thiu v cng ty ..........................................................................................4 Qu trnh thc tp ..............................................................................................5 C bn v magento.............................................................................................6 5.1 Magento l g? ...............................................................................................6 5.2 Cu trc mt module magento ......................................................................7 6 Cc sn phm trong qu trnh thc tp ..............................................................9 6.1 Website bn hng n gin ...........................................................................9 6.2 Modun Emailmarketing...............................................................................10 7 Module Simple Affiliate ..................................................................................12 7.1 Xy dng backend .......................................................................................13 7.1.1 7.1.2 7.2.1 7.2.2 7.2.3 Manage Accounts...............................................................................13 Manage Transactions .........................................................................15 Thng tin acccount.............................................................................17 Gi email............................................................................................18 Trang rt tin......................................................................................19

7.2 Xy dng front end......................................................................................17

7.3 X l cc event ............................................................................................19 7.4 Cu hnh cho module ...................................................................................21 7.5 Demo giao din v chc nng chnh ...........................................................22 8 BNG NH GI KT QU THC TP DOANH NGHIP ...................27

2 Li cm n
Qua t thc tp va ri gip em c thm nhiu kin thc mi b ch, trau di thm k nng lm vic nhm cng nh c tip xc v lm vic vi mi trng lm vic thc t, gip em tch ly thm kinh nghim lm vic Em xin chn thnh cm n cc thy c trong vin Cng ngh thng tin & truyn thng t chc t thc tp b ch ny Em cng xin gi li cm n n lnh o cng ty True Plus to iu kin,gip ,to ra mi trng cho chng em c c hi lm vic cng nh hc tp trong iu kin rt tt. Cui cng em xin gi li cm n n cc anh hng dn trc tip cng ty, gip ,gii p thc mc, gip em hon thnh cc cng vic c cng ty giao

3 Gii thiu v cng ty


True PLus do ngi Vit tr thnh lp v iu hnh nhng hot ng trong mi trng quc t. Cc thnh vin ch cht ca cng ty u cn rt tr nhng y nhit huyt v kht khao chinh phc ci mi, m rng tm nhn v cn c n lc. i tng khch hng chin lc hin nay hu ht u nc ngoi Nhng lnh vc sn phm m True Plus tm huyt pht trin, dn ht am m v hoi bo bao gm:

- Cung cp gii php cho cc h thng thng mi in t. - Xy dng h thng thng mi in t da trn Magento. - Vit cc extension cho Magento- mt h thng m ngun m rt chuyn nghip dnh cho E-Commerce. - Giaytot.vn website bn giy trc tuyn ln nht Vit Nam - Himita.com web bn hng handmade Magento: Magento l mt h thng thng mi in t giu tnh nng c xy dng trn nn tng cng ngh M Ngun M (OS) nhm cung cp cho thng mi trc tuyn mt kh nng linh hot cha tng c cng vi vic kim sot giao din,ni dung, m rng chc nng cc k thn thin.Tng tc qun tr bng hnh nh trc gic v a site l sc mnh ni bt ca magento.Vic Ti u ha cng c tm kim v qun tr th mc uyn chuyn gip cho magento c th thch ng vi bt k nhu cu,hnh thc v mc ca kinh doanh trc tuyn t cng vic kinh doanh nhng mt hng n l cho ti a dng ha sn phm trn mt site v nhiu site.

4 Qu trnh thc tp

19/6 6/6 7/6 14/6

Xy dng website bn hng n gin Tm hiu v xy dng frontend cho modun Email marketing Tm him v xy dng backend trong magento cho modun Email marketing Tm hiu v xy dng phn gi Email cho modun Email marketing Tm hiu v vit cc event gim gi cho Email marketing Tm hiu check out v vit check out cho modun Email Marketing Xy dng modun Simple Affiliate

15/6 21/6

22/6 28/6

29/6 7/7

8/7 14/7 15/7 8/8

5 C bn v magento 5.1 Magento l g?


Magento l mt m ngun m, c ra i ngy 31 thng 3 nm 2008, c sng lp bi Varien. Pht trin da trn nn tng t Zend Framework. Magento dng pht trin xy dng h thng website bn hng vi nhiu tnh nng u vit da trn m ngun m (OS). Magento k tha cc tnh nng ca nhng open source v shopping cart trc n, nh Zen cart- oscommerce, cng vi nhng tnh nng vt tri ca nn tng website 2.0. V vy, theo cc chuyn gia d on Magento chnh l tng lai ca k nguyn Thng Mi in T. Mt s c im khin magento tr thnh m ngun m dng xy dng h thng thng mi in t tt nht: V mt tnh nng magento c 1 s chc nng ni bt m 1 s m ngun m khc khng c c l: - Wishlists: Bn c th to ra danh sch sn phm yu thch ca mnh v chia s vi bn b. - Multi store/mall feature: bn c th to ra nhiu ca hng, kho hng, a im bn hng khc nhau, cng 1 sn phm nhng c th bn vi gi khc nhau mi ca hng. - Email lists: Magento c 1 h thng danh sch cc email, lc, sp xp, gip cho vic marketing d dng vi tnh nng u vit. - Compare product: To ra danh sch cc sn phm dng so snh. - Bundle/Grouped/Digital products & more: H thng c th to ra cc gi, nhm sn phm vi thuc tnh cho tng loi. - Layered/ Filter naviagation: Gip ngi dng c th lc, tm kim theo 1 hay nhiu thuc tnh ca sn phm. - Advanced searching: Gip tm kim nng cao, tm kim ty chnh. - Seo performance: Magento tch hp SEO gip ti u ha vi cng c tm kim. - CMS page: gip ngi dng to ra nhng trang laddingpage d dng... - Tch hp google checkout. - B nh cache . - Cu trc th mc r rng: Magento c pht trin da trn nn tng Zend Framework vi m hnh MVC, gip bn c th qun l pht trin h thng d dng, khi c s update ca cc phin bn mi.

5.2 Cu trc mt module magento


Cc module ca Magento c xy dng theo m hnh MVC vi y cc thnh phn: Controller, Model v View. Trong Magento, View bao gm Block, layout v cc file template.

Controller: l thnh phn tip nhn cc request t pha ngi dng c gi n Server thng qua browser. Controller yu cu View (Layout trong Magento) render ra cc on m HTML (bao gm c CSS v Javascript). Sau tr v pha browser hin th cho ngi dng. View: trong Magento, View bao gm cc Layout (nh ngha bng cc file XML), Block (cc class PHP), v Template (cc file .phtml). Layout c nhim v render ra cc on m HTML. Layout c th ly d liu t database thng qua cc Model Objects. Model: trong Magento, Model bao gm 2 thnh phn: Object Model v Resource Model. Trong , Object Model khng lm vic trc tip vi database. N c nhim v lu tr d liu tm thi sau khi c ly ra t 7

database. Ngoi ra, n cung cp cc operator function nh get(), set(), load(), delete(). Resource Model l thnh phn lm vic trc tip vi database. Sau khi truy vn database, d liu s c chuyn vo Object Model lu tr tm thi.

View

Controller

Model

Layout

Template

Cu trc th mc Cc module ca Magento c lu tr trong 3 th mc: app/code/core: y l th mc cha cc module core ca Magento app/code/local : th mc ny cha cc module mt ph do cc provider pht trin. app/code/community : th mc ny cha cc module min ph c pht trin bi cng ng Magento. 8

6 Cc sn phm trong qu trnh thc tp 6.1 Website bn hng n gin


Yu cu: Xy dng website bn hng n gin s dng Php & MySQL, c cc chc nng c bn nh ng k,ng nhp, tm kim sn phm, thm,sa,xa sn phm, sp xp sn phm,lit k sn phm theo category. Giao din chnh:

6.2 Modun Emailmarketing


M t: Module cho php cc Account to v qun l cc group,cc email trong group ca chnh mnh, v t c th gi email n cho bn b trong list contact ca mnh, to event gim gi cho sn phm, to invoice trong checkout Giao din

10

11

7 Module Simple Affiliate


M t: Affiliate l module cho php cc ch store (ca hng) to ra mng li gii thiu khch n mua hng thng qua cc affiliates (ngi mi gii). Vi mi order (n hng) thnh cng, affiliate s nhn c 1 lng commission (tin hoa hng). ng thi, khch hng mua n hng c th c nhn 1 lng discount (gim gi). Affiliates thc hin vic gii thiu khch hng thng qua vic gi email gii thiu v store. Cc link ny c cha thng tin v affiliate (c th l affiliate ID). V vy khi khch hng mua hng sau khi click vo cc link ny, module s kim tra c thng tin affilaite v to ra cc transaction (giao dch). T cc affiliates s nhn c commission. Module Affiliate cung cp cc chc chnh nng sau: Qun l affiliate account (thm, sa, xa, upload nh) Qun l transaction (lit k, tm kim) Setting lng commission/ disccount cho mi order mua hng ng k lm affiliate Cho php affiliates kim tra danh sch cc transaction, thng k balance (s tin trong ti khon)

Thit k C s d liu : Bng simpleaffiliate_account gm cc field sau: account_id: Id banner (int(11) unsigned, kha chnh) customer_id: id ca customer account (int(11) unsigned, kha ph tr n entity_id ca bng customer_entity) firstname: (varchar 255) lastname: (varchar 255) email: (varchar 255) balance: tng s tin hin ti (decimal(12,4)) total_received: tng s tin commission nhn c (decimal(12,4)) joined: thi gian to account (datetime) status: Disable/ Enable (tinyint(1)) 12

Bng simpleaffiliate_transaction gm cc field sau: transaction_id: Id banner (int(11) unsigned, kha chnh) order_id: increment id ca order (bng sales_flat_order) (int(11) unsigned) affiliate_id: id account trong bng simpleaffiliate_account (int(11) unsigned) order_total: tng gi tr n hng (decimal(12,4)) commission: s tin affiliate nhn c (decimal(12,4)) store: ID ca store m transaction c to ra (smallint(6)) created: thi gian to (datetime) status: Complete/ Pending (tinyint(1))

7.1 Xy dng backend 7.1.1 Manage Accounts


Yu cu: Thm menu: Simple Affiliate/ Manage Accounts vo backend Listing Accounts Cc action c th thc hin trn trang listing Add Affiliate account: Thm affiliate account Search: Tm kim affiliate theo ID, Name, Email, Balance, Total Received, Status Edit Account: Sa thng tin account Mass delete : Xa thng tin nhiu account cng lc Change Status: Thay i trng thi nhiu account cng lc Export d liu account ra Csv/Xml file Thc hin: To block hin th danh sch account Magestore\Affiliate \Block/Adminhtml/Account.php Magestore\Affiliate \Block/Adminhtml/Account/Grid.php To form thm account v sa account ti file - Magestore\Affiliate\Block\Adminhtml\Account\Edit\Tab\form

13

Giao din account manager lit k danh sch account

Giao din thm Affiliate Account

14

Giao din sa thng tin mt Affiliate Account

7.1.2 Manage Transactions


Yu cu: Thm menu: Simple Affiliate/ Manage Transactions vo backend Hin th danh sch cc transaction (order m cc affiliates gii thiu c), d liu cn hin th Cc action c th thc hin trn trang listing Search: Tm kim affiliate theo ID, Order Id, Affiliate Email, Order Total, Commission, Store, Created, Status Export d liu transaction ra Csv/Xml file Thc hin: To Model/ Resource Model/ Collection thao tc vi bng transaction To block hin th danh sch account Block/Adminhtml/Transaction.php Block/Adminhtml/Transaction /Grid.php To form thm account v sa account ti file - Magestore\Affiliate\Block\Adminhtml\Transaction\Edit\Tab\form 15

Giao din transaction manager

16

7.2 Xy dng front end 7.2.1 Thng tin acccount


To trang hin th thng tin c nhn ca affiliate ti frontend hin th: Name: Tn (Firstname + Lastname) Balance: S tin trong ti khon Total Received: tng s tin commission nhn c Form edit thng tin: First Name, Last Name, Email. Click nt Save s lu thng tin vo database thng qua model Simpleaffiliate/Account v Customer/Customer. Hin th thng bo li/ thnh cng

Hm x l lu thng tin account ti 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'); }

17

7.2.2 Gi email
To form gi email ti front end: - Cho php nhp nhiu email, ngn cch nhau bi du phy - Ni dung email bt k nhng khi ngi nhn s c link ti website mua hng,khi mua hng bng ng link ny,khch hng s c gim gi v ngi gi s c hng hoa hng t phin mua hng

Hm x l gi email ti IndexController:
public function sendemail(){ $templateId = Mage::getStoreConfig('emailmarketting/general/template');

$mailSubject = 'HI this is a test mail.'; $name = $this->getNameSender(); $email = $this->getEmailSender(); $sender = array('name' => $name,

'email' => $email); $message = $this->getData('message'); $datacontact = Mage::getModel('emailmarketting/emailmarketting')->getCollection()>addFilter('group_id', $id_group); foreach ($datacontact as $row){ $email_contact = $row->getData('email'); $name_contact = $row->getData('name'); $vars = Array( 'message' => $message, 'email_sender' => $email, 'name_contact' => $name_contact, 'url' => Mage::getUrl(), 'cookie' => Mage::getModel('core/cookie')>get('frontend')

18

); $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 rt tin


- S c 1 tab mi di tab Affiliate Transactions . - Ni dung trong form gm c 1 text nhp s tin v nt n rt tin. - S tin s c ch website gi trc tip theo a ch ca affiliate hay qua th dng mua sn phm

7.3 X l cc event
khi cc khch hng vo link gi t Affiliate mua hng th c gim gi,chng ta s dng c ch pht event trong magento gim gi cho sn phm, thc hin iu ny trong module em s dng cc event sau: catalog_product_collection_load_after() catalog_product_get_final_price() sales_order_place_after() controller_action_postdispatch_customer_account_logout()

s dng cc event ny th cn phi khi bo trong file config.xml. V vit phng thc x l chng file Magestore\Affiliate\Model\Observer.php Mt vi hm x l event trong module:

19

public function productLoadAfter($observer){ $product_collection = $observer['collection']; if(isset($_COOKIE['affiliate_id'])&&($_COOKIE['affiliate_id'] == Mage::getModel('affiliate/account')->load($_COOKIE['affiliate_id'])>getAccountId())){ foreach($product_collection as $item){ $price_pro= $item->getFinalPrice(); if(Mage::getStoreConfig('affiliate/general/discount_type') == 1){ $final_price = $price_pro ($price_pro*Mage::getStoreConfig('affiliate/general/discount')/100); } else { $final_price = $price_pro Mage::getStoreConfig('affiliate/general/discount')/100; } $item->setFinalPrice($final_price); } } }

20

public function productGetFinalPrice($observer){ $item = $observer->getEvent()->getProduct(); if(isset($_COOKIE['affiliate_id'])&&($_COOKIE['affiliate_id'] == Mage::getModel('affiliate/account')->load($_COOKIE['affiliate_id'])>getAccountId())){ $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 Cu hnh cho module


Phn cu hnh cho module ti Backend (Simple Affiliate/setting) Enable: bt/ tt module, dropdown (Yes/No) Commission type: dropdown (Fixed/ Percent) Commission value: text Discount type: dropdown (Fixed/ Percent) Discount value: text

vit phn ny cn phi sa file cu hnh module system.xml Giao din cu hnh

21

7.5 Demo giao din v chc nng chnh


Trang thng tin Affiliate Account,Affiliate c th chnh sa thng tin ca mnh ti trang ny

22

Affiliate gi email cho khch hng,h thng s t ng gi km link n trang web

Affiliate c th share link ca website ln facebook

Hp thoi hin ra c th share ln facebook

23

Khi khch hng click vo link ca Affiliate v mua hng s thy c gim gi

24

Giao din t hng

Giao din checkout

25

Admin vo Oder trong back end to invoice cho n hng

Sau khi Addmin to invoice cho n hng th ti khon Affiliate s c cng tin hoa hng

Khch hng c th rt tin ca mnh ti y, sau admin s chuyn tin vo ti khon ca Affiliate

26

8 BNG NH GI KT QU THC TP DOANH NGHIP


(Ngy thc hin nh gi: Ngy.....thng.....nm 2013) H tn sinh vin Tn cng ty tip nhn thc tp Ngi ph trch ti Email: cng ty nh gi chung v kha thc tp ( thc ca sinh vin khi tham gia, cc im t v cha t) nh gi kt qu thc tp (in vo tng ng Kt qu nh gi theo 5 mc ) Nng lc IT 5 1 2 3 4 im c bit xut sc (nu c) Phng php lm vic 5 1 2 3 4 im c bit xut sc (nu c) Nng lc nm bt 5 cng vic 1 2 3 4 im c bit xut sc (nu c) Nng lc qun l 5 1 2 3 4 im c bit xut sc (nu c) Nng lc ting Anh 5 1 2 3 4 im c bit xut sc (nu c) Nng lc lm vic 5 nhm 1 2 3 4 im c bit xut sc (nu c) Tng im im

Ngi nh gi: 27

You might also like