SlideShare a Scribd company logo
Drupal Framework
Sinh viên : Nguyễn Văn Xanh
MSSV: 1011440
Nội Dung Trình Bày
• 1. Giới Thiệu Drupal Framework
• 2. Hệ Thống Tập Tin Và Thư Mục Trong Drupal
• 3. Kiến Trúc Drupal
• 4. Các Khái Niệm Cơ Bản
• 5. Xây Dựng Giao Diện Và Kết Nối Cơ Sở Dữ Liệu
• 6. Cách Viết Một Module
Giới Thiệu Drupal Framework
• Drupal là phần mềm phát triển theo hướng mô – đun, một hệ
thống quản trị miễn phí và mã nguồn mở
• Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ
liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều
hành và quản lý hệ thống.
• Drupal chạy được trên nhiều môi trường khác nhau, bao gồm
Windows, Mac OS X, linus, FreeBSD, và các môi trường hỗ trợ
máy phục vụ Web Apache( phiên bản 1.3+) hoặc IIS( phiên bản
4.3.3+).
• Drupal kết nối với cơ sở dữ liệu MySQL hoặc PostgreSQL để
lưu nội dung và các thiết lập.
HệThốngTậpTinVàThư MụcTrongDrupal
HệThốngTậpTinVàThưMụcTrongDrupal
• Thư mục includes chứa thư viện các hàm thường dùng.
• Thư mục misc lưu trữ các biểu tưởng và hình ảnh dùng cho
Javascript và một số tài nguyên khác.
• Thư mục profiles chứa các profile khác nhau dùng cho cài đặt
và thiết lập Drupal.
HệThốngTậpTinVàThưMụcTrongDrupal
• Thư mục scripts chứa các tập lệnh dùng để phân tích cú
pháp, dọn dẹp mã nguồn và xử lý các tác vụ đặc biệt với cron.
Những tập lệnh tiện ích này được viết bằng ngôn ngữ shell và
Perl.
• Thư mục themes chứa các công cụ tạo khuôn mẫu và giao
diện mặc định cho Drupal.
• Thư mục sites chứa các thay đổi đối với Drupal dưới dạng
thiết lập, module và giao diện. Các module được thêm vào sẽ
nằm trong sites/all/modules. Trong thư mục sites có thư mục
được đặt tên là default chứa các thiết lập mặc định cho hệ
thống Drupal, được ghi lại trong file settings.php.
HệThốngTậpTinVàThưMụcTrongDrupal
• Dưới đây là cấu trúc bên trong thư mục sites
Kiến Trúc Drupal
• Kiến Trúc Module
• Cơ Chế Hook
Kiến Trúc Module
• Module là một bộ gồm mã PHP và các file hỗ trợ sử dụng API
và kiến trúc của Drupal tích hợp các thành phần mới vào trong
framework của Drupal.
• Cơ chế module của Drupal được thiết kế để cung cấp một
cách thức đồng nhất giúp người phát triển mở rộng khả năng
của hệ thống.
• Để một module sử dụng được thì nó phải được bật bởi người
quản trị trang web. Drupal sẽ chuyển các yêu cầu của người
dùng đến module đó nếu cần thiết.
Cơ Chế Hook
• Cơ chế hook là một khái niệm rất quan trọng trong việc phát
triển module cho Drupal. Cơ chế này giúp Drupal biết được
phải gọi module nào khi xử lý các yêu cầu khác nhau từ người
dùng
• Một yêu cầu của người dùng sẽ được Drupal xử lý qua một
chuỗi các bước khác nhau. Đầu tiên, phần lõi khởi động ứng
dụng, định nghĩa các các biến và các hàm thường dùng. Tiếp
theo, hệ thống sẽ nạp các thư viện, giao diện và module cần
thiết và ánh xạ URI được yêu cầu tới đoạn mã điều khiển
tương ứng. Sau đó, dữ liệu sẽ được định dạng và đặt vào giao
diện để đưa ra trình duyệt của người dùng.
Cơ Chế Hook
• Trong một thời điểm xác định trước, Drupal thực thi các hook.
Hệ thống sẽ dựa vào hook để kiểm tra một số hoặc tất cả các
module đang được bật, tìm kiếm các hàm theo khuôn mẫu
được định nghĩa trước. Một số mẫu liên kết quá trình này với
phương thức "callback" thường được sử dụng trong mô hình
xử lý sự kiện. Cơ chế hook cũng tương tự như thế.
Các Khái Niệm Cơ Bản:
• Node
• User
• Block
• Menu
• Form
Node
• Node là một mẫu nội dung dạng văn bản tổng quát trong
Drupal được gọi bằng thuật ngữ. Một node, hiểu theo cách
của Drupal, là một đối tượng tổng quát dùng để biểu diễn nội
dung dạng văn bản. Tuy nhiên, với khả năng tùy biến của
Drupal, người phát triển có thể tạo ra các module mở rộng
khả năng trình bày của node để có thể hiển thị các nội dung
ngoài văn bản thuần túy, như hình ảnh, video hay các file âm
thanh.
User
• Một kiểu đối tượng quan trọng khác trong Drupal là đối
tượng User. Giống như comment và node, dữ liệu người dùng
cũng được lưu trữ trong cơ sở dữ liệu và được lấy ra trong quá
trình xử lý. Thông tin về người dùng được sử dụng trong việc
xác thực, định nghĩa các thiết lập cá nhân và quyền hạn, và tạo
các bản log.
Block
• Một khái niệm quan trọng trong Drupal là Khối (block). Nếu
một node được sử dụng để lưu trữ và trình bày các bài viết và
mẫu tin lớn thì khối được dùng để biểu diễn các nội dung nhỏ
hơn. Ví dụ, menu điều hướng, đoạn trích dẫn, khung bầu chọn
hay ô tìm kiếm thường được thể hiện dưới dạng các khối.
Menu
• Một khái niệm liên quan chặt chẽ đến khối là menu. Drupal có
một hệ thống menu phức tạp được sử dụng với mục đích
chính là xây dựng điều hướng cho trang web.
• Hệ thống này còn thực hiện chức năng như một công cụ dùng
để ánh xạ các URL tới chương trình điều khiển riêng. Bằng
cách sử dụng API menu, người phát triển có thể liên kết các
đường dẫn tới hàm định nghĩa trước.
Form
• Cách chủ yếu để đưa thông tin, nội dung lên Web là thông qua
các form HTML.
XâyDựng GiaoDiện
• Giao diện bao gồm một bộ tài nguyên bao gồm các mẫu PHP,
CSS, Javascript và hình ảnh, tạo nên bố cục và cách trình bày
cho nội dung trong Drupal.
• Để xây dựng một giao diện mới, ta đăng nhập vào admin
(quyền cao nhất), sau đó nhấp vào Appearance:
XâyDựng GiaoDiện
• Có 2 cách cài đặt, 1 là ta sẽ chọn install new theme, Và nhấn
vào nút Browse để tải file nén để cài đặt.
• Hoặc với cách 2, ta sẽ giải nén file đó và đặt file đã được giải
nén vào đường dẫn sau: drupal 7.xthemes.
Kết Nối Cơ Sở Dữ Liệu
• Drupal xác định được CSDL, tài khoản và mật khẩu của người
dùng khi thiết lập kết nối bằng cách phân tích file settings.php.
nằm trong thư mục sites/default. Dòng thông tin định nghĩa
kết nối tới CSDL có dạng: $db_url=
'mysql://username:password@localhost/databasename';
• Phương thức định nghĩa kết nối là mysql hoặc pgsql phụ thuộc
vào CSDL được sử dụng là MySQL hay PostgreSQL.
• Một đoạn mã bên ngoài muốn truy cập vào CSDL của Drupal
sẽ phải gọi include_once(‘includes/bootstrap.inc’)sau đó gọi
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE) để tạo kết
nối, sau đó thực hiện truy vấn bằng hàm db_query().
Kết Nối Cơ Sở Dữ Liệu
Truy VấnĐơn Giản
• Drupal cung cấp hàm db_query() để thực thi một truy vấn tới
kết nối đang hoạt động. Những truy vấn được hỗ trợ bao gồm
SELECT, INSERT, UPDATE và DELETE.
• Ví dụ: Lấy tất cả các hàng của một trường từ bảng joke có vid
là số nguyên, có giá trị bằng $node->vid:
db_query('SELECT * FROM {joke} WHERE vid = %d', $node->vid);
Cách Viết Một Module
• Một module gồm hai file chính: một file.info và một
file.module.
• File dạng info sẽ chứa thông tin của module đó. File này bao
gồm các thành phần chính sau:
Name = <tên của module>
Description = <mô tả>
Core = 7.x
Cách Viết Một Module
• File.module là file quan trong nhất. Ở đây quyết định các thao
tác của module. File này được bắt đầu bằng <?php.
File module
• Ở đây ta demo một module đơn giản đó là xuất ra hello word:
• File.module của nó như sau:
• <?php
• function hello_menu() {
• return array(
• 'hello' => array(
• 'title' => 'Hello',
• 'page callback' => 'hello_page',
• 'access callback' => 'user_access',
• 'access arguments' => array('access content'),
• ),
• );
• }
•
• function hello_page() {
• return array(
• '#type' => 'markup',
• '#markup' => t('Hello.'),
• );
• }

