1. Trang chủ
  2. » Thể loại khác

PHÁT TRIỂN CÁC ỨNG DỤNG MÃ NGUỒN MỞ.ThS. Chử Đức Hoàng

36 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển Các Ứng Dụng Mã Nguồn Mở
Tác giả Chử Đức Hoàng
Trường học Không xác định
Chuyên ngành Không xác định
Thể loại thesis
Năm xuất bản Không xác định
Thành phố Không xác định
Định dạng
Số trang 36
Dung lượng 4,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Với mã nguồn mở thì có thể tuỳ chỉnh và tạo mới khá nhiều thành phần như module,component, giao diện… Quy trình tạo mới module, component như thế nào?. Tại tầng này có các thành phần c

Trang 1

v1.0012112229 1

BÀI 8

PHÁT TRIỂN CÁC ỨNG DỤNG MÃ NGUỒN MỞ

ThS Chử Đức Hoàng

Trang 2

TÌNH HUỐNG

• Cộng đồng những người sử dụng mã nguồn mở đã được xây dựng và phát triển rất

có quy mô, tổ chức và đã đạt được những thành công nhất định

• Có nhiều dạng mã nguồn mở khác nhau tuỳ theo nhu cầu của người sử dụng

• Với mỗi loại mã nguồn mở, lại có nhiều sản phẩm khác nhau cho chúng ta có thể lựachọn

• Xây dựng và phát triển mã nguồn mở theo cách riêng sẽ tạo ra các sản phẩm phùhợp với nhu cầu của doanh nghiệp và tạo ra sản phẩm mới

• Với mã nguồn mở thì có thể tuỳ chỉnh và tạo mới khá nhiều thành phần như module,component, giao diện…

Quy trình tạo mới module, component như thế nào?

Trang 4

NỘI DUNG

Khái niệm chung

Xây dựng Joomla Component

Xây dựng Joomla Module

1

2

3

Trang 5

v1.0012112229 5

1 KHÁI NIỆM CHUNG

• Cấu trúc chung mã nguồn mở;

• Đặc tính mở và khả năng phát triển;

• Quy trình phát triển hệ thống mở

Trang 6

1.1 CẤU TRÚC CHUNG MÃ NGUỒN MỞ

• Joomla! là một hệ quản trị nội dung mã nguồn mở Joomla! được viết bằng ngônngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàngxuất bản các nội dung của họ lên Internet hoặc Intranet

Trang 7

 Tầng thứ ba là mức mở rộng Tại tầng này có các thành phần (component),

mô đun (module) và giao diện (template) được thực thi và thể hiện.

Trang 8

• Sau khi cài đặt Joomla! và chạy thử, người sử dụng có thể thêm, chỉnh sửa, cậpnhật nội dung, hình ảnh và quản lý dữ liệu của tổ chức, công ty.

• Joomla! cung cấp giao diện web trực quan do vậy khá dễ dàng để thêm một nộidung mới hay một mục mới, quản lý các phòng ban, danh mục nghề nghiệp, ảnh cácsản phẩm và tạo không giới hạn số phần, mục, chuyên mục cũng như các nộidung của website

Trang 9

v1.0012112229 9

1.3 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG MỞ

• Cài đặt Apacher;

• Cài đặt MySQL;

• Lựa chọn mã nguồn mở và cài đặt;

• Tìm hiểu cấu trúc, chức năng;

• Xây dựng riêng các thành phần của hệ thống:

Trang 10

CÂU HỎI THẢO LUẬN

Muốn website có thể hiển thị được nhiều cách khác nhau tuỳ theo trình duyệt

hoặc mobile thì phải chỉnh sửa ở phần nào?

Trang 11

v1.0012112229 11

2 XÂY DỰNG JOOMLA COMPONENT

• Khái niệm về Joomla Component;

• Model;

• View;

• Controller;

• Các bước thực hiện

Trang 12

2.1 KHÁI NIỆM VỀ JOOMLA COMPONENT

Joomla Component là một trong các thành phần mở rộng của Joomla!, thực chất

nó là một ứng dụng trong hệ thống Joomla!

