Thiết kế web Drupal là một khung sườn phát triển web hướng module, một hệ thống quản trị nội dung (CMS) miễn phí và mã nguồn mở.
Hướng dẫn sử dụng Drupal(lí thuyết +Code)
1-Giới thiệu về Drupal Drupal là gì:
Cũng giống như các hệ thống quản trị nội dung khác, 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.
1.2 Drupal có thể làm gì:
Với Drupal cùng với các module cộng thêm của nó, chúng ta có thể xây dựng nhiều ứng dụng mà không cần phải bỏ ra nhiều thời gian để phát triển, các hướng ứng dụng có thể phát triển dựa trên Drupal như:
- Hướng cá nhân/ tổ chức: Blog, Calendar, Dicussing forum,…
- Hướng cộng đồng: Multi blog site, Organic Groups, Voting,…
- Hướng doanh nghiệp: Webservice, Brochure, Newsletter, News site,…
1.3 Điểm mạnh của drupal
Drupal được xây dựng với mục đích giúp người quản lý Web dễ quản trị hệ thống Web trên Internet một cách hữu hiệu. Phần này thì cũng giống như các phần mô hình quản trị khác như Joomla, Greeklog, Mambo, PHP-Nuke, Post-Nuke, Siteframe, phpWCMS, .... Điểm khác biệt giữa mô hình Drupal so với các mô hình khác là Drupal phát triển dựa trên nền tảng modules (mô đun), mà trong đó mỗi module được một người hay một nhóm người phát triển riêng biệt, sau đó các modules này được kết nối lại thông qua các qui ước thông số được định sẵn để hình thành một mô hình rộng lớn có nhiều chức năng hơn. Các modules này được tháo gỡ ra khỏi phần lõi Drupal hoặc chúng nâng cấp cũng khá dễ dàng. Chính vì Drupal phát triển dựa trên khái niệm module, mà mô hình Drupal càng ngày càng phát triển và có nhiều chức năng hơn so với các mô hình khác. Mỗi module có một hoặc nhiều chức năng riêng với cấu hình cục bộ (cục bộ bên trong module đó) riêng. Hiện nay có trên cả hàng trăm modules. Ví dụ như module có tên Search - dùng để tìm kiếm, tên Whois - dùng để tìm thông tin về một tên miền (domain name), tên Image - dùng để xem hình, tên fckeditor - dùng để viết bài (giống Microsoft Word), tên webform - dùng để tạo các trang web có truy vấn, và vân vân. Người quản lý hay một lập trình viên có thể kết nối những modules này lại để chúng làm việc tương tác qua lại các modules liên hệ khác để hình thành một ứng dụng lớn. Đây chính là điểm mạnh của Drupal so với các mô hình khác hiện nay! Drupal còn đi xa hơn nữa, là giúp các nhà phát triển và tạo trang web site chuyên nghiệp một cách nhanh chóng và rất hiệu quả.
1.4 Ưu và nhược điểm
Ưu điểm:
- Dễ dàng xây dựng nhiều ứng dụng
- Sử dụng cơ chế HOOK
Nhược điểm:
- Không tương thích ngược
2 -CÀI ĐẶT DRUPAL
Vào trang http://drupal.org bản 6.6
Link: http://ftp.drupal.org/files/projects/drupal-6.6.tar.gz
- Cài đặt Apache
- Copy phần download drupal vào thư mục AppServ/www/drupal
- Vào IE or Firefox : http://localhost/drupal
- Tiến hành cài đặt
- Nếu gặp lỗi trong quá trinh cài đặt về bộ nhớ, tìm php.ini trong C:\windows-> php.ini ,Ctrl+F search memory,sửa lại memory_limit >= 16M .Sau đó Restart lại PC
->Install Drupal English

- Vào thư mục\AppServ\www\drupal\sites\default copy default.settings.php và sửa thành settings.php

Tạo Database cho site: cần vào Mysql tạo Database trước

Tạo user cho trang web