More Related Content

PDF
Nội dung khóa học Nukeviet
DOCX
Kiến thức cần thiết làm việc
DOCX
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
PDF
Web301 slide 1
PPTX
Wp hoi-thao-phan-quyen
DOCX
Học Zend Framework - Khóa học lập trình Zend Framework
PPT
01 gioithieu
PDF
00 overview of_sql_server
Nội dung khóa học Nukeviet
Kiến thức cần thiết làm việc
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Web301 slide 1
Wp hoi-thao-phan-quyen
Học Zend Framework - Khóa học lập trình Zend Framework
01 gioithieu
00 overview of_sql_server

What's hot (10)

PDF
Web203 slide 5
PDF
tao module joomla 1.5
PPTX
JavaEE Basic_Chapter1: Introduce JavaEE
PPTX
The First 2015 Saigon WordPress Meetup
PDF
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
PDF
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
PDF
03 udpt php
PDF
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
PPTX
Mysql Workbench hướng dẫn cài đặt - Video tiếng Việt
PPT
08 web course php ket noi csdl
Web203 slide 5
tao module joomla 1.5
JavaEE Basic_Chapter1: Introduce JavaEE
The First 2015 Saigon WordPress Meetup
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
03 udpt php
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Mysql Workbench hướng dẫn cài đặt - Video tiếng Việt
08 web course php ket noi csdl
Ad