• Component được sử dụng để thực hiện một chức năng lớn nào đó, chẳng hạn như:Cung cấp tin tức, quảng cáo, rao vặt, đặt phòng khách sạn, bất động sản,download

• Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) củawebsite

 Để download một component thực hiện một chức năng chuyên biệt, hoặc đểthay thế cho một component nào đó của Joomla, bạn có thể truy cập vàowebsite Joomla Extensions và tìm kiếm theo danh mục chức năng hoặc theo từkhóa mà bạn chỉ định

 Cài đặt một Component Joomla từ trang quản trị: Giống như các thành phần mởrộng khác (module, plugin, template, language ), để cài đặt một JoomlaComponent, chúng ta mở trang quản trị và sử dụng menu Extensions >> Install/Unistall

Trang 13

v1.0012112229 13

2.1 KHÁI NIỆM VỀ JOOMLA COMPONENT

Trang 14

2.1 KHÁI NIỆM VỀ JOOMLA COMPONENT

Các Component mặc định của Joomla!

Trong phiên bản Joomla! 1.5 có tất cả 11 component mặc định được cung cấp kèm theo Các component này được đặt trong thư mục [Joomla]/components

và nằm trong các thư mục con tương ứng với ký hiệu là "com_xyz".

Trang 15

v1.0012112229 15

2.1 KHÁI NIỆM VỀ JOOMLA COMPONENT

com_banners: Quản lý bảng quảng cáo (banner).

com_contact: Quản lý các đầu mối liên hệ (contact).

com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất).

com_mailto: Quản lý chức năng gửi/nhận E-mail.

com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình).

com_newsfeeds: Quản lý việc lấy tin từ website khác.

com_poll: Cung cấp chức năng bình chọn.

com_search: Cung cấp chức năng tìm kiếm.

com_user: Quản lý thành viên.

com_weblinks: Quản lý và hiển thị danh mục các website liên kết.

com_wrapper: Cho phép nhúng một website khác trong cửa sổ của website

Joomla

Trang 16

2.2 MODEL

• Một model là thành phần của component đóng gói dữ liệu của ứng dụng Nó thườngcung cấp các thủ tục để quản lý và thao tác dữ liệu này theo một cách nào đó, trong

đó có bổ sung thêm các thủ tục để lấy dữ liệu từ model

• Model sẽ chứa các phương thức như bổ sung, loại bỏ và cập nhật thông tin vềnhững lời chào mừng trong cơ sở dữ liệu Nó còn chứa phương thức để lấy danhsách các lời chào trong CSDL

• Nói một cách tổng quát, việc truy cập vào CSDL lớp dưới sẽ được đóng gói trongmodel Theo cách này, nếu một ứng dụng chuyển đổi sang việc sử dụng một filebình thường để lưu trữ thông tin của nó thay vì sử dụng CSDL, thì chỉ có thành phầnmodel là thay đổi, các thành phần view và controler là không đổi

Trang 17

v1.0012112229 17

2.3 VIEW

• View là một thành phần của component được sử dụng để trả lại dữ liệu từ modeltheo cách phù hợp với tương tác Đối với các ứ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 nó để tới controler) Và đưa