- Như vậy là cài đặt xong Drupal
Bạn nào quan tâm thì mình sẽ pót bài hướng dẫn xây dựng Module = cách viết code
Code
Vấn đề sử dụng giao diện và tính năng của Drupal các bạn down file này về ngâm cứu nghen.:D
HuongDanSuDUngDrupal6.2.pdf
Mình thấy cách sử dụng thì cũng khá giống với những CMS khác như là Joomla.
Drupal hỗ trợ rất nhiều module muốn down thì vào trang http://drupal.org .Mình thấy Drupal hỗ trợ khá tốt về Blog
Các module quan trọng:
CCK( Content Construction Kit):
CCK giúp mở rộng kiểu nội dung mà không cần code.
3.3.2Views:
Views là một bộ lọc có vai trò lọc và trình bày nội dung.
Qua đó, thấy vai trò của Views gồm hai phần đó là lọc và trình bày nội dung.
• Lọc nội dung: View giúp lọc các kiểu nội dung cần theo một số điều kiện bạn đặt ra. Ví dụ, chúng ta cần lấy ra 6 bài viết mới nhất hoặc lấy ra các bài viết thuộc chủ đề “tin thế giới’. Đó là vai trò chính của Views. Views giúp chúng ta lấy ra các nội dung mà chúng ta cần.
• Hiển thị nội dung: Sau khi lọc các nội dung ra có được danh sách các nội dung chúng ta cần hiển thị. Tuy nhiên, chúng ta muốn trình bày các kiểu nội dung này theo các cách khác nhau. Ví dụ chúng ta muốn trình bày dạng bảng các nội dung, hoặc danh sách các nội dung. Ngoài ra để tạo hiệu ứng đẹp chúng ta có thể trình bày theo kiểu slide nghĩa là cứ mấy giây lại có một nội dung xuất hiện thay thế nội dung đã trình bày. Qua đó, chúng ta thấy được vai trò thứ hai của Views là trình bày các nội dung đã lọc ra được.
3.3.3Panesl:
• Panels giúp chia nhỏ phần nội dung thành các vùng nhỏ hơn
• Drupal trình bày giao diện thành các vùng để chứa các block - block là các phần nội dung. Thường thì một theme của drupal có một số vùng cơ bản: header, footer, content, sidebar left, sidebar right. Các vùng này bao quanh vùng nội dung. Ngoài ra, chúng ta có thể thêm nhiều vùng vào theme tùy ý đó chính là sự uyển chuyển của Drupal. Tuy nhiên chúng ta thấy như các trang báo họ chia vùng nôi dung (vùng content) thành các phần nhỏ hơn để tiện trình bày. Ví dụ họ chia vùng content thành cột trên đầu chứa tin nóng, hai cột hai bên chứa các block có các bài viết được phân loại. Việc chia này giống như chúng ta sử dụng layout trong Word vậy. Layout giúp chúng ta trình bầy nội dung dạng cột báo thì Panels cũng làm nhiệm vụ này cho phần nội dung(vùng content) của theme. Panels giúp chia phần nội dung thành các phần nhỏ hơn và trên mỗi phần đó chứa các block nội dung của chúng ta.
Tóm lại: Các khái niệm ta cần nhớ qua bài viết này:
• CCK giúp ta mở rộng kiểu nội dung mà không cần viết code
• Views giúp ta lọc và trình bày các nội dung mà không cần code
• Panels giúp ta chia phần nội dung thành các vùng bé hơn cũng không cần code
• Nhờ CCK, Views, Panels ta có thể làm gần như mọi thứ mà không phải viết code
Bắt đầu với Drupal như thế nào?
1. HOOK
+ Hook được xem như là các event bên trong bộ nhân Drupal.
+ Chúng được gọi là các hàm callbacks.
+ Ví dụ : khi một user login vào drupal, Drupal sẽ phát ra hook user, nghĩa là lúc này tất cả các hàm hook user có trong tất cả các moudle sẽ được gọi.
+ Đây là cách phổ biến nhất để tương tác với nhân Drupal.
2. NODE
+ Các kiểu nội dung trong Drupal đều kế thừa từ kiểu cơ bản là node.
+ Ví dụ : blog entry, post, page, recipe… tất cả đều có cùng cấu trúc bên dưới giống nhau là node.
+ Cách tương tác với node là mở rộng chúng.
+ Ví dụ : các developer có thể thêm vào các node như : comment, file attachment, rate…
+ Bất kỳ node nào cũng có thể được đưa ra frontpage (trang chủ).
MODULE:
_ Được thiết kế để cung cấp một phương thức mở rộng tiềm năng của Drupal
_ Là một gói mã PHP sử dụng APIs và kiến trúc của Drupal để tạo ra những thành phần mới
_ Mỗi module được chứa trong thư mục riêng của nó, bao gồm:
+ *.info: miêu tả nội dung của module
+*.install: tạo table
+ *.module: code
Và các file hỗ trợ khác
+ Module trong Drupal được xây dựng theo hướng modular và extensbile. Nghĩa là các người lập trình sẽ phát triển mà không thay đổi bộ nhân drupal.
+ Nếu ko thay đổi code của nhân Drupal thì làm sao tương tác với nó? Chúng ta sẽ tương tác bằng cách mở rộng thêm thông qua xử lý các event do nhân Drupal phát ra (hook).
+ Các bước để xây dựng 1 module :
- Tạo 1 folder lưu trữ các file của module(C:\AppServ\www\drupal\sites\all\modules\dem o).modules:tao 1 foder để chứa module. demo:là tên foder module chứa 3 file .info,.intall,.module
- Tạo 1 file ten_module.info : để báo cho drupal biết thông tin về module của mình.
Khi tạo 3 file file .info,.intall,.module bạn cần phải ghi đúng với foder chứa nó.Ví dụ trên là :demo.info,demo.install,demo.module
Nội dung file *.info :thông tin của module
Nội dung file *.info :Tạo các table cho datbase
Nội dung file *.module :xử lí code
Sau đây là 1 ví dụ đơn giản .Kết quả là tạo 1 menu có tên Form Example và page của nó sẽ show chữ Hello
Vấn đề căn bản của Drupal là khi viết code cho menu thì drupal sử dụng cơ chế hook là hàm Callback để giải quyết.Khi tạo được 1 menu thì drupal sẽ tạo ra 1 trang rỗng và ta viết code sử lí dữ liệu cho trang đó
Code file demo.info:
<?
; $Id$
name = demo
description = Demo module
core = 6.x
version = 1.0
?>
+ Name: tên chính thức của module, ảnh hưởng trực tiếp đến những hàm kết nối với hệ thống.
+ Description: giới thiệu ngắn gọn về các chức năng của module, được trình bày ở trang điều hành module.
+ Version: mã số phiên bản của module.
File demo.install: vì chưa tạo thêm table nên không sử dụng file này
Codefile: demo.module:
<?
function demo_menu() {
$items['example'] = array(
'title' => t('Form Example'),
'page callback' => 'demo_vd',
'access callback' => TRUE
);
return $items;
}
function demo_vd(){
return t('Heloo');
}
?>
Lần sau mình sẽ giải thích rõ hơn về code và các hàm cũng như viết file íntall như thế nào
Vấn đề sử dụng giao diện và tính năng của Drupal các bạn down file này về ngâm cứu nghen.:D
HuongDanSuDUngDrupal6.2.pdf
Mình thấy cách sử dụng thì cũng khá giống với những CMS khác như là Joomla.
Drupal hỗ trợ rất nhiều module muốn down thì vào trang http://drupal.org .Mình thấy Drupal hỗ trợ khá tốt về Blog
Các module quan trọng:
CCK( Content Construction Kit):
CCK giúp mở rộng kiểu nội dung mà không cần code.
3.3.2Views:
Views là một bộ lọc có vai trò lọc và trình bày nội dung.
Qua đó, thấy vai trò của Views gồm hai phần đó là lọc và trình bày nội dung.
• Lọc nội dung: View giúp lọc các kiểu nội dung cần theo một số điều kiện bạn đặt ra. Ví dụ, chúng ta cần lấy ra 6 bài viết mới nhất hoặc lấy ra các bài viết thuộc chủ đề “tin thế giới’. Đó là vai trò chính của Views. Views giúp chúng ta lấy ra các nội dung mà chúng ta cần.
• Hiển thị nội dung: Sau khi lọc các nội dung ra có được danh sách các nội dung chúng ta cần hiển thị. Tuy nhiên, chúng ta muốn trình bày các kiểu nội dung này theo các cách khác nhau. Ví dụ chúng ta muốn trình bày dạng bảng các nội dung, hoặc danh sách các nội dung. Ngoài ra để tạo hiệu ứng đẹp chúng ta có thể trình bày theo kiểu slide nghĩa là cứ mấy giây lại có một nội dung xuất hiện thay thế nội dung đã trình bày. Qua đó, chúng ta thấy được vai trò thứ hai của Views là trình bày các nội dung đã lọc ra được.
3.3.3Panesl:
• Panels giúp chia nhỏ phần nội dung thành các vùng nhỏ hơn
• Drupal trình bày giao diện thành các vùng để chứa các block - block là các phần nội dung. Thường thì một theme của drupal có một số vùng cơ bản: header, footer, content, sidebar left, sidebar right. Các vùng này bao quanh vùng nội dung. Ngoài ra, chúng ta có thể thêm nhiều vùng vào theme tùy ý đó chính là sự uyển chuyển của Drupal. Tuy nhiên chúng ta thấy như các trang báo họ chia vùng nôi dung (vùng content) thành các phần nhỏ hơn để tiện trình bày. Ví dụ họ chia vùng content thành cột trên đầu chứa tin nóng, hai cột hai bên chứa các block có các bài viết được phân loại. Việc chia này giống như chúng ta sử dụng layout trong Word vậy. Layout giúp chúng ta trình bầy nội dung dạng cột báo thì Panels cũng làm nhiệm vụ này cho phần nội dung(vùng content) của theme. Panels giúp chia phần nội dung thành các phần nhỏ hơn và trên mỗi phần đó chứa các block nội dung của chúng ta.
Tóm lại: Các khái niệm ta cần nhớ qua bài viết này:
• CCK giúp ta mở rộng kiểu nội dung mà không cần viết code
• Views giúp ta lọc và trình bày các nội dung mà không cần code
• Panels giúp ta chia phần nội dung thành các vùng bé hơn cũng không cần code
• Nhờ CCK, Views, Panels ta có thể làm gần như mọi thứ mà không phải viết code
Bắt đầu với Drupal như thế nào?
1. HOOK
+ Hook được xem như là các event bên trong bộ nhân Drupal.
+ Chúng được gọi là các hàm callbacks.
+ Ví dụ : khi một user login vào drupal, Drupal sẽ phát ra hook user, nghĩa là lúc này tất cả các hàm hook user có trong tất cả các moudle sẽ được gọi.
+ Đây là cách phổ biến nhất để tương tác với nhân Drupal.
2. NODE
+ Các kiểu nội dung trong Drupal đều kế thừa từ kiểu cơ bản là node.
+ Ví dụ : blog entry, post, page, recipe… tất cả đều có cùng cấu trúc bên dưới giống nhau là node.
+ Cách tương tác với node là mở rộng chúng.
+ Ví dụ : các developer có thể thêm vào các node như : comment, file attachment, rate…
+ Bất kỳ node nào cũng có thể được đưa ra frontpage (trang chủ).
MODULE:
_ Được thiết kế để cung cấp một phương thức mở rộng tiềm năng của Drupal
_ Là một gói mã PHP sử dụng APIs và kiến trúc của Drupal để tạo ra những thành phần mới
_ Mỗi module được chứa trong thư mục riêng của nó, bao gồm:
+ *.info: miêu tả nội dung của module
+*.install: tạo table
+ *.module: code
Và các file hỗ trợ khác
+ Module trong Drupal được xây dựng theo hướng modular và extensbile. Nghĩa là các người lập trình sẽ phát triển mà không thay đổi bộ nhân drupal.
+ Nếu ko thay đổi code của nhân Drupal thì làm sao tương tác với nó? Chúng ta sẽ tương tác bằng cách mở rộng thêm thông qua xử lý các event do nhân Drupal phát ra (hook).
+ Các bước để xây dựng 1 module :
- Tạo 1 folder lưu trữ các file của module(C:\AppServ\www\drupal\sites\all\modules\dem o).modules:tao 1 foder để chứa module. demo:là tên foder module chứa 3 file .info,.intall,.module
- Tạo 1 file ten_module.info : để báo cho drupal biết thông tin về module của mình.
Khi tạo 3 file file .info,.intall,.module bạn cần phải ghi đúng với foder chứa nó.Ví dụ trên là :demo.info,demo.install,demo.module
Nội dung file *.info :thông tin của module
Nội dung file *.info :Tạo các table cho datbase
Nội dung file *.module :xử lí code
Sau đây là 1 ví dụ đơn giản .Kết quả là tạo 1 menu có tên Form Example và page của nó sẽ show chữ Hello
Vấn đề căn bản của Drupal là khi viết code cho menu thì drupal sử dụng cơ chế hook là hàm Callback để giải quyết.Khi tạo được 1 menu thì drupal sẽ tạo ra 1 trang rỗng và ta viết code sử lí dữ liệu cho trang đó
Code file demo.info:
<?
; $Id$
name = demo
description = Demo module
core = 6.x
version = 1.0
?>
+ Name: tên chính thức của module, ảnh hưởng trực tiếp đến những hàm kết nối với hệ thống.
+ Description: giới thiệu ngắn gọn về các chức năng của module, được trình bày ở trang điều hành module.
+ Version: mã số phiên bản của module.
File demo.install: vì chưa tạo thêm table nên không sử dụng file này
Codefile: demo.module:
<?
function demo_menu() {
$items['example'] = array(
'title' => t('Form Example'),
'page callback' => 'demo_vd',
'access callback' => TRUE
);
return $items;
}
function demo_vd(){
return t('Heloo');
}
?>
Lần sau mình sẽ giải thích rõ hơn về code và các hàm cũng như viết file íntall như thế nào
0 nhận xét :
Đăng nhận xét