Similar to Drupal framework xanh (20)

DOC
Bao cao web cake php
PDF
Slide 01-Web Application Overview (1).pdf
PDF
Gt he quan_tri_csdl_ms_sql_server
PDF
Qt he co so du lieu
PDF
02 phan-thai-trung-drupal
DOC
Tutoria mvc framework
PDF
V1_CSDL_Chương 1 - Khái niệm lý thuyết căn bản về cơ sở dữ liệu.pdf
PPT
Hanoi php day 2008 - 02. phan thai trung - drupal
PDF
Bài 2 - Công nghệ ADO.NET với C#
PDF
PDF
01-Gioithieu.pdf
PPT
bai giang mon sql- buoi 1.ppt
PDF
Hỏi tình hình bk tiny bktiny-hdsd
PDF
Kentcources 110109221507-phpapp01
PPTX
Tran thikimthao k37103014_wordpress
PDF
Web203 slide 8
PDF
My sql.storage engine
PPTX
Chude03_nhom11
PPTX
Chude03 nhom11
Bao cao web cake php
Slide 01-Web Application Overview (1).pdf
Gt he quan_tri_csdl_ms_sql_server
Qt he co so du lieu
02 phan-thai-trung-drupal
Tutoria mvc framework
V1_CSDL_Chương 1 - Khái niệm lý thuyết căn bản về cơ sở dữ liệu.pdf
Hanoi php day 2008 - 02. phan thai trung - drupal
Bài 2 - Công nghệ ADO.NET với C#
01-Gioithieu.pdf
bai giang mon sql- buoi 1.ppt
Hỏi tình hình bk tiny bktiny-hdsd
Kentcources 110109221507-phpapp01
Tran thikimthao k37103014_wordpress
Web203 slide 8
My sql.storage engine
Chude03_nhom11
Chude03 nhom11
Ad