dữ liệu vào trong template (dữ liệu 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

• Nhiệm vụ của view là rất đơn giản: nó nhận dữ liệu được thể hiện và đặt nó lêntemplate Dữ liệu được đặt lên template sử dụng phương thức:

<classname>JView</classname>::assignRef

Trang 18

• Controler không thể hiện dữ liệu từ model, nó kích hoạt các phương thức trongmodel để hiệu chỉnh dữ liệu và sau đó chuyển từ model sang view để hiển thị dữliệu.

Trang 19

v1.0012112229 19

2.5 CÁC BƯỚC THỰC HIỆN

• Đối với component cơ sở của chúng ta, chúng ta chỉ cần 5 file:

 hello.php - đây là điểm vào cho component của chúng ta (this is the entry point

Trang 20

2.5 CÁC BƯỚC THỰC HIỆN (tiếp theo)

• Joomla luôn luôn được truy cập thông qua một điểm vào đơn: index.php cho cácứng dụng site và administrator/index.php cho ứng dụng quản trị

• Sau đó ứng dụng sẽ tải các component cần thiết dựa trên giá trị chọn lựa trong URLhoặc trong dữ liệu POST

• Đối với component của chúng ta URL sẽ như sau:

index.php?option=com_hello&view=hello

• Việc này sẽ tải file chính của chúng ta và có thể được xem như một điểm vào đơncho component của chúng ta: components/com_hello/hello.php

Trang 21

v1.0012112229 21

2.5 CÁC BƯỚC THỰC HIỆN (tiếp theo)

Code:

defined( '_JEXEC' ) or die( 'Restricted access' );

// Require the base controller

$controller = new $classname( );

// Perform the Request task

$controller->execute( JRequest::getVar( 'task' ) );

// Redirect if set by the controller

$controller->redirect();

?>

Trang 22

2.5 CÁC BƯỚC THỰC HIỆN (tiếp theo)

Tạo controler:

• Component của chúng ta chỉ có một nhiệm vụ - greet the world (thể hiện lời chào)

• Bởi vậy controler sẽ rất đơn giản Không cần đến việc 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

• Chúng ta sẽ chỉ có một phương thức trong controler là display() Hầu hết các hàmcần thiết được xây dựng trong lớp JControler, bởi vậy tất cả những gì chúng ta cần

là gọi phương thức JControler::display(); Code của controler cơ sở

Tạo view và template:

• Nhiệm vụ của view là rất đơn giản: Nó nhận dữ liệu được thể hiện và đặt nó lêntemplate Dữ liệu được đặt lên template sử dụng phương thức:

<classname>JView</classname>::assignRef

• Joomla template/layout là các file PHP thông thường, được sử dụng để bố trí, xếpđặt dữ liệu từ view theo một cách cụ thể nào đó Các biến được gán bởi phươngthức JView::assignRef có thể được truy cập từ template sử dụng

Trang 23

v1.0012112229 23

2.5 CÁC BƯỚC THỰC HIỆN (tiếp theo)

Đóng gói tất cả: File đóng gói này sẽ chứa nhiều dạng thông tin khác nhau như:

• Các miêu tả chi tiết cơ bản về component của bạn (ví dụ như tên), và tùy ý một số

mô tả thông tin về bản quyền…

• Một danh sách các file cần copy

• Một file PHP thực hiện bổ sung các thao tác cài đặt và gỡ bỏ (file này là không bắtbuộc)

• Một file SQL có chứa các câu truy vấn dữ liệu mà sẽ được thực hiện vào lúc cài đặthoặc gỡ bỏ (file này là không bắt buộc)

Trang 24

CÂU HỎI THẢO LUẬN

Khi tạo component thì có nhất thiết phải tạo database đi kèm không?

Trang 25

v1.0012112229 25

3 XÂY DỰNG JOOMLA MODULE

• Khái niệm về Joomla Module;

• Vị trí module trong website;

• Phân loại module;

• Tìm kiếm các module sẵn có;

• Tạo module mới;

• Kết hợp các mã nguồn khác với module

Trang 26

3.1 KHÁI NIỆM VỀ JOOMLA MODULE

Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng

dụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụngchủ yếu để lấy dữ liệu và hiển thị thông tin Module thường được dùng kết hợp kèmvới các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năngcủa component

• Không giống như component, một module có thể được đặt ở bất kỳ vị trí nàotrên template hoặc vị trí do người dùng tự định nghĩa Ngoài ra một module có thểđược nhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khácnhau

• Để tìm một Module Joomla bạn có thể truy cập vào website Joomla Extensions

Lưu ý: Một số module chỉ thực hiện đúng chức năng khi nó được cài đặt kèm theo

một component tương ứng Do vậy bạn phải đọc kỹ hướng dẫn sử dụng của moduleđó

Trang 27

v1.0012112229 27

3.1 KHÁI NIỆM VỀ JOOMLA MODULE

Trang 28

3.2 VỊ TRÍ MODULE TRONG WEBSITE

Vị trí của Module Joomla!

Vị trí của module (module position) là nơi mà module có thể được đặt vào đó.

Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳnghạn như: left, right, top, bottom, user1, user2 Tên và số lượng các vị trí này đượcquy định bởi template Các template khác nhau thì số lượng vị trí module cũng nhưtên của chúng có thể khác nhau Ngoài ra, trong quá trình sử dụng người dùng cũng

có thể tự định nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình

Các Module mặc định của Joomla!

Trong phiên bản Joomla! 1.5 có tất cả 20 module mặc định được cung cấp kèmtheo Các module này được đặt trong thư mục [Joomla]/modules và nằm trong cácthư mục con tương ứng với ký hiệu là "mod_xyz"

Trang 29

v1.0012112229 29

3.3 PHÂN LOẠI MODULE

Trang 30

3.4 TÌM KIẾM CÁC MODULE SẴN CÓ

mod_archive: Module hiển thị các bài viết đã được đánh dấu "lưu trữ“.

mod_banners: Module hiển thị các quảng cáo.

mod_breadcrumbs: Module hiển thị thanh điều hướng.

mod_custom: Module hiển thị một đoạn mã HTML bất kỳ.

mod_feed: Module hiển thị tin lấy từ các website khác.

mod_footer: Module hiển thị dòng bản quyền ở cuối website.

mod_latestnews: Module hiển thị các bài viết mới nhất.

mod_login: Module hiển thị form đăng nhập.

mod_mainmenu: Module hiển thị menu điều khiển.

mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất.

mod_newsflash: Module hiển thị tin vắn/tin nhanh.

mod_poll: Module hiển thị bình chọn.

mod_random_image: Module hiển thị ảnh ngẫu nhiên.

mod_related_items: Module hiển thị các bài viết liên quan.

mod_search: Module hiển thị form tìm kiếm.

mod_sections: Module hiển thị danh sách các mục của website.

mod_stats: Module hiển thị các thông số thống kê của website.

mod_syndicate: Module cấp tin cho các website khác.

Trang 31

v1.0012112229 31

3.5 TẠO MODULE MỚI

• Mở menu "Extension" >> "Module Manager“;

• Copy 1 module: check vào tên một module

Trang 32

3.5 TẠO MODULE MỚI (tiếp theo)

• Module sao chép sẽ được tạo ra:

• Vị trí đặt module trên trang Web cần liên hệ với người thiết kế trang web để biếtchính xác vị trí cần đặt và thứ tự đặt module

Trang 33

v1.0012112229 33

3.5 TẠO MODULE MỚI (tiếp theo)

Tạo mới một module rỗng

 Việc tạo mới một module rỗng được sử dụng cho những trường hợp như tạothông báo, tạo số điện thoại liên hệ…

 Chọn nút new trên thanh công cụ

Trang 34

3.5 TẠO MODULE MỚI (tiếp theo)

• Trong trang mới, bên trái trang, chúng ta sẽ điền những thông tin sau:

 Title: Tiêu đề, dùng hiển thị trên trang, nếu Show Title là No thì tiêu đề sẽ

không được hiển thị;

 Show Title: Cho phép hay không cho phép tiêu đề module được hiển thị trên

trang;

 Enabled: Cho phép sử dụng module;

 Position: Vị trí cần đặt trên trang;

 Order: Thứ tự trên một vị trí;

 Access Level: Mức độ sử dụng.

Trang 35

v1.0012112229 35

3.6 KẾT HỢP CÁC MÃ NGUỒN KHÁC VỚI MODULE

• Về bản chất module trong Joomla có thể được nhúng các mã php và html vào trong

đó Nên tuỳ theo nhu cầu của lập trình viên, chúng ta có thể tạo nên các moduleriêng biệt và chuyển chúng vào các vị trí trên website mà chúng ta mong muốn

• Có một số dạng mã nguồn và code module này như:

 Module tỉ giá, thời tiết;

 Module tin tức;

 Module quảng cáo, hình ảnh, sản phẩm;

 Module thư viện ảnh và thông tin…

• Các module này thường được bố trí tại các vị trí bên trái hoặc bên phải của website

Trang 36

TÓM LƯỢC CUỐI BÀI

• Phân tích được cấu trúc của mã nguồn mở Joomla

• Xác định được các thành phần module, component, giao diện

và plugin

• Thực hiện thêm mới các thành phần đó nhằm phát triển cácứng dụng của mã nguồn mở

Ngày đăng: 08/04/2022, 21:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w