Bài viết này sẽ hướng dẫn bạn cách tạo ra một module Hello World đơn
giản. Xuyên suốt bài viết này bạn sẽ học được cấu trúc cơ bản của một
module. Tất nhiên, bạn hoàn toàn có thể mở rộng cấu trúc cơ bản này để
tạo ra các module phức tạp hơn theo ý mình.
Cấu trúc tập tin:
Có 4 file cơ bản được dùng trong mẫu tiêu chuẩn của việc phát triển
module:
• mod_helloworld.php – File này là điểm vào chính cho module. Nó sẽ
thực hiện những khởi tạo cần thiết, gọi các helper để thu thập mọi dữ
liệu cần thiết, và include template hiển thị đầu ra của module
10 trang |
Chia sẻ: phuongt97 | Lượt xem: 612 | Lượt tải: 0
Nội dung tài liệu Hướng dẫn tạo mod HelloWord - Cơ sở để làm nhiều mod cho Joomla 1.5, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Hướng dẫn tạo
mod HelloWord
Hướng dẫn tạo mod HelloWord - cơ sở để làm nhiều mod cho
Joomla 1.5
Bài viết này sẽ hướng dẫn bạn cách tạo ra một module Hello World đơn
giản. Xuyên suốt bài viết này bạn sẽ học được cấu trúc cơ bản của một
module. Tất nhiên, bạn hoàn toàn có thể mở rộng cấu trúc cơ bản này để
tạo ra các module phức tạp hơn theo ý mình.
Cấu trúc tập tin:
Có 4 file cơ bản được dùng trong mẫu tiêu chuẩn của việc phát triển
module:
• mod_helloworld.php – File này là điểm vào chính cho module. Nó sẽ
thực hiện những khởi tạo cần thiết, gọi các helper để thu thập mọi dữ
liệu cần thiết, và include template hiển thị đầu ra của module.
• mod_helloworld.xml – File này chứa thông tin về module. Nó định
nghĩa ra các files cần thiết để cài đặt từ trình cài đặt của Joomla! và chỉ
ra các tham số cấu hình cho module.
• helper.php – File này chứa lớp helper, được dùng để thực hiện các
hành động thực sự để lấy về các thông tin mà sẽ được hiển thị trên
module (thường là từ database hoặc những nguồn dữ liệu khác).
• tmpl/default.php – File này là template của module. Nó sẽ lấy về dữ
liệu đã được thu thập bởi mod_helloworld.php và sinh ra mã HTML để
hiển thị trên trang web.
Cách tạo các file như sau:
Tạo file mod_helloworld.php:
File mod_helloworld.php sẽ thực hiện 3 nhiệm vụ sau:
• include file helper.php chứa lớp được dùng để thu thập dữ liệu cần
thiết
• Triệu gọi phương thức thích hợp trong lớp helper để lấy về dữ liệu
• include template để hiển thị đầu ra.
Lớp helper được định nghĩa trong file helper.php của chúng ta. File này
được include bằng lệnh require_once:
$hello = modHelloWorldHelper::getHello( $params );
File mod_helloworld.php hoàn chỉnh như sau:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( dirname(__FILE__).DS.'helper.php' );
$hello = mod_abc::get_abc( $params );
require( JModuleHelper::getLayoutPath( 'mod_helloworld' ) );
-Các bạn copy đoạn code trên, lưu lại thành file: mod_helloworld.php
Tạo helper.php:
File helper.php chứa lớp helper dùng để lấy về dữ liệu cho đầu ra của
module. Như sẽ đề cập, lớp helper của chúng ta sẽ có 1 method:
getHello() trả về thông điệp ‘Hello, World’.
Và đây là code cho helper.php:
<?php
class mod_abc
{
function get_abc( $params )
{
return 'Hello, World!';
}
}
Các bạn copy code trên, lưu thành file: helper.php
Không có quy tắc nào bắt chúng ta phải đặt tên cho lớp helper như trên,
nhưng đặt tên như vậy sẽ rất có ích cho việc nhận dạng lớp và tìm kiếm.
Các module cao cấp hơn có thể sẽ chứa các yêu cầu truy vấn database
hoặc các chức năng khác.
Tạo tmpl/default.php:
File default.php là một template nó sẽ hiển thị đầu ra của module.
Code cho default.php như sau:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
Copy code trên và lưu thành file: default.php
Một điểm quan trọng cần chú ý là file template có cùng phạm vi với file
mod_helloworld.php. Nghĩa là biến $hello được định nghĩa trong file
mod_helloworld.php có thể dùng được trong file template default.php
mà không cần bất kỳ khai báo hay lời gọi hàm nào.
Tạo mod_helloworld.xml:
File mod_helloworld.xml được dùng để chỉ ra những file nào mà trình
cài đặt cần phải copy và sẽ được sử dụng bởi Module Manager để xác
định tham số nào được dùng để cấu hình cho module. Những thông tin
khác về module cũng được định nghĩa trong file này.
Code cho mod_helloworld.xml như sau:
<!DOCTYPE install SYSTEM "
install.dtd">
Hello, World!
John Doe
1.5.0
A simple Hello, World! module.
<filename
module="mod_helloworld">mod_helloworld.php
index.html
helper.php
tmpl/default.php
tmpl/index.html
Copy code trên và lưu thành file: mod_helloworld.xml
Chú ý là có 2 file thêm vào mà chúng ra chưa nhắc đến đó là: index.html
và tmpl/index.html. Các file này cũng được include để tránh cho các thư
mục không bị truy cập và liệt kê nội dung bởi trình duyệt. Nếu người
dùng cố gắng trỏ trình duyệt của họ tới thẳng các thư mục thì file
index.html sẽ được hiển thị và họ sẽ chẳng thấy gì hết.
Sau khi tạo các file trên, để gom thành mod_helloworld, các bạn
thực hiện tiếp tục như sau:
-Tạo 1 thư mục có tên: mod_helloworld, trong thư mục này tạo tiếp 1
thư mục con có tên: tmpl
-Trong thư mục mẹ mod_helloworld ta bỏ vào các file: helper.php,
mod_helloworld.php, mod_helloworld.xml và 1 file index.html trống
(tổng có 4 file)
-Thư mục con tmpl bỏ vào các file: default.php và 1 file index.html
trống (tổng có 2 file)
-Nén Zip lại thư mục mod_helloworld vừa tạo trên và tiến hành cài đặt
như các mod khác, đăng nhập Admin để kích hoạt nó lên.
Vậy là đã hoàn thành việc tạo 1 mod đơn giản cho Joomla, từ việc tạo
mod này, các bạn có thể tuỳ biến phù hợp để có thể tạo nhiều mod khác
cho Joomla, phục vụ cho công trình thiết kế của mình.
Chúc các bạn thành công!
Các file đính kèm theo tài liệu này:
- huong_dan_tao_mod_helloword_co_so_de_lam_nhieu_mod_cho_jooml.pdf