JOOMLA VÀ PHP
JOOMLA & PHP
Mục lục
I. Joomla
I.1 Khái niệm cơ bản về joomla..................................................................................2
I.2 Các ưng dụng của Joomla.....................................................................................2
I.3 Các phiên bản của Joomla....................................................................................2
I.4 Kiển trúc của Joomla.............................................................................................3
I.5 Component.............................................................................................................3
II. Thiết kế component cho joomla 1.5.x.........................................................................5
Các bước thiết kế component..........................................................................6
III. Thiết kế template cho joomla 1.5.x.............................................................................9
III.1 Cấu trúc gói cài đặt template Joomla...............................................................9
III.2 Các bước thiết kế template cho joomla 1.5.x..................................................10
IV PHP
IV.1 PHP là gì ? ......................................................................................................13
IV.2 Các hàm làm việc với PHP............................................................................14
IV.3 Các kiểu dữ liệu..............................................................................................14
IV.4 Biến trong PHP...............................................................................................17
IV.5 Hằng số............................................................................................................21
IV.6 Toán tử............................................................................................................21
IV.7 Cấu trúc điều khiển
1) Câu lệnh if.......................................................................................................22
2) Câu lệnh switch...............................................................................................22
3) Vòng lặp...........................................................................................................23
IV.8 Hàm..................................................................................................................25
IV.9 Classes và Objects
1) Class.................................................................................................................29
2) Extends............................................................................................................30
3) Hàm dựng........................................................................................................30
I. Joomla
I.1 Khái niệm cơ bản về Joomla
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 1
JOOMLA VÀ PHP
Joomla là một hệ quản trị nội dung mã nguồn mở. Nó được viết bằng ngôn ngữ
PHP và kết hợp với cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ
dàng đưa nội dung thông tin của họ lên internet hoặc intranet.
Joomla có các đặc tính cơ bản là:
Bộ đệm trang(page caching): để giúp tăng tốc độ hiển thị
Lập chỉ mục
Đọc tập tin RSS
Trang dùng để in
Bản tin nhanh
Blog
Bình chọn
Lịch biểu
Tìm kiếm trong site
Hỗ trợ đa ngôn ngữ
Joomla được phát âm theo tiếng Swahili như là jumla nghĩa là “đồng tâm hiệp
lực”.
Joomla được sử dụng rộng rãi trên thế giới, từ những website cá nhân tới
những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và
ứng dụng.
Joomla dễ cài đặt, dễ quản lý và có độ tin cậy cao.
Joomla có mã nguồn mở do đó việc sử dụng joomla là hoàn toàn miễn phí cho
tất cả mọi người trên thế giới.
I.2 Các ứng dụng của Joomla
Có rất nhiều ứng dụng sử dụng joomla, dưới đây là một vài ứng dụng phổ biến
hiện nay của joomla:
Các cổng thông tin điện tử hoặc các website doanh nghiệp.
Thương mại điện tử trực tuyến.
Báo điện tử, tạp chí điện tử
Website của các doanh nghiệp vừa và nhỏ.
Website của các cơ quan, tổ chức phi chính phủ
Website của các trường học
Website của gia đình hay các nhân
.....
I.3 Các phiên bản của Joomla
Hiện tại joomla có 2 phiên bản chính:
Joomla 1.0.x: phiên bản thế hệ 1 (được cộng đồng người sử dụng và các nhà
phát triển đánh giá rất ổn định). Phiên bản đầu tiên là phiên bản joomla 1.0.0
(ngày 25/9/2005) có nguồn gốc từ mambo 4.5.2.3. Phiên bản phát hành mới
nhất là phiên bản joomla 1.0.15 (ngày 22/2/2008). Điểm mạnh của phiên bản
joomla 1.0.x là có một lượng rất lớn các thành phần mở rộng
(Module/component), thành phần nhúng (mambot), giao diện (template).
Dòng phiên bản 1.5.x: phiên bản thế hệ 2 (ổn định), đây là phiên bản cải
tiến từ phiên bản joomla 1.0.x trong đó phần code được viết mới hoàn toàn,
tuy nhiên vẫn giữ cách hành xử như phiên bản cũ. Phiên bản joomla 1.5.x
được coi như Mambo 4.6. Phiên bản Joomla 1.5 tiếp tục duy trì một giao
diện look and feel (nhìn và cảm nhận) rất thuận tiện đối với người sử dụng.
Cã joomla 1.5 và mambo 4.6 đều hỗ trợ đa ngôn ngữ. Joomla sử dụng file
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 2
JOOMLA VÀ PHP
định dạng “.ini” để lưu trữ các thông tin chuyển đổi ngôn ngữ, nó hỗ trợ tất
cả các ngôn ngữ có tập kí tự được biểu diễn bằng bảng mã UTF-8. Joomla
1.5 cũng bao gồm các đặc tính mới như:
o Các mô hình chứng thực (LDAP, Gmail...)
o Hỗ trợ mô hình Client/Server xml-rpc.
o Hỗ trợ các trình điều khiển cớ sở dữ liệu dành cho MySQL 4.1+ (trên
nền PHP5) và tăng cường hỗ trợ cho MySQL 5, đồng thời nó cũng
hộ trợ các hệ quản trị cơ sở dữ liệu khác.
Điểm mạnh của Joomla 1.5 là: phần quản trị Website có sử dụng công
nghệ Web 2.0, và có một số tính năng cải tiến hơn so với joomla 1.0.x.
I.4 Kiến trúc của Joomla
Joomla 1.5.x gồm có 3 tầng hệ thống:
Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn được
biết đến với tên gọi mambot).
Tầng thứ hai là mức ứng dụng và chứa các lớp Japplication hiện tại tầng này
gồm có 3 lớp con: Jinstallation, Jadminitrator và JSite.
Tầng trên cùng là mức mở rộng. Tầng này chứa các thành phần (component),
module và giao diện (Templates) được thực thi và thể hiện.
Extentions tier
Application tier
Framework tier
Hình 1: Kiến trúc của Joomla 1.5.x
I.5 Component: chúng ta có thể xem chi tiết các component của joomla 1.5.x bằng
việc đăng nhập quyền admin để xem, hình 2 là các component của joomla 1.5.x.
Hình 2: các thành phần trong Component của Joomla 1.5.x
Component là một tập các ứng dụng nhỏ được hiển thị ở phần thân chính của
một trang web hay một cách dễ hiểu là các component sẽ giúp chúng ta hiển thị nội
dung và cách trình bày nội dung của một trang web, nó bao gồm cả các banner, các
đường link.... Một component có hai thành phần chính: phần quản trị và phần trên site.
Phần trên site là phần được sử dụng để tải về các trang khi được triệu gọi trong quá
trình hoạt động của một website thông thường. Phần quản trị cung cấp giao diện để cấu
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 3
Joomla Framework
Joomla Framework
Plugins
Plugins
JAppication
JAppication
Templates
Templates
Modules
Modules
Components
Components
JOOMLA VÀ PHP
hình, quản lý các khía cạnh khác nhau của component và được truy cập thông qua ứng
dụng quản trị của Joomla.
i. Banner: là component cho phép quản lý banner bởi Categories và Client.
Banners manager có 3 tab, “Banner”, “Clients”, và “Categories”.
- Banner tab: hiển thị chi tiết danh sách các banner đang hoạt động
(published và unpublished) trên website
- Client tab: hiển thị danh sách client và chi tiết về các contact tương tứng
của chúng.
- Categories tab: cho phép toàn bộ các categories của banner được thiết
lập và các trạng thái “published” hay không, chúng ta có thể thay đổi các
trạng thái này.
Như vậy, mỗi banner quản lý từng phần riêng cùng với các tham số cần
thiết của nó như: “Impressions purchased” và “Click URL”.
ii. Contact: cho phép chúng ta quản lý một thư mục contact liên quan đến
các contact trong website.
- Contact tab: hiển thị một danh sách các contact đang hoạt động
(published và unpublished). Nó chỉ cung cấp khả năng để thêm mới hoặc
edit các contact đã có và thông tin chi tiết của các contact đó.
- Categories tab: cho phép chúng ta thiết lập và thay đổi các trạng thái của
các categories của các contact.
iii. News feeds: Newsfeeds component cho phép hầu hết các bài báo đã tồn
tại trước đó từ external website có thể link tới các trang web khác có liên
quan đến thôn tin chúng ta đang đề cập.
- Feeds tab: bao gồm danh sách tất cả các feeds đang hoạt động (published
và unpublished) trong web site. Thông tin quan trọng có thể thấy ngay
như tên feed thuộc “Category” nào, feed đó thuộc chủ đề bài báo là gì
“#Articles”, và thời gian lưu trữ bao nhiêu lâu “Cache Time”.
- Categories tab: cho phép chúng ta thiết lập thay đổi trạng thái của các
categories của feeds.
- Feeds được quản lý trong categories và các tham số khác nhau như: Số
của bài báo (Number ò Articles), thời gian lưu trữ (Caching time), và thể
loại của bài báo (ordering).
iv. Polls: “Polls” component hiển thị danh sách tất cả sự đánh giá nội dung
đang có trong web site của chúng ta. Polls dễ quản lý cùng với các tham
số của nó như: “Lag” (thời gian giữa các lần đánh giá) và “Options”( tùy
chọn) cho “khách” có thể đánh giá thêm các tiêu chí khác. Hình 3a là các
lựa chọn để đánh giá sự hiểu biết của khách về joomla và hình 3b là kết
quả của các lựa chọn của khách.
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 4
JOOMLA VÀ PHP
Hình 3a: Hình 3b:
v. Search: đây là component cung cấp số liệu thống kê việc thực hiện tìm
kiếm sử dụng Joomla Search Plugin. Component này cung cấp số liệu
thống kê như một danh sách đơn giản bao gồm “Search Text” so sánh với
“Time Request ”, và mặc định chúng được sắp xếp theo “Time Request”.
vi. Weblink: là một danh sách component và cung cấp việc điều khiển quản
lý các đường web link hiển thị trong Front-end của website.
- Link tab: Hiển thị một danh sách các đường link đang hoạt động
(published và unpublished) đã được thiết lập theo category và order.
- Categories tab: cho phép các các đường link của categories đã được thiết
lập và “Published” thay đổi trạng thái.
- Weblink được quản lý trong categories và các tham số đi kèm của chúng
như: “Target” và “Description”.
II. Thiết kế Componet theo mô hình MVC
Model-View-Controller (gọi tắt là MVC) là một mẫu thiết kế phần mềm được
dùng để tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu và biểu diễn dữ liệu tách rời
nhau. Điều này tạo ra tiền đề cho hướng tiếp cận sau này khi mà việc xử lý dữ liệu được
nhóm vào trong một section, khi đó giao diện hay quá trình tương tác với người dùng bao
quanh dữ liệu có thể được định dạng và tùy biến lại mà không phải lập trình lại việc xử lý
dữ liệu nữa.
MVC được phát triển dựa trên mô hình xử lý truyền thống là input, processing,
output. Mô hình dưới đây là cách thức thực hiện và xây dựng một component theo
phương pháp MVC, nó bao gồm các công đoạn: Controller, model, view.
Hình 4: Mô hình làm việc theo kiến trúc MVC
Model: là thành phần của component đóng gói dữ liệu cho ứng dụng. Nó
thường cung cấp các thủ tục để quản lý, thao tác dữ liệu theo một cách nào
đó, trong đó có thêm các thủ tục để lấy dữ liệu từ model. Có thể là bổ sung
(insert), loại bỏ (delete) hay cập nhật (update) thông tin về một trường nào
đó trong cơ sở dữ liệu (CSDL). Theo cách này, nếu một ứng dụng chuyển
đổi sang việc sử dụng một file bình thường để lưu trữ thông tin của nó thay
vì sử dụng CSDL thì chỉ có thành phần Model là thay đổi còn các thành
phần View và Controller là không đổi.
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 5
JOOMLA VÀ PHP
View: là một thành phần của component được sử dụng để trả lại dữ liệu từ
model theo cách phù hợp với tương tác. Đối với ứng dụng web, view thông
thường là các trang HTML để trả lại dữ liệu. View lấy dữ liệu từ Model (dữ
liệu này được chuyển qua View tới Controller). Sau cùng là đưa dữ liệu vào
trong template (dữ liệu này sẽ hiển thị với người dùng). View không làm
thay đổi dữ liệu, nó chỉ hiển thị dữ liệu lấy từ Model mà thôi).
Controller: Controller chịu trách nhiệm phản hồi các hành động của người
dùng. Trong các ứng dụng web, một hành động của người dùng thông
thường là một yêu cầu tải trang. Controller sẽ xác định yêu cầu gì được
người dùng đưa ra và phản hồi thích hợp bằng việc yêu cầu Model tính toán
dữ liệu phù hợp và chuyển từ Model vào View. Controller không thể hiện
dữ liệu từ Model, nó kích hoạt các phương thức trong Model để hiệu chỉnh
dữ liệu và sau đó chuyển từ Model sang View để hiển thị dữ liệu.
Trong Joomla, mô hình MVC được hỗ trợ thông qua 3 lớp JModel, JView và
Jcontroller.
Các bước xây dượng một component:
Một component đầy đủ có cấu trúc như sau:
Hình 5: Cấu trúc đầy đủ của một component
Thư mục admin chứa các thành phần tạo nên giao diện quản trị cho component ở
Joomla Back-End, thư mục site chứa các thành phần tạo nên giao diện site cho
component ở Joomla Front-End và file XML chứa thông tin mô tả về cài đặt. Ví dụ ở
đây là xây dựng một component hiển thị lời chào lấy từ CSDL theo mô hình MVC của
Joomla.
Đối với một component cơ bản (không có phần quản trị) chỉ cần 5 file được đặt
trong các thư mục models, views trong thư mục chính sites:
Hello.php: đây là file đầu vào cho component.
Controller.php: file này chứa controller cơ bản cho component.
View/hello/view.html.php: file này nhận dữ liệu cần thiết và đặt nó vào
template.
View/hello/tmpl/default.php: file này là template cho đầu ra, hiển thị lên
site.
Hello.xml: đây là một file XML nói cho joomla biết cách cài đặt
component như thế nào.
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 6
JOOMLA VÀ PHP
Tuy nhiên đó chỉ là mô hình View-Controller đơn giản, không tuân theo mẫu
MVC một cách chính xác, bởi View chỉ được hiển thị dữ liệu chứ không chứa nó. Khi đó
ta sẽ chuyển dữ liệu ra khỏi View và đưa nó vào Model. Component lúc này sẽ cần thêm
các file: Models/hello.php.
Nếu có thêm phần quản trị, sẽ có thêm thư mục admin cũng chứa các thư mục
như controllers, models, views có các file tương tự như phần site và một số file/thư mục
đặc biệt như: file SQL (cài đặt và gỡ bỏ bảng trong CSDL), thư mục tables, v.v.. Trong
bài này, chúng ta sẽ lấy ví dụ xây dựng 1 component là Hello hiển thị một lời chào lấy từ
CSDL.
B1: Tạo điểm vào cho component (hello.php)
Joomla luôn luôn được truy cập thông qua một điểm vào duy nhất là file
index.php cho các ứng dụng trên site cho ứng dụng quản trị). Sau đó ứng dụng sẽ tải các
(administrator/index.php component cần thiết dựa trên giá trị chọn lựa trong URL hoặc
trong dữ liệu POST.
Đối với component này, URL sẽ có dạng: index.php?
option=com_hello&view=hello sẽ tải file chính components/com_hello/hello.php
Code:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
// Require the base controller
require_once( JPATH_COMPONENT.DS.'controller.php' );
// Require specific controller if requested
if($controller = JRequest::getWord('controller')) {
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
if (file_exists($path)) {
require_once $path;
} else {
$controller = '';
}
}
// Create the controller
$classname = 'HelloController'.$controller;
$controller = new $classname( );
// Perform the Request task
$controller->execute( JRequest::getVar( 'task' ) );
// Redirect if set by the controller
$controller->redirect();
?>
Câu lệnh đầu tiên là câu lệnh kiểm tra bảo mật. JPATH_COMPONENT là đường dẫn
tuyệt đối tới component hiện tại (ví dụ ở đây là: components/com_hello) và tương tự
với admin component là JPATH_COMPONENT_ADMINISTRATOR
(administrator/components).
DS là dấu phân cách thư mục trong hệ thống của bạn: có thể là “\” hoặc “/”. Điều này
được thiết lập tự động bởi framework, vì vậy lập trình viên không phải quan tâm đến
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 7
JOOMLA VÀ PHP
việc phát triển các phiên bản khác nhau cho các hệ điều hành khác nhau. DS sẽ luôn
được sử dụng khi tham chiếu đến các file trên máy chủ cục bộ.
Sau khi tải controller cơ bản, chương trình sẽ kiểm tra một controller cụ thể cần đến.
(Với component Hello đơn giản, controller cơ bản chỉ là một controller nhưng khi mở
rộng sau này sẽ có rất nhiều controller).
Lớp Jrequest:getVar() sẽ tìm đến một biến trong URL hoặc POST dữ liệu, bởi vậy nếu
URL là: index.php?option=com_hello&controller=controller_name thì tên của
Controller ở đây sẽ được lấy về bằng câu lệnh: Jrequest::getVar(‘controller’);
Bây giờ, component đã có controller cơ sở (ở đây là HelloController, trong file
com_hello/controller.php) và nếu cần thiết, ta sẽ bổ sung thêm các controller dạng như
HelloControllerController1, HelloControllerController2, v.v.. (tương ứng với
com_hello/controller1.php, com_hello/controller2.php, v.v..).
Sau khi Controller được tạo ra, Controller sẽ chạy nhiệm vụ như được chỉ định trong
URL: index.php?option=com_hello&task=sometask. Nếu không có nhiệm vụ nào được
chỉ ra trong URL thì nhiệm vụ mặc định “display” sẽ được giả định. Khi nhiệm vụ
“display” được sử dụng thì biến “view” sẽ quyết định cái gì được hiển thị. Ngoài ra
còn các nhiệm vụ khác như “save”, “edit”, “new”, …
Controller có thể quyết định thực hiện tải một trang (redirect), thông thường là sau khi
một nhiệm vụ như “save” được hoàn thành.
B2: Tạo controller
Controller trong ví dụ này chỉ có một nhiệm vụ là thể hiện lời chào nên sẽ khá
đơn giản, không cần phải tính toán trên dữ liệu. Tất cả những gì cần thiết phải
làm là tải View thích hợp. Để hiện thị lời chào, chúng ta chỉ có một phương thức
trong controller là display(). Hầu hết các hàm cần thiết được xây dựng trong lớp
JController, nên chỉ cần gọi JController::display(); là xong.
<?php
class HelloController extends Jcontroller
{
function display()
{
parent::display();
}}
?>
Khi khởi tạo một lớp JController, sẽ luôn có một nhiệm vụ là display() khi không
có một nhiệm vụ cụ thể nào được chỉ ra, nó được thiết lập như một nhiệm vụ
mặc định. Mặc dù trong trường hợp này, phương thức display() thật sự không
cần thiết, tuy nhiên nó tạo ra cơ sở khá tốt cho việc phải chỉ ra điều gì cần phải
làm trong controller. Phương thức JController::display() sẽ xác định view và
layout từ request, tải view đó về là thiết lập layout.
Khi tạo một menu item cho component, menu manager sẽ cho phép admin lựa
chọn view mà họ thích để thể hiện trên layout cụ thể. Một View thông thường
được xem như một cách hiển thị của một tập dữ liệu nào đó còn layout là một
cách tổ chức các View đó. Trong component ở đây (com_hello) có một view đơn
được gọi là hello và một layout đơn (default)
B3: Tạo View
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 8
JOOMLA VÀ PHP
Nhiệm vụ của View rất đơn giản: nó nhận dữ liệu được thể hiện và đặt nó lên
template. Dữ liệu được đặt lên template sử dụng phương thức JView::assignRef.
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.application.component.view');
class HelloViewHello extends Jview
{
function display($tpl = null)
{
$model =& $this->getModel();
$greeting = $model->getGreeting();
$this->assignRef( 'greeting', $greeting );
parent::display($tpl);
}
} ?>
III. Thiết kết template cho joomla 1.5.x
III.1 Cấu trúc gói cài đặt template joomla
Tất cả gói giao diện (template/theme) của Joomla đều được đóng gói trong một
file nén (.zip) cho phép bạn upload và cài đặt trực tiếp thông qua trang quản trị.
Template là một thế mạnh của Joomla. Hiện có hàng nghìn template miễn phí cũng như
có phí cho bạn lựa chọn. Việc thiết kế chúng cũng khá đơn giản và bạn hoàn toàn có
thể chuyển đổi từ một template thuần HTML sang template Joomla. Ngoài ra bạn có
thể thay đổi template nhanh chóng và dễ dàng thông qua trang quản trị. Không những
thế Joomla còn cho phép một template được áp dụng cho toàn site hoặc một số trang
nhất định.
Cấu trúc của gói cài đặt template joomla bao gồm các file bắt buộc sau:
index.php: File này gồm các mã lệnh PHP, thẻ <head> và các thẻ
<table> hoặc các thẻ <div> để định vị các module và tạo nên bố cục của
template.
templateDetails.xml: được sử dụng trong quá trình cài đặt. File này
chứa các thông số về template và giúp cho joomla biết được trong qua
trình cài đặt cần tạo các thư mục và truyền các file .css, .php, ảnh nào
lên thư mục templates.
template.css: đây chính là css chính của joomla. File này được kết hợp
với index.php để tạo nên template. File css là file được viết nhằm tạo ra
một giao diện đẹp cho website.
template_thumbnail.png: file này chính là ảnh chụp minh họa của
template. No giúp bạn dễ hình dung khi lựa chọn template hoặc trong
phần quản trị hoặc ở mặt tiền của website.
Các thư mục và file khác: ngoài các file đã nói trên, trong gói cài đặt
template có thể có thêm thư mục CSS để chứa các file CSS bổ sung.
Thư mục ảnh để chứa các ảnh được sử dụng cho template. Thư mục
javascript để chứa các javascript (nếu có).
III.2 Các bước thiết kế template cho joomla 1.5.x
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 9
JOOMLA VÀ PHP
Bước 1: xác định vị trí của các module và component
Hình 6: Các vị trí của các module và component trong website joomla
Bước 2: Viết code để tạo ra các vị trí dành cho module và component
Tất cả các module bên trái sử dụng duy nhất một đoạn mã có dạng như
sau: <jdoc: include type="modules" name="left" style="...." />
Tất cả các module bên phải sử dụng duy nhất một đoạn mã sau:
<jdoc: include type="modules" name="right" style="...." />
Xây dựng component đươch sử dụng đoạn code sau:
<jdoc: include type="component" />
Hình 7: Code tạo ra các vị trí dành cho module và component
Bước 3: Tạo các file cơ bản cho template
Bước 3.1: Tạo thư mục template mà chúng ta thiết kế (VD:
Linh_temlate), thư mục này được đặt trong thư mục templates của
joomla.
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 10
JOOMLA VÀ PHP
Bước 3.2: Mở thư mục chúng ta vừa tạo ở bước 3.1 và tạo ra 2 file có
tên là “index.php” và “templateDetails.xml” (2 file này chưa viết gì).
Bước 3.3: Mở file “templateDetails.xml” vừa tạo ở bước 3.2 và gõ vào
nội dung sau:
Hình 8: code của file “templateDetails.xml”
Bước 3.4: mở file “index.php” và gõ vào nội dung sau:\
Hình 9: code của file “index.php”
Bước 4: Kích hoạt Template cho joomla chúng ta vừa tạo
Bước 4.1: Đăng nhập vào trang quản trị (VD:
http://localhost/administrator)
Bước 4.2: Mở menu “Extensions” chọn “Template Manager”
Bước 4.3: Chọn template “Linh_template” mà chúng ta đã tạo
Bước 4.4: Nhấn nút [Default] trên thanh công cụ để kích hoạt
“linh_template” làm template mặc định.
Bước 4.5: Mở trang chủ và kiểm tra xem template mới tạo đã được nạp
chưa.
Bước 5: Tạo Layout cho template
Bước 5.1: Phác thảo trên giấy bố cục (layout) của template – giả sử
chúng ta thiết kế layout như sau:
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 11
JOOMLA VÀ PHP
Hình 10: một layout phác thảo
Bước 5.2: Viết mã HTML để tạo layout đã được phác thảo ở bước trên
Mở file “index.php” của template của chúng ta (VD: Linh_template) và gõ
vào nội dung sau:
Hình 11: Đoạn code của file “index.php”
Bước 5.3: Kiểm tra lại layout vừa tạo và chay thử - mở trang web và
xem template vừa được tạo.
Bước 6: Nhúng mã joomla vào trang “index.php”
Joomla xây dựng một loại thẻ riêng cho việc thiết kế template, đó là thẻ <jdoc>.
Thẻ <jdoc> được dùng để nạp các phần tử riêng biệt của joomla. Chẳng hạn như: nạp
“Head”, nạp “Module”, nạp “Component”. Thẻ này được khai báo như sau:
<jdoc:include type= “[head][module][component]”/>
Bước 6.1: Nhúng đoạn mã nạp vào phần HEAD của trang web
<head><jdoc:include type= “head”/></head>
Bước 6.2: Nhúng các đoạn mã để nạp MODULE và COMPONENT. Chúng
ta hay viết các đoạn mã tương ứng đặt tại các module và component mà
chúng ta đà thiết kế (VD: theo template tôi đã thiết kế ở bước 5, thì các
đoạn code cho các module và component như sau):
Hình 12: Các đoạn code để nạp module và component
Hồ Đức Lĩnh – 47133042 – 47THM – Đại học Nha Trang 12