setup magento

18
Online Service Solution JSC – Technical Department http://oss.com.vn GIÁO TRÌNH MAGENTO – PART 1 CÀI ĐẶT MAGENTO 1 Online Service Solution JSC R804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Upload: linh-nguyen-manh

Post on 25-Dec-2014

224 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

GIÁO TRÌNH MAGENTO – PART 1

CÀI ĐẶT MAGENTO

- Hà Nội 06/2012 -

Nội Dung Giáo Trìn

1Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 2: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

h

1. Magento Overview.................................................................................................................3

1.1 Magento và các tính năng cơ bản..............................................................................................3

1.2 Hướng dẫn cài đặt Magento.......................................................................................................4

2. Magento Module.....................................................................................................................8

2.1 Cấu trúc Module Magento..........................................................................................................8

2.2 Tạo và cài đặt Module cho Magento........................................................................................12

2Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 3: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

1. Magento Overview1.1 Magento và các tính năng cơ bản

Tổng quan Magento

Magento là một nền tảng mã nguồn mở giúp tạo các website thương mại điện tử. Magento được triển khai vào ngày 31 tháng 3 năm 2008, phát triển bởi công ty Varien (sau này đổi tên thành Magento), xây dựng trên nền tảng các thành phần của Zend Framework. Magento hiện xuất bản dưới giấy phép Phần mềm mở 3.0 (Open Software License version 3.0). Kể từ phiên bản 1.1.7 một số phần được cấp giấy phép theo Academic Free License version 3.0.

Magento chính thức bắt đầu phát triển vào tháng 7 năm 2007. Ngày 31/8/2007 phát hành bản Beta. Trong tháng 3/2008, Magento được lựa chọn để có mặt tại Under the Radar: các trang web kinh doanh của hội nghị Apps, và tại đây Magento đã đoạt giải thưởng dành cho mã nguồn mở thương mại điện tử được người dùng yêu thích. Bản magento 1.0 được phát hành vào ngày 31/3/2008. Bản magento 1.1 được phát hành vào ngày 25/7/2008. Phiên bản này cung cấp sửa chữa cho rất nhiều lỗi và cũng có thể làm cho magento nhanh hơn với nhiều đáp ứng về nhiều giao diện người sử dụng. Hiện tại đã ra bản 1.7.1.0 (cập nhật tháng 6/2012).

