V. Component
V.4. toolbar.yourcom.php và toolbar.yourcom.html.php
Đây là nơi thanh công c ụ được tập hợp như danh sách dưới, ở đây các hàm cũng được gọi để xử lý các sự kiện. Các biểu t ượng của thanh công cụ đ ược cung cấp sẵn
của Joomla.
Hình 44 : Thanh công cụ của Joomla toolbar.yourcom.php
defined( '_VALID_MOS' ) or die( 'Restricted access' ); require_once( $mainframe->getPath( 'toolbar_html' ) ); switch ( $task ) { case "new": case "edit": menuAutolinks::EDIT_MENU(); break; default: menuAutolinks::DEFAULT_MENU(); break; } toolbar.yourcom.html.php
defined( '_VALID_MOS' ) or die( 'Restricted access' ); class menuAutolinks { function EDIT_MENU() { mosMenuBar::startTable(); mosMenuBar::save(); mosMenuBar::cancel();
mosMenuBar::spacer(); mosMenuBar::endTable(); } function DEFAULT_MENU() { mosMenuBar::startTable(); mosMenuBar::addNew(); mosMenuBar::editList(); mosMenuBar::publish(); mosMenuBar::unpublish(); mosMenuBar::deleteList(); mosMenuBar::spacer(); mosMenuBar::endTable(); } V.5. file.xml
Đây là file dùng để cài đặt cho component , nội dung của file là các mã xml xác
định các file sẽ được cài đặt, các mã tạo cơ sở dữ liệu ban đầu, các mã càiđặt, gỡ bỏ component. Sau đây là m ột ví dụ:
<?xml version="1.0" encoding="iso-8859-1"?> <mosinstall type="component" version="1.0.0">
<name>tkb</name> <creationDate>May 2007</creationDate> <author>Anh Dai</author> <copyright>GPL</copyright> <authorEmail>info@nekkarcity.de</authorEmail> <authorUrl>antirealist.nekkarcity.de</authorUrl> <version>1.0.0</version>
<description> component quan ly thoi khoa bieu</description> <files>
<filename>tkb.php</filename> <filename>tkb.html.php</filename> </files>
<query>DROP TABLE IF EXISTS `#__tkb` </query> <query>CREATE TABLE IF NOT EXISTS `#__tkb` ( `id` int(4) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '', `malop` varchar(10) NOT NULL default '', `ngayhoc` varchar(100) NOT NULL default '', `giohoc` varchar(100) NOT NULL default '', `giaovien` varchar(100) NOT NULL default '', `published` int(1) NOT NULL default 0, PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`) ) TYPE=MyISAM;
</query> </install>
<uninstall>
<queries>
<query>DROP TABLE IF EXISTS `#__tkb`</query> </queries>
</uninstall> <administration>
<menu>Thoi khoa bieu</menu> <files> <filename>admin.tkb.html.php</filename> <filename>admin.tkb.php</filename> <filename>tkb.class.php</filename> <filename>tkb.xml</filename> <filename>toolbar.tkb.php</filename> <filename>toolbar.tkb.html.php</filename> </files> </administration> </mosinstall>
VI. Thiết kế Modules danh mục sản phẩm
Trong phạm vi giới hạn của báo cáo, tôi không thể trình bàyđầy đủ quy trình thiết
kế của tất cả các Module đã được tích hợp với hệ thống. Ở đây chỉ lấy một Module đơn giản để giải thích về cách thức xây dựng mới một module trong Joomla
Mặc nhiên sau khi cài đặt Joomla! chỉ có một số Module cơ bản cần thiết cho Web
Site hoạt động, muốn mở rộng thêm chức năng cho Web Site thông thư ờng cần phải cài đặt thêm các phần mở rộng (Extensions) khác. Tuy nhi ên đôi lúc cũng cần phải tự
tạo cho riêng Web Site của mình một vài Mod để mở rộng thêm chức năng riêng cho Web Site.
Thông thường một Mod sẽ gồm có 2 file chính là .php (chương trình) và file .xml
(thông số), ngoài ra có thể có thể có thêm thư mục ảnh, Java Script... hỗ trợ thêm cho Module.
VI.1. mod_list_product.xml
Khai báo các thông số và cài đặt cho Module, các thông số này sẽ được hiển thị
trong phần Quản lý Module (Site Module: Edit)
<?xml version="1.0" encoding="iso -8859-1"?> <mosinstall type="module" version="1.0.0">
<name>List product</name> <author>Tran Van Ve</author> <creationDate>5/2008</creationDate>
<copyright>(C) 2008 Tran Van Ve. All rights rese rved.</copyright> <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL </license> <authorEmail>tranvanve84@gmail.com</authorEmail>
<authorUrl>www.tranvanve.vn</authorUrl> <version>1.0.0</version>
<description>Hiển thị sản phẩm mới nhất ,sản phẩm khuyến mại, mua nhi� u nhất</description>
<files>
<filename module="mod_list_product">dtabs.js</filename> <filename module="mod_list_product">tabs -mac3.js</filename> </files>
<params>
<param name="number_product" type="text" default="6" label="Số sản phẩm hiển thị" description="Số sản phẩm hiển thị trên trang" />
<param name="moduleclass_sfx" type="text" default="" label="Háºu tố
Module của trang" description="Má»™t háºu tố sẽ được thêm và o cho lá»›p CSS của module (table.moduletable), nó cho phép cấu hình kiểu riêng cho Module" />
</params> </mosinstall>
Dòng <?xml version="1.0" encoding="iso -8859-1"?> quy địnhchuẩn định
dạng cho file XML
Dòng <mosinstall type="module" version="1.0.0"> là thẻ khai báo cài đặt
module
Dòng <name>List product</name> là tên module Dòng <author>Tran Van Ve</author> là tên tác giả
Dòng <creationDate>5/2008</creationDate> là ngày thực hiện
Dòng <copyright>(C) 2008 Tran Van Ve. All rights reserved.</copyright> là bản quyền
Dòng <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license> là loại giấy phép sử dụng
Dòng <authorEmail>tranvanve84@gmail.com</authorEmail> là địa chỉ email
của tác giải
Dòng <authorUrl>www.tranvanve.vn</authorUrl> là trang web của tác giả
Dòng <version>1.0.0</version> là phiên bản của module
Dòng <description>Hiển thị sản phẩm mới, sản phẩm khuyến mãi và sản phẩm
Các dòngsau khai báo các file có trong module đ ể cài đặt
<files>
<filename module="mod_list_product">mod_list_product.php</filename> <filename module="mod_list_product">dtabs.js</filename>
<filename module="mod_list_product">tabs -mac3.js</filename> </files>
Các dòng sau khai báo các thông số có trong module với:
Name– tên thông số
Type– kiểu thông số
Default – giá trị mặc định
Label – tên hiển thị của thông số
<params>
<param name="number_product" type="text" default="6" label="Số sản phẩm
hiển thị" description="Số sản phẩm hiển thị trên trang" />
<param name="moduleclass_sfx" type="text" default="" label="Háºu tố Module của trang" description="Má»™t háºu tố sẽ được thêm và o cho lá»›p CSS
của module (table.moduletable), nó cho phép cấu hình kiểu riêng cho Module"
/>
</params>
Dòng </mosinstall> kết thúc việc cài đặt module
VI.2. mod_list_product.php
Đây là tập lệnh xử lý chính của module, kết hợp với các thông số trong
mod_list_product.xml. Xử lý các thuật toán truy vấn dữ liệu và trình bày dữ liệu lên trang.
<?php
global $mosConfig_absolute_path,$mosConfig_live_site,$database,$aht_templates_path; $number_product=$params ->get('number_product','6');
<script language="javascript"> function getproduct(str,numb) { var c='soluong'+numb; document.adminForm.product_cart.value=str+'|'+document.getElementById(c).value+'^'; } </script>
<form action="index.php?option=com_product" met hod="post" name="adminForm" enctype="multipart/form-data">
<link id="luna-tab-style-sheet" type="text/css" rel="stylesheet" href="<?php echo $aht_templates_path;?>/css/tabpane.css" />
<script type="text/javascript" src="<?php echo
$mosConfig_live_site;?>/i ncludes/js/tabs/tabpane_mini.js"></script> <div class="tab-page" id="modules-cpanel">
<script type="text/javascript">
var tabPane1 = new WebFXTabPane( document.getElementById( "modules -cpanel" ), 1 ) </script>
<div class="tab-page" id="module32"><h2 class="tab">Sản phẩm mới</h2>
<script type="text/javascript">
tabPane1.addTabPage( document.getElementById( "module32" ) ); </script>
<table cellpadding="0" cellspacing="0" width="100%" > <?php showproduct(1,$number_product);?> </table>
</div>
<div class="tab-page" id="module19"><h2 class="tab">Sản phẩm khuyến mại</h2> <script type="text/javascript">
tabPane1.addTabPage( document.getElementById( "module19" ) ); </script>
<table cellpadding="0" cellspacing="0" width="100%" cl ass="border_lattest_news"> <?php showproduct(2,$number_product);?>
</table> </div>
<div class="tab-page" id="module20"><! --<h2 class="tab">San Pham chua biet</h2> --> <script type="text/javascript">
tabPane1.addTabPage( document.getElementById( "module20" ) ); </script>
<table cellpadding="0" cellspacing="0" width="100%" class="border_lattest_news"> <?php //showproduct(3,$number_product);?>
</table>
<input type="hidden" name="back_link" value="<?php echo
'http://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI'];?>"> <input type="hidden" name="product_cart" value="" id="product_cart">
<input type="hidden" value="cart" name="task"> </div>
</div> </form>
Đoạn lên sau khai báo các biến toàn cụ được sử dụng trong module
global $mosConfig_absolute_path,$mosConfig_live_site,$database,$aht_templates_path; $number_product=$params ->get('number_product','6');
$number_product = 9;
Hàm showproduct() với các tham số $n= 1 là sản phẩm mới, $n=2 là sản phẩm
khuyến mãi, còn $number_product là số sản phẩm tối đa trình bày trên một tab.
function showproduct($n,$number_product){………}
CHƯƠNG 3
TRIỂN KHAI ỨNG DỤNG
I. Cài đặt website trên web host
Sau khi đã càiđặt và cấu hình cho Joomla! tại Localhost, công việc tiếp theo l à đưa Website lên Web Host (Host) đ ể bắt đầu hoạt động trong hệ thống mạng toàn cầu.
Sauđây làcách tạo Database và đưa Website Joomla! t ừ Localhost lên Web Host:
Tạo Database trên Host:
Đăng nhập vào phần quản lý Host (Cpanel) và chọnMySQL Database.
Hình 45 : Phần quản lý host
Trong phần Create New Database nhập tên cho Database muốn tạo sau đó nhấn
Create Database.
Hình 46 : Tạo cơ sở dữ liệu mới
Trong phần MySQL Users nhập tên người dùng vào Username và mật khẩu vào
mật khẩu giống như trên vào Password (Again) thêm một lần nữa và nhấn Create User. Có thể tạo thêm nhiều tên người dùng khác nếu muốn.
Hình 47 : Tạo user mới
Trong phần Add User To Database chọn tên người dùng vừa tạo bên trên trong mục User và chọn tên của Database nào muốn cho phép người dùng này truy cập
trong mụcDatabase, sau đó nhấn Submit. Có thể làm thêm nếu muốn cho phép nhiều người dùng truy cập Database.
Hình 48 : Add user vào cơ sở dữ liệu
Nếu làm đúng các bước như trên thì trong phần Current Database sẽ có tên của
Database và tên của người dùng được phép truy cập Database t ương ứng. Lưu ý phải
nhớtên của Database,tên người dùng (Username) và mật khẩu (Password) đểkhai
Hình 49 : Databaseứng với user
Lưu ý: Một số Free Host không cho phép tạo t ên người dùng (Username) mà lấy luôn tên người dùng và mật khẩu giống với Username và Password dùng để truy cập
vào phần quản lý Host.
Càiđặt, đưa Web Site Joomla! lên Host:
Bây giờ đã có thể cài đặt mới hoặc đưa Web Site đãđược cài đặt từ Loacalhost lên
Host. Có 2 cách để đưa Web Site Joomla! lên Host:
Copy bộ cài đặt Joomla! lên thư mục gốc (Web Root) của Host, th ư mục này
thường có tên là htdocs, publish_html, www,... Dùng chương trình quản lý File (File manager) của Host để giải nén. Tiến h ành cài đặt bình thường như trên Localhost. Sử
dụng tên Database, tên ngư ời dùng và mật khẩu được tạo ở phần trên.
Copy các File và Folder của Web Site đãđược càiđặttừ Localhost lên Host để thay
thế (OverWrite) các File và Folder vừa mới cài đặt
Export dữ liệu của Database từ Localhost ra một File sau đó Import File này vào Database trên Host. Import dữ liệu vào Database bằng cách sử dụng phpMyAdmin
trong phần quản lý Host (Cpanel).
Hình 50 : Phần quản lý host
Mở file configuration.php và chỉnh sửa các thông số cho phù hợp với webhost và các thiết lập của bạn. Nếu mọi cấu hình đã chính xác, bạn đã có thể chạy và sử dụng
II. Kết quả demo
II.1. Trang chủ
Hình 51 : Trang chủ website
II.2. Đăng nhập
II.3. Lựa chọn mục sản phẩm
Hình 53 : Danh mục lựa chọn sản phẩm
Hình 54 : Giỏ hàng
II.5. Gửi đơn hàng
CHƯƠNG 4
KẾT LUẬN
I. Kết quả thu được
Bằng sự nỗi lực cố gắng của bản thân và sự hướng dẫn giúp đỡ tận tình của thầy
giáo Ks.Trịnh Công Duy, sau thời gian thực hiện đề tài tôi đã thu nhận được những kết
quả đáng kể như sau:
- Hiểu biết cơ bản vềcác quy trình thương mại điện tử.
- Xây dựng thành công ứng dụng “Siêu thị sách trực tuyến” dựa trên nền tảng
Joomla.
- Nắm bắt được các kỹ thuật, có kinh nghiệm nhiều h ơn trong việc xây dựng ứng
dụng trên nền tảng một CMS.
II. Nhận xét
II.1. Ưu điểm
Chương trình với giao diện thân thiện, hìnhảnh hài hòa.
Xây dựng được những tính năng cơ bản nhất củamột siêu thị trực tuyến.
Giao diện đa ngôn ngữ, dễ sử dụng.
Ứng dụng có khả năng phân loại hàng hóa theo từng chủng loại.
Khả năng tìm kiếm thông tin dễ dàng
Có các gian hàng trực tuyến với các chức năng nh ư giỏ hàng, đơn hàng…
II.2. Nhược điểm
- Hình thức thanh toán chưa đa dạng, không cho phép khách hàng lựa chọn trực
tiếp
- Chưa xây dựng được các chương trình thẻ mua hàng.
- Chưa kết hợp được với các ngân hàng để thực hiện dịch vụ thanh toán trực
tuyến.
- Chưa có hệ thống hổ trợ khách hàng tốt
III. Phạm vi ứng dụng
Ứng dụng đã tạo được một gian hàng trực tuyến cung cấp thông tin về sách báo,
lịch, văn phòng phẩm và các sản phẩm khác cho phép khách hàng dễ dàng tra cứu, tìm kiếm, lựa chọn, tính toán giá th ành và đặt mua hàng trực tiếp thông qua một hệ thống các trang web thương m ại điện tử.
Tạo lập một hệ thống quản trị cho phép ng ười quản trị có thể dễ d àng đưa thông tin
về sản phẩm, dịch vụ và các thông tin bổ trợ khác lên mạng và quản lý kho hàng trực
tuyến, khách hàng cũng như các chức năng bổ trợ khác nh ư đưa tin tức lên mạng, giao
dịch với khách hàng, thông báo hàng mới, quảng cáo sản phẩm…
Với những tính năng nh ư trên, ứng dụng có thể áp dụng cho những công ty kinh doanh các sản phẩm sách báo, văn phòng phẩm có thể mở rộng hình kinh doanh của
mình lên không gian mạng Internet.
IV. Hướng phát triển
Khắc phục những nhược điểm của hệ thống hiện tại, Website trong t ương lai sẽ là trang bán sách trên mạng theo chuẩn thương mại điện tử, cho phép dễ dàng quảntrị và thiết lập các khosách, kết nối với các hệ thống thanh toán trực tuyến giúp cho ng ười
Khả năng phân loại hàng hoá theo các chủng loại, tiêu chí đặt ra
Khả năng sắp xếp thông tin theo nhiều tiêu chí khác nhau Khả năng tìm kiếm thông tin dễ dàng
Quản lý thông tin liên lạc giữa doanh nghiệp và khách hàng. Tổng hợp, phân tích và thống kê các truy nhập một cách chi tiết.
Thiết lập các gian hàng trực tuyến với các chức năng nh ư giỏ hàng, đơn đặt
hàng, phiếu nhận xét...
Thiết lập phần giao hàng với chức năng cung cấp chi phí vận chuyển hàng theo từng khu vực. Có khả năng kết nối với các nhà cung cấp dịch vụ giao nhận,
chuyển phát nhanh.
Thiết lập phần thanh toán cho phép khách hàng lựa chọn việc thanh toán trực
tiếp khi giao hàng, thanh toán chuyển khoản, chuyển tiền b ưu điện hoặc các
hình thức thanh toán khác.
Có khả năng kết nối với các hệ thống thanh toán trực tuyến.
Đăng tải, quản lý các quảng cáo trên site với hệ thống thống kê đi kèm.
Đăng tải và quản lý các bài viết, tin tức
Thiết lập các hệ thống hỗ trợ khách hàng.
Hỗ trợ đa ngôn ngữ cả ở phần nội dung thông tin và phần giao diện sử dụng.
Trước mắt khách hàng có thể lựa chọn một trong 2 ngôn ngữ Anh và Việt.
Hỗ trợ nhiều loại tiền tệ khác nhau thông qua hệ thống tỉ giá chung. Khách
hàng có thể lựa chọn loại tiền thanh toán.
Website được xây dựng làm hai phần riêng biệt: Phần hiển thịvà tra cứu thông
tin, mua bán trực tuyến và phần dành riêng cho người quản trị trang web.Ngoài ra, Website còn cung cấp các tính năng ưu việt nhất của các siêu thị điện tử
thông dụng hiện nay, tạo cho khách hàng mua hàng trên mạng cảm giác như đang được mua sắm tại các cửa hàng thực thụ.
Tìm kiếm, duyệt theo nhóm, ngành hàng, lựa chọn so sánh và mua hàng trực
tuyến (Shopping Cart). Sau khi lựa chọn xong các mặt hàng cần mua, người mua được lựa chọn cách thức giao hàng- đến tận nơi để lấy hàng hay giao hàng tại nhà, tại địa điểm do khách hàng chỉ định, phương thức thanh toán: thanh
toán chuyển khoản (qua đường bưu điện, ngân hàng hay các dịch vụ chuyển
tiền), thanh toán ngay cho ng ười giao hàng, thanh toán bằng thẻ tín dụng,...
Khi khách hàng đặt hàng, thư phúc đáp được gửi tự động tới hòm thư của khách hàng để khẳng định về đơn đặt hàng của khách hàng đãđược nhận và
đang chờ xử lý. Thời gian giao h àng được ấn định cụ thể có thông báo tr ước
cho khách hàng.
Trên trang web bán hàng, cho phép tạo các chương trình khuyến mãi, giảm giá được thực hiện hàng ngày, theo từng nhóm, ngành hàng bám sát vào các
chương trình giảm giá khuyến mãi của hãng sản xuất hoặc của công ty.
Cho phép xây dựng các chương trình thẻ mua hàng, cho phép các khách hàng có thểđặt mua các loại thẻ mua hàng có mệnh giá nhất định sauđó sử dụngđể
mua các mặt hàng có trêntrangweb, hoặc có thể gửitặngthẻ mua hàng này cho
người thân, giađình và bạn bèđể sử dụngmua sắm các mặt hàngtuỳ thích
trêntrangweb. Rất thích hợp cho người Việt nam ở nước ngoài muốn mua quà tặng cho người thân, bạn bèở Việt nam nhưng muốn để người thân của họ tự
lựa chọn mặt hàng tuỳ thích.
Hệ thống Newsletter giúp cho việc cập nhật th ường xuyên và gửi thông tin mới
nhất tới các khách hàng về các sản phẩm mà khách hàng đó quan tâm, về sản
phẩm, thị trường- các sản phẩm mới, sản phẩm khuyến mãi, giảm giá cho một
hoặc một số mặt hàng; đồng thời khách hàng cũng có thể gửi thư giới thiệu tới
Hệ thống tìm kiếm tiên tiến trên trang web cho phép: tìm kiếm theo các ngành hàng, theo nhà sản xuất, theo giá cả và theo thời gianxuất hiệncủa sản phẩm.
Đa ngữ- hỗ trợ Tiếng Anh và Tiếng Việt, đồng tiền sử dụng là VND và USD