Tạo component đơn gi o component đơn gi ản§ Front End Component – Ví dụ: com_hello xuất ra câu “chào các bạn” Chào các bạn hello.php... Tạo component đơn gi o component đơn gi ản § Front
Trang 1LẬP TRÌNH WEB
CHUYÊN SÂU VỚI CMS
JOOMLA
Trang 2Bài 3: Bước đầu làm quen
Component
1 Giới thiệu
2 Tạo component đơn gi o component đơn gi ản
3 Truy xuất cơ cơ sở dữ liệu
4 Front End Component
Trang 31 Giới thiệu
§ Component là một loại thành phần mở
rộng trong Joomla
§ Component là tập hợp các trang web có
liên quan với nhau Mỗi chức năng trong
website đều liên quan đến một component
nào đó
§ Có 2 loại component:
– Component ở Front End
– Component ở Back End
Trang 42 Tạo component đơn gi o component đơn gi ản
§ Front End Component
– Ví dụ: com_hello xuất ra câu “chào các bạn”
Chào các bạn hello.php
Trang 52 Tạo component đơn gi o component đơn gi ản
§ Front End Component
– Cú pháp truy xuất component từ url:
http://ten_website/index.php?option=com_ten com
Ví dụ: truy xuất com_hello từ localhost
http://localhost/index.php?option=com_hello
Minh họa
Trang 62 Tạo component đơn gi o component đơn gi ản
§ Thực hành
– Tạo com_hello
Trang 73 Truy xuất Cơ Cơ sở dữ liệu
– Để truy xuất cơ sở dữ liệu trong Joomla, ta
cần thực hiện các bước sau:
• Bước 1: Tham chiếu biến kết nối
• Bước 2: Tạo chuỗi truy vấn
• Bước 3: Truyền lệnh truy vấn cho biến kết nối
• Bước 4: Thực hiện lệnh truy vấn và nhận kết quả trả về
$query = "SELECT * FROM # KHACH_HANG"
$db =& JFactory::getDBO();
$db->setQuery($query);
Trang 83 Truy xuất Cơ Cơ sở dữ liệu
§ Thực hiện lệnh SQL lấy dữ liệu: dùng các
phương thức sau:
– loadResult( ) :
• Ý nghĩa: truy vấn lấy 1 giá trị
• Kết quả trả về: là 1 chuỗi
Ví dụ: tìm tên khách hàng khi biết mã khách hàng
$query = "SELECT Ten_khach_hang FROM
# KHACH_HANG WHERE Mkh=$mkh";
$db =& JFactory::getDBO();
$db->setQuery($query);
$ten_khach_hang = $db->loadResult();
Trang 93 Truy xuất Cơ Cơ sở dữ liệu
§ Thực hiện lệnh SQL lấy dữ liệu: dùng các
phương thức sau:
– loadObject( ) :
• Ý nghĩa: truy vấn lấy 1 dòng trong bảng
• Kết quả trả về: là 1 đối tượng thuộc class stdClass
Trang 103 Truy xuất Cơ Cơ sở dữ liệu
§ Thực hiện lệnh SQL lấy dữ liệu: dùng các
phương thức sau:
– loadObjectList( ) :
• Ý nghĩa: truy vấn lấy nhiều dòng
• Kết quả trả về: là 1 mảng các đối tượng
Trang 11• Kết quả trả về: true hoặc false
Ví dụ: tăng đơn giá sách 10%
$query = “UPDATE # SACH SET
DON_GIA=DON_GIA*1.1”;
$db =& JFactory::getDBO();
$db->setQuery($query);
$db->query();
Trang 124 Front End Component
§ Cấu trúc:
– Front end component gồm:
• Trong thư mục com_tencom, có ít nhất 1 file là
ten_component.php , là file xử lý chính của component
Cú pháp truy xuất component từ url:
http://ten_website/index.php?option=com_te ncom
Trang 134 Front End Component
§ Các bước thực hiện:
– Bước 1: Khởi tạo component:
• Tạo cấu trúc component
Trang 144 Front End Component
§ Các bước thực hiện:
– Bước 2: Khởi tạo các file tencom.php và
tencom.html.php
• File tencom.php gồm các xử lý chính sau:
– Tham chi ếu file xử lý giao diện
– L ấy giá trị của các tham số từ url
– Xét các tham s ố để gọi các xử lý phù hợp
Trang 15// ngăn người dùng truy xuất trực tiếp file php
defined( '_JEXEC' ) or die( 'Restricted access' );
//tham chiếu đến file xử lý giao diện tencom.html.php
require_once( JApplicationHelper::getPath('front_html' ) );
//lấy các tham số trên url
//dùng JRequest::getVar( 'ten_tham_so', 'gia_tri_mac_dinh') để lấy giá
//các hàm xử lý chính, các hàm này được gọi lúc xét tham số $task
//trong các hàm này ta sẽ chuẩn bị dữ liệu, và gọi các hàm ở
//lớp xử lý giao để hiển thị dữ liệu đã chuẩn bị
?>
Trang 164 Front End Component
Trang 17<?php
// ngăn người dùng truy xuất trực tiếp file php
defined( '_JEXEC' ) or die( 'Restricted access' );
function Ham_hien_thi2( danh_sach_tham_so ) {
//xử lý hiển thị giao diện }
Trang 184 Front End Component
§ Các bước thực hiện:
– Bước 3: Viết code cho các file tencom.php và
tencom.html.php
Ví dụ: Hiển thị danh sách khách hàng
Trang 20khach_hang.html.php