Magento sử dụng PHP làm ngôn ngữ kịch bản cho Web Server và cơ sở dữ liệu MySQL. Modules là phần cốt lỗi của của Magento. Magento hỗ trợ cài đặt các modul thông qua một giao diện web của trang quản lý (administration) trong bộ cài đặt magento. Các Modul được lưu trữ trên web thương mại điện tử của Magento (http://www.magentocommerce.com/magento-connect/). Bất kỳ thành viên của cộng đồng đều có thể tải lên 1 modul thông qua trang web này và được phê duyệt bởi thành viên của nhóm Magento.

Các tính năng cơ bản Analytics and Reporting: các đoạn mã chức năng của Magento đã được tích hợp sẵn với

Google Analytics, do vậy người sử dụng sẽ dễ dàng hơn trong việc phân tích và tạo báo cáo. Product Browsing: hỗ trợ chế độ nhiều hình ảnh minh họa cho sản phẩm của người dùng,

nhiều tùy chọn review, tạo wishlist... Catalog Browsing: dễ dàng điều hướng, tạo nhiều chế độ xem và lọc sản phẩm dựa trên

thông tin chi tiết, so sánh sản phẩm... Catalog Management: quản lý danh mục hàng tồn kho, hỗ trợ cơ chế import và export nhiều

sản phẩm, cơ chế tính thuế theo nhiều mức, thêm hoặc bớt thuộc tính của sản phẩm... Customer Accounts: lưu giữ thông tin lịch sử và tình trạng của khách hàng, tạo feed email

và RSS dành cho sản phẩm trong wishlist, địa chỉ giao hàng và thanh toán hóa đơn mặc định...

Customer Service: cải tiến nhiều tính năng hơn nữa dành cho các tài khoản khác nhau của khách hàng, mẫu Contact Us, dễ dàng giám sát toàn bộ lịch sử hoạt động, thay đổi thứ tự ưu tiên của email...

Order Management: tạo thứ tự sắp xếp qua khu vực phân quyền của Admin, nhiều tùy chọn thiết lập Call Center...

Payment: hỗ trợ nhiều chế độ thanh toán, chuyển khoản khác nhau: thẻ tín dụng, PayPal, Authorize.net, Google Checkout, kiểm tra, thứ tự chuyển tiền, hỗ trợ nhiều loại chi phí phát sinh như Cybersource, ePay, eWAY...

Shipping: chuyển phát đến nhiều địa chỉ khác nhau, phí chuyển hàng, hỗ trợ UPS, UPS XML, FedEx, USPS và DHL.

3Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 4: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

Checkout: quá trình checkout khá đơn giản, hỗ trợ cơ chế bảo mật SSL, dễ dàng checkout không cần tới tài khoản.

Search Engine Optimization: “thân thiện” với tất cả các Search Engine hiện nay, hỗ trợ Google SiteMap.

International Support: hỗ trợ nhiều chế độ ngôn ngữ và đơn vị tiền tệ khác nhau, liệt kê toàn bộ danh sách các quốc gia được đăng ký chuyển phát và mua hàng.

Marketing Promotions and Tools: nhiều tùy chọn tạo chương trình coupon, discount và khuyến mãi khác nhau.

Site Management: dễ dàng quản lý, kiểm soát nhiều website khác nhau, chế độ đa ngôn ngữ, tỉ lệ thuế, hỗ trợ thị trường Mỹ và nhiều quốc gia khác nhau...

1.2 Hướng dẫn cài đặt Magento Step 1: Cài đặt webserver

Download bản cài đặt AppServ 2.5.9 tại:http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.9.exe?download

Step 2: Cấu hình PHPMở file C:\Windows\php.ini, thêm hoặc bỏ dấu comment “;” các dòng sau

extension=php_curl.dllextension=php_mcrypt.dllextension=php_pdo.dllextension=php_pdo_sqlite.dllextension=php_pdo_mysql.dllextension=php_soap.dll

Step 3: Cài đặt thêm một số thư việnCopy các file thư viện sau của PHP vào thư mục D:\AppServ\php5\ext nếu chưa có (nếu cài AppServ ở ổ C thì vào thư mục C:\AppServ\php5\ext). Download các file thư viện cho PHP tại http://oss.com.vn/lib/magento/phpext.zip

php_curl.dllphp_mcrypt.dllphp_pdo.dllphp_pdo_sqlite.dllphp_pdo_mysql.dllphp_soap.dll

Copy các file thư viện sau của Windows vào thư mục C:\Windows\System32. Download các file thư viện cho Windows tại http://oss.com.vn/lib/magento/windll.zip

crypt32.dlllibeay32.dlllibmcrypt.dllssleay32.dll

4Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 5: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

Step 4: Cấu hình file hostMở file C:\Windows\System32\drivers\etc\hosts. Thêm dòng sau vào cuối file:

127.0.0.1 www.localhost.com

Step 5: Cài đặt MagentoDownload source Magento tại http://www.magentocommerce.com/download (khuyến nghị sử dụng phiên bản 1.5.1.0)

Sử dụng PHP My Admin để tạo database cho website magento tại http://www.localhost.com/phpMyAdmin

Giải nén source code của Magento vào thư mục D:\AppServ\www\magento. Sau đó mở trình duyệt và gõ địa chỉ http://www.localhost.com/magento

Đánh dấu vào ô checkbox "I agree to the above terms and conditions" và nhấn nút Continue để tiếp tục. Thay đổi tham số Time Zone, Locale và Currency và tiếp tục:

5Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 6: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

Tiếp theo, nhập tên tài khoản database bao gồm: Database Name, User Name và User Password, đồng thời giữ nguyên các tùy chọn khác. Chọn ô check box "Skip Base URL validation before next step" như hình dưới:

Nhấn Continue để tiếp tục, tại thời điểm này thì các bạn cần nhập một số thông tin cá nhân cũng như tài khoản admin muốn sử dụng. Bỏ trống phần Encryption Key nếu muốn, và hệ thống sẽ tự tạo ra thông tin mã hóa cho người dùng:

6Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 7: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

Sau khi nhấn Continue, các bạn hãy ghi nhớ key mã hóa được hiển thị, thông tin này sẽ được sử dụng bởi Magento để mã hóa mật khẩu, credit card cũng như các thông tin nhận dạng tài khoản khác.

Nếu như thực hiện toàn bộ các bước trên mà không gặp phải bất kỳ lỗi nào thì có nghĩa là quá trình cài đặt Magento đã thành công.

Bài thực hành số 1 : Cài đặt Magento tại phòng Lab.

7Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 8: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

2. Magento Module2.1 Cấu trúc Module Magento

Kiến trúc MVC

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

8Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 9: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

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.

Dưới đây là các thành phần cần thiết để xây dựng 1 module của Magento:

File cấu hình toàn cục (global configuration): có nhiệm vụ khai báo module với hệ thống Magento, bao gồm Tên Module, Trạng Thái (active/ Inactive) và thư mục chứa code (core/ local/ community). Đường dẫn đến file app/code/etc/modules/{Name_Space}_{Module_Name}.xml

Dưới đây là ví dụ file cấu hình của module Magestore_Hotdeal. Trong đó Magestore là name space, và Hotdeal là tên module.

9Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

View

Controller

Model

Layout

Template

Page 10: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

<?xml version="1.0"?><config> <modules> <Magestore_Hotdeal> <active>true</active> <codePool>local</codePool> </Magestore_Hotdeal> </modules></config>

File cấu hình module: Khai báo các thông tin chi tiết của module bao gồm router, file layout, file translate, các event, rewrite,... Đường dẫn đến file app/code/local/{Name_space}/{Module_Name}/etc/config.xml

Ví dụ: app/code/local/Magestore/Hotdeal/etc/config.xml

<?xml version="1.0"?><config> <modules> <Magestore_Hotdeal> <version>0.1.0</version> </Magestore_Hotdeal> </modules> <frontend> <routers> <hotdeal> <use>standard</use> <args> <module>Magestore_Hotdeal</module> <frontName>hotdeal</frontName> </args> </hotdeal> </routers> <layout> <updates> <hotdeal> <file>hotdeal.xml</file> </hotdeal> </updates> </layout> </frontend></config>

File controller: là thành phần Controller trong mô hình MVC của Magento. Khai báo trong thư mục app/code/local/{Name_Space}/{Module_Name}/controllers

Ví dụ: app/code/local/Magestore/Hotdeal/controllers/IndexController.php

10Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 11: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

<?php class Magestore_Hotdeal_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() {

$this->loadLayout(); $this->renderLayout();

}}