Drupal framework xanh

  • 1. Drupal Framework Sinh viên : Nguyễn Văn Xanh MSSV: 1011440
  • 2. Nội Dung Trình Bày • 1. Giới Thiệu Drupal Framework • 2. Hệ Thống Tập Tin Và Thư Mục Trong Drupal • 3. Kiến Trúc Drupal • 4. Các Khái Niệm Cơ Bản • 5. Xây Dựng Giao Diện Và Kết Nối Cơ Sở Dữ Liệu • 6. Cách Viết Một Module
  • 3. Giới Thiệu Drupal Framework • Drupal là phần mềm phát triển theo hướng mô – đun, một hệ thống quản trị miễn phí và mã nguồn mở • Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành và quản lý hệ thống. • Drupal chạy được trên nhiều môi trường khác nhau, bao gồm Windows, Mac OS X, linus, FreeBSD, và các môi trường hỗ trợ máy phục vụ Web Apache( phiên bản 1.3+) hoặc IIS( phiên bản 4.3.3+). • Drupal kết nối với cơ sở dữ liệu MySQL hoặc PostgreSQL để lưu nội dung và các thiết lập.
  • 5. HệThốngTậpTinVàThưMụcTrongDrupal • Thư mục includes chứa thư viện các hàm thường dùng. • Thư mục misc lưu trữ các biểu tưởng và hình ảnh dùng cho Javascript và một số tài nguyên khác. • Thư mục profiles chứa các profile khác nhau dùng cho cài đặt và thiết lập Drupal.
  • 6. HệThốngTậpTinVàThưMụcTrongDrupal • Thư mục scripts chứa các tập lệnh dùng để phân tích cú pháp, dọn dẹp mã nguồn và xử lý các tác vụ đặc biệt với cron. Những tập lệnh tiện ích này được viết bằng ngôn ngữ shell và Perl. • Thư mục themes chứa các công cụ tạo khuôn mẫu và giao diện mặc định cho Drupal. • Thư mục sites chứa các thay đổi đối với Drupal dưới dạng thiết lập, module và giao diện. Các module được thêm vào sẽ nằm trong sites/all/modules. Trong thư mục sites có thư mục được đặt tên là default chứa các thiết lập mặc định cho hệ thống Drupal, được ghi lại trong file settings.php.
  • 7. HệThốngTậpTinVàThưMụcTrongDrupal • Dưới đây là cấu trúc bên trong thư mục sites
  • 8. Kiến Trúc Drupal • Kiến Trúc Module • Cơ Chế Hook
  • 9. Kiến Trúc Module • Module là một bộ gồm mã PHP và các file hỗ trợ sử dụng API và kiến trúc của Drupal tích hợp các thành phần mới vào trong framework của Drupal. • Cơ chế module của Drupal được thiết kế để cung cấp một cách thức đồng nhất giúp người phát triển mở rộng khả năng của hệ thống. • Để một module sử dụng được thì nó phải được bật bởi người quản trị trang web. Drupal sẽ chuyển các yêu cầu của người dùng đến module đó nếu cần thiết.
  • 10. Cơ Chế Hook • Cơ chế hook là một khái niệm rất quan trọng trong việc phát triển module cho Drupal. Cơ chế này giúp Drupal biết được phải gọi module nào khi xử lý các yêu cầu khác nhau từ người dùng • Một yêu cầu của người dùng sẽ được Drupal xử lý qua một chuỗi các bước khác nhau. Đầu tiên, phần lõi khởi động ứng dụng, định nghĩa các các biến và các hàm thường dùng. Tiếp theo, hệ thống sẽ nạp các thư viện, giao diện và module cần thiết và ánh xạ URI được yêu cầu tới đoạn mã điều khiển tương ứng. Sau đó, dữ liệu sẽ được định dạng và đặt vào giao diện để đưa ra trình duyệt của người dùng.
  • 11. Cơ Chế Hook • Trong một thời điểm xác định trước, Drupal thực thi các hook. Hệ thống sẽ dựa vào hook để kiểm tra một số hoặc tất cả các module đang được bật, tìm kiếm các hàm theo khuôn mẫu được định nghĩa trước. Một số mẫu liên kết quá trình này với phương thức "callback" thường được sử dụng trong mô hình xử lý sự kiện. Cơ chế hook cũng tương tự như thế.
  • 12. Các Khái Niệm Cơ Bản: • Node • User • Block • Menu • Form
  • 13. Node • Node là một mẫu nội dung dạng văn bản tổng quát trong Drupal được gọi bằng thuật ngữ. Một node, hiểu theo cách của Drupal, là một đối tượng tổng quát dùng để biểu diễn nội dung dạng văn bản. Tuy nhiên, với khả năng tùy biến của Drupal, người phát triển có thể tạo ra các module mở rộng khả năng trình bày của node để có thể hiển thị các nội dung ngoài văn bản thuần túy, như hình ảnh, video hay các file âm thanh.
  • 14. User • Một kiểu đối tượng quan trọng khác trong Drupal là đối tượng User. Giống như comment và node, dữ liệu người dùng cũng được lưu trữ trong cơ sở dữ liệu và được lấy ra trong quá trình xử lý. Thông tin về người dùng được sử dụng trong việc xác thực, định nghĩa các thiết lập cá nhân và quyền hạn, và tạo các bản log.
  • 15. Block • Một khái niệm quan trọng trong Drupal là Khối (block). Nếu một node được sử dụng để lưu trữ và trình bày các bài viết và mẫu tin lớn thì khối được dùng để biểu diễn các nội dung nhỏ hơn. Ví dụ, menu điều hướng, đoạn trích dẫn, khung bầu chọn hay ô tìm kiếm thường được thể hiện dưới dạng các khối.
  • 16. Menu • Một khái niệm liên quan chặt chẽ đến khối là menu. Drupal có một hệ thống menu phức tạp được sử dụng với mục đích chính là xây dựng điều hướng cho trang web. • Hệ thống này còn thực hiện chức năng như một công cụ dùng để ánh xạ các URL tới chương trình điều khiển riêng. Bằng cách sử dụng API menu, người phát triển có thể liên kết các đường dẫn tới hàm định nghĩa trước.
  • 17. Form • Cách chủ yếu để đưa thông tin, nội dung lên Web là thông qua các form HTML.
  • 18. XâyDựng GiaoDiện • Giao diện bao gồm một bộ tài nguyên bao gồm các mẫu PHP, CSS, Javascript và hình ảnh, tạo nên bố cục và cách trình bày cho nội dung trong Drupal. • Để xây dựng một giao diện mới, ta đăng nhập vào admin (quyền cao nhất), sau đó nhấp vào Appearance:
  • 19. XâyDựng GiaoDiện • Có 2 cách cài đặt, 1 là ta sẽ chọn install new theme, Và nhấn vào nút Browse để tải file nén để cài đặt. • Hoặc với cách 2, ta sẽ giải nén file đó và đặt file đã được giải nén vào đường dẫn sau: drupal 7.xthemes.
  • 20. Kết Nối Cơ Sở Dữ Liệu • Drupal xác định được CSDL, tài khoản và mật khẩu của người dùng khi thiết lập kết nối bằng cách phân tích file settings.php. nằm trong thư mục sites/default. Dòng thông tin định nghĩa kết nối tới CSDL có dạng: $db_url= 'mysql://username:password@localhost/databasename'; • Phương thức định nghĩa kết nối là mysql hoặc pgsql phụ thuộc vào CSDL được sử dụng là MySQL hay PostgreSQL. • Một đoạn mã bên ngoài muốn truy cập vào CSDL của Drupal sẽ phải gọi include_once(‘includes/bootstrap.inc’)sau đó gọi drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE) để tạo kết nối, sau đó thực hiện truy vấn bằng hàm db_query().
  • 21. Kết Nối Cơ Sở Dữ Liệu
  • 22. Truy VấnĐơn Giản • Drupal cung cấp hàm db_query() để thực thi một truy vấn tới kết nối đang hoạt động. Những truy vấn được hỗ trợ bao gồm SELECT, INSERT, UPDATE và DELETE. • Ví dụ: Lấy tất cả các hàng của một trường từ bảng joke có vid là số nguyên, có giá trị bằng $node->vid: db_query('SELECT * FROM {joke} WHERE vid = %d', $node->vid);
  • 23. Cách Viết Một Module • Một module gồm hai file chính: một file.info và một file.module. • File dạng info sẽ chứa thông tin của module đó. File này bao gồm các thành phần chính sau: Name = <tên của module> Description = <mô tả> Core = 7.x
  • 24. Cách Viết Một Module • File.module là file quan trong nhất. Ở đây quyết định các thao tác của module. File này được bắt đầu bằng <?php.
  • 25. File module • Ở đây ta demo một module đơn giản đó là xuất ra hello word: • File.module của nó như sau: • <?php • function hello_menu() { • return array( • 'hello' => array( • 'title' => 'Hello', • 'page callback' => 'hello_page', • 'access callback' => 'user_access', • 'access arguments' => array('access content'), • ), • ); • } • • function hello_page() { • return array( • '#type' => 'markup', • '#markup' => t('Hello.'), • ); • }