Thiết kế Modules danh mục sản phẩm

Một phần của tài liệu Tìm hiểu cms joomla ứng dụng xây dựng siêu thị sách trực tuyến (Trang 92 - 97)

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

Một phần của tài liệu Tìm hiểu cms joomla ứng dụng xây dựng siêu thị sách trực tuyến (Trang 92 - 97)

Tải bản đầy đủ (PDF)

(111 trang)