?>

File Layout: là một thành phần của View trong Magento. Mỗi layout tương ứng với một action mà người dùng request. Trong layout khai báo bố cục các block và file template được sử dụng để render ra mã HTML. Đường dẫn đến file layout app/design/frontend/default/default/layout/{Module_Name}.xml

Ví dụ: app/design/frontend/default/default/layout/hotdeal.xml

<?xml version="1.0"?><layout version="0.1.0"> <hotdeal_index_index> <reference name="content"> <block type="hotdeal/hotdeal" name="hotdeal" template="hotdeal/hotdeal.phtml" /> </reference> </hotdeal_index_index></layout>

File Block: là một thành phần của View trong Magento. Mỗi file block là 1 class PHP. Các function khai báo trong block sẽ được sử dụng trong file template thông qua câu lệnh:

$this->function_name($args)

Thư mục chứa các file block: app/code/local/{Name_Space}/{Module_Name}/BlockVí dụ: app/code/local/Magestore/Hotdeal/Block/Hotdeal.php

<?php class Magestore_Hotdeal_Block_Hotdeal extends Mage_Core_Block_Template { public function getIntroduceText() {

return $this->__("Welcome to HOT DEAL store!"); }}?>

11Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 12: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

File Template: thực chất là các file php có phần mở rộng là .phtml. Có nhiệm vụ trả về các đoạn mã HTML. Các file template nằm trong thư mục: app/design/frontend/default/default/template/{module_name}

Ví dụ: app/design/frontend/default/default/template/hotdeal/hotdeal.phtml

<?php echo $this->getIntroduceText() ?>

2.2 Tạo và cài đặt Module cho Magento

Trong mục 2.1 chúng ta đã tìm hiểu về các thành phần cơ bản của module Magento. Thông thường, để tạo một module có đầy đủ các thao tác cơ bản với database như Add/ Edit/ Delete, cần phải viết tương đối nhiều file code (khoảng 20 files). Để đơn giản hóa việc tạo module cho Magento, cộng đồng Magento đã cung cấp Module Creator, cho phép tạo Magento module nhanh chóng, với các chức năng cơ bản Search/ Add/ Edit/ Delete. Người dùng chỉ cần cung cấp Name Space và Module Name. Có thể download Module Creator tại: http://oss.com.vn/lib/magento/ModuleCreator.zip

Các bước thực hiện:

Giải nén file ModuleCreator.zip vào thư mục ModuleCreator trong root của Webserver Truy cập http://www.localhost.com/ModuleCreator Nhập các thông tin

Namespace: Magestore Module: Studentmanager

Click nút Create, toàn bộ source code của module được generate trong thư mục www/ModuleCreator/new

12Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi

Page 13: Setup magento

Online Service Solution JSC – Technical Departmenthttp://oss.com.vn

Việc cài đặt module cho Magento tương đối đơn giản. Các bước thực hiện như sau:

Disable cache trong back-end (System/ Cache Management). Copy toàn bộ source code của module vào thư mục cài đặt Magento. Refresh browser, nếu không có thông báo lỗi nghĩa là việc cài đặt hoàn tất.

13Online Service Solution JSCR804 – Bulding A1 – 229 Vong Street – Hai Ba Trung – Hanoi