1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal

47 6 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

Định dạng
Số trang 47
Dung lượng 2,25 MB

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

Nội dung

Trong đã, hệ quản trị nội dung Content Management System - CMS là xu hướng để x©y dựng c¸c web site cã c¸c chức năng kh¸c nhau với c¸c nghiệp vụ xử lý kh¸c nhau, như ứng dụng mạng x· hộ

Trang 1

Trường Đại học Vinh Khoa công nghệ thông tin

-  -

đồ án tốt nghiệp đại học

ngành tin học

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG BẰNG

CễNG CỤ MÃ NGUỒN MỞ DRUPAL

Giỏo viờn hướng dẫn: Th.S TRẦN XUÂN HÀO Sinh viờn thực hiện : ĐINH TIẾN THĂNG Lớp : 46K1 - CNTT

Vinh - 05/2010

Trang 2

LỜI NãI ĐẦU

PHP đ· trở thµnh ng«n ngữ web số một hiện nay với số lượng website khổng lồ của nã trªn internet, từ c¸c ứng dụng cỡ lớn như Portal, thương mại điện tử, mạng x· hội, diễn đàn, giải trÝ Với c¸c hệ thống cã lượng truy cập khổng lồ như Yahoo, Facebook, Wikipedia…C¸c ứng dụng web ngày nay đa dạng về chức năng cũng như yªu cầu khắt khe về hệ thống, đặc biệt

sự xuất hiện và ph¸t triển của c¸c hệ thống m· nguồn më tạo xu hướng ph¸t triển web Trong

đã, hệ quản trị nội dung (Content Management System - CMS) là xu hướng để x©y dựng c¸c web site cã c¸c chức năng kh¸c nhau với c¸c nghiệp vụ xử lý kh¸c nhau, như ứng dụng mạng x· hội, quản lý tài nguyªn, blog…

Với số lượng rất lớn c¸c hệ thống như vậy, việc chọn nền tảng để ph¸t triển ứng dụng đßi hỏi rất kỹ lưỡng, đặt ra nhiều tiªu chÝ: khả năng thực thi của hệ thống, khả năng ph¸t triển,

mở rộng, bảo mật v.v… Trªn nền web, c¸c hệ thống CMS phổ biến nhất được đ¸nh gi¸ cao trªn nhiều tiªu chÝ đã là Drupal ( www.drupal.org ), Joomla! ( www.joomla.org ), DotNetNuke ( www.dotnetnuke.com ),…C¸c framework như Zend ( www.zend.com/framework ), Symfony ( www.symfony-project.com )

Drupal là CMS được đ¸nh gi¸ cao trªn nhiều tiªu chÝ và nhiều năm dẫn đầu trong b×nh chọn Opensouce CMS xuất sắc nhất, với số lượng người ph¸t triển và một cộng đồng lớn với hàng ngàn lập tr×nh viªn và c«ng ty ph¸t triển ứng dụng Với tÝnh năng mạnh mẻ, linh hoạt và cấu tróc th«ng minh, Drupal là nền tảng tốt để x©y dựng c¸c website hiện nay

Đồ ¸n “Drupal trong x©y dựng Website b¸n điện thoại di động” , trªn cơ sở nghiªn

cứu, trao dồi hiểu biết cïng với sự hướng dẫn, gióp đỡ hết sức tận t×nh của thầy c« trong tổ Khoa học m¸y tÝnh đặc biệt của thầy Th.S Trần Xu©n Hào- Khoa c«ng nghệ th«ng tin- trường Đại học Vinh đ· gióp t«i nghiªn cứu Drupal và x©y dựng hoàn thành việc ứng dụng Drupal trong website b¸n điện thoại di động này

Cuối cïng một lần nữa, t«i xin ch©n thành cảm ơn sự hướng dẫn tận t×nh của thầy Th.S Trần Xu©n Hào cïng sự gióp đỡ, gãp ý của c¸c thầy, c¸c c« trong tổ Khoa học m¸y tÝnh Mặc

dï đ· hết søc cố gắng nhng vẫn cã nhiều thiếu sãt mong cã sự đãng gãp ý kiến của c¸c thầy, c« gi¸o và c¸c bạn để hệ thống ngày càng hoàn thiện hơn

Xin ch©n thành cảm ơn!

Vinh, th¸ng 05 năm 2010

Trang 3

Chư¬ng 1

HỆ THỐNG QUẢN TRỊ NỘI DUNG DRUPAL

1.1 Tổng quan về Drupal

1.1.1 Kh¸i niệm hệ quản trị nội dung (Content management system - CMS)

Trước khi t×m hiểu về drupal, chóng ta nãi sơ lược về hệ quản trị nội dung Hệ quản trị nội dung hay CMS là phần mềm để tổ chức và tạo m«i trường cộng t¸c thuận lợi nhằm mục đÝch x©y dựng một hệ thống tài liệu và c¸c loại nội dung kh¸c một c¸ch thống nhất Trªn nền web gọi là web content management Hệ quản trị nội dung trở thành một xu hướng phổ biến trong việc x©y dựng c¸c ứng dụng web đa dạng hiện nay

Một số Opensource CMS phổ biến:

 Drupal (PHP) – Được đ¸nh gi¸ cao nhất hiện nay trªn c¸c tiªu chÝ ổn định (stable), bảo mật (security), khả năng thực thi (performent), linh hoạt (flexible development), tối ưu hãa bộ m¸y t×m kiếm (Search Engine Optimizer - SEO) …

‚Cần g× Drupal cã‛, Drupal cã cấu tróc lập tr×nh rất tinh vi, dựa trªn đã, hầu hết c¸c t¸c vụ phức tạp cã thể được giải quyết với rất Ýt đoạn m· được viết, thậm chÝ kh«ng cần hay nãi c¸ch kh¸c chỉ cần đạt mức ‚Sử dựng Drupal‛ mà vẫn x©y dựng được những website mạnh mẽ và nhanh chãng

Trang 4

Thấy được sức mạnh của Drupal và trước nhu cầu thực tế của thời đại ‚điện thoại‛: Kh¸ch hàng cã quyền lư¹ chọn c¸c điện thoại tốt nhất và nhanh nhất, c¸c phương thức kinh doanh truyền thống (b¸n trực tiếp tại cửa hàng) kh«ng đ¸p ứng được.C¸c Website b¸n điện thoại trực tuyến (thương mại điện tử) lần lượt được ra đời như http://thegioididong.com.vn,

cần lướt web, đặt mua thế là cã điện thoại m×nh ưng ý nhất

‚Website b¸n điện thoại di động‛ được xây dựng từ yªu cầu đã

1.1.3 Tổng qu¸t về hệ thống

Website cã đầy đủ c¸c chức năng của một website thương mai điện tử:

- Cho kh¸ch hàng duyệt, t×m kiếm c¸c sản phẩm và đặt mua

- Đăng kÝ làm kh¸ch hàng dài l©u

- Kh¸ch hàng cã quyền b×nh luận, đ¸nh gi¸ c¸c sản phẩm

Giao diện th©n thiện, gần gũi thuận tiện với khả năng điều hướng nội dung cao 1.1.4 Giới thiệu về Drupal

Drupal là một nền tảng ph¸t triển ứng dụng web (web platform), một hệ quản trị nội dung (Content Management System) m· nguồn mở và miễn phÝ được ph©n phối theo giấy phÐp của GNU (General Public License) Cũng giống như c¸c hệ thống quản trị nội dung hiện đại 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 Drupal cã cấu tróc lập tr×nh rất tinh vi, dựa trªn đã, hầu hết c¸c t¸c vụ phức tạp cã thể được giải quyết với rất Ýt đoạn m· được viết, thậm chÝ kh«ng cần Đ«i khi, Drupal cũng được gọi

là "khung sườn ph¸t triển ứng dụng web", v× kiến tróc th«ng minh và uyển chuyển của

nã Drupal được ứng dụng ph¸t triển c¸c hệ thống website kh¸c nhau, từ đơn giản đến c¸c website cã nghiệp vụ phức tạp

Drupal được chạy trªn rất nhiều m«i trường kh¸c nhau, bao gồm Windows, Mac

OS X, Linux, FreeBSD, OpenBSD 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 5+) cã hỗ trợ ng«n ngữ PHP (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

Trang 5

Cơ sở dữ liệu (Database)

M¸y chủ web (Web

server)

Hệ điều hành (Operating

System)

Drupal được ứng dụng tốt trªn hầu hết c¸c hoạt động t¸c vụ:

 Cổng th«ng tin cộng đồng (Community web portal)

 Website thảo luận (Discussion sites)

 Website c«ng ty (Corporate web sites)

 Ứng dụng nội bộ ( Intranet applications)

 Personal web sites or blogs

 Ứng dụng thương mại điện tử (E-commerce applications)

 Quản lý tài nguyªn (Resource directories)

Một số website tiªu biểu:

Drupal đã được sử dụng x©y dựng hàng ngàn website trªn thế giới, đa chức năng,

đa ng«n ngữ

- BBC Magazines (www.bbcmagazines.com)

Trang 6

- Website Nhà trắng www.WhiteHouse.gov

- Ubutu Linux www.ubuntu.com

- Chương tr×nh lương thực liªn hợp quốc (United Nations World Food Programme) www.wfp.org

- …

1.1.5 Kiến tróc của Dupal

Drupal được kiến tróc tu©n theo m« h×nh MVC (Model–view–controller) - MVC là một mẫu kiến tróc phần mềm trong kỹ thuật kỹ sư phần mềm Khi sử đóng c¸ch, mẫu MVC gióp cho người ph¸t triển phần mềm thành thạo c¸c nguyªn tắc, c¸c thao t¸c trong nghề nghiệp và giao diện người dïng một c¸ch râ ràng hơn Phần mềm ph¸t triển theo mẫu MVC tạo nhiều thuận lợi cho việc bảo tr× v× c¸c nguyªn tắc trong nghề nghiệp và giao diện Ýt liªn quan với nhau

Trong mẫu Model-View-Controller, m« h×nh (model) tượng trưng cho dữ liệu của chương tr×nh phần mềm Tầm nh×n hay khung nh×n (view) bao gồm c¸c thành phần của giao diện người dïng Bộ kiểm tra hay bộ điều chỉnh (controller) quản lý sự trao đổi giữa dữ liệu và c¸c nguyªn tắc nghề nghiệp trong c¸c thao t¸c liªn quan đến m« h×nh

Bộ lâi của Drupal (core)

Trang 7

( Sơ lược về phần lâi của Drupal )

Drupal core bao gồm c¸c phần m· xử lý hệ thống khởi động từ khi nhận yªu cầu (request), gọi c¸c thư viện, gọi c¸c module cung cấp c¸c chức năng xö lý và xuất bản nội dung

- Quản lý nội dung cơ bản

- Quản lý người dïng

- Quản lý phiªn

- Định danh URL (Uniform Resouce Locator)

- Địa phương hãa (Xö lý website đa ng«n ngữ)

1.2 C¸c thuật ngữ cơ bản của Drupal

1.2.1 Node

Trong drupal, node chÝnh là đơn vị dữ liệu cơ bản, hầu hết c¸c dữ liệu của drupal

là node, trừ user, comment, block

Một node giống như một bảng trong cơ sở dữ liệu quan hệ, nã gồm c¸c thành phần (c¸c trường)

Node trong Drupal cã c¸c thành phần ngầm định cã là ID, Title (tiªu đề), Body (nội dung) Node chỉ cã c¸c trường ngầm đÞnh được gọi là Node cơ bản

1.2.3 Content Type

Trang 8

C¸c Node được mở rộng từ Node cơ bản được gọi là kiểu nội dung, tức là ngoài c¸c trường ngầm định của Node cơ bản th× kiểu nội dung cßn được thªm c¸c trường kh¸c

VÝ dụ: kiểu néi dung cã tªn là ‚Điện thoại‛ ngoài c¸c trường ngầm định, cßn cã

thªm c¸c trường: Gi¸ b¸n, H·ng,Model, Th«ng số

1.2.4 Content

Content là nội dung của Content Type Một Content giống như 1 bản ghi trong

bảng quan hệ, bảng quan hệ lại giống như Content Type

- Block cã c¸c tïy chọn để điều khiển ai là người được quyền xem nã và những

trang mà nã sẽ xuất hiện

1.2.6 Menu

Một menu là 1 danh s¸ch c¸c liªn kết để người dïng truy cập nhanh

1.2.7 Module

Module là một nhãm những chức năng nhất định, gồm những thuộc tÝnh cơ bản:

+ 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

+ Display name: tªn gợi nhớ, được tr×nh bày ở trang điều hành module + 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

Trang 9

+ Dependencies: tªn của module mà module đang thiết kế yªu cầu tới (trong

trường hợp sử dụng hàm từ module kh¸c), nếu cã nhiều module th× c¸c module này c¸ch nhau bởi dấu phẩy Module kh«ng thể được kÝch hoạt nếu c¸c module được yªu cầu kh«ng tồn tại hoặc chưa được kÝch hoạt

+ Package: ph©n nhãm chức năng chứa đựng module

Một điểm hay của Drupal là cho phÐp người ph¸t triển module cã thể sử dụng lại những hàm đã được viết ở c¸c module kh¸c để x©y dựng module cho m×nh Module cã thể tự động ngưng hoạt động tạm thời để giảm tải cho m¸y chủ khi cã qu¸ nhiều truy cập bằng c¸ch bật module throttle (quản lý cơ chế tự động điều chế sự tắt nghẽn hệ thống) và chọn sử dụng chức năng điều tiết lưu lượng Chức năng tự động điều tiết cã thể được bật th«ng qua trang cấu h×nh throttle sau khi đã bật module throttle

Mỗi module phải xử lý được c¸c sự kiện hoặc định nghĩa c¸c sự kiện riªng của

nã Mỗi thao t¸c cần được ph©n quyền râ ràng Việc ph©n quyền này thuộc về người điều hành Mỗi thao t¸c cần cã một internal path (hay drupal path) nhất định

Th«ng tin được khai b¸o râ ràng qua tập tin info, điều đã sẽ làm cho người điều hành dễ quản lý Kh«ng cần quan t©m nhiều đến quyền hạn truy cập Module được t¸ch

ra một thư mục cụ thể để quản lý một c¸ch dễ dàng Ph¸t triển module kh«ng cần thay đổi phần nh©n của m· nguồn, khi nh©n cã lỗi bảo mật, việc cập nhật trở nªn dễ dàng Việc g¸n c¸c quyền truy cập với c¸c vai trß thuộc về người điều hành, người điều hành kh«ng bị ràng buộc bởi quyền truy cập nào Mỗi module cã thể định nghĩa cho riªng nã những quyền hạn truy cập kh¸c nhau

1.2.8 Hook

Hook cã thể hiểu là cơ chế xử lý sự kiện nội bộ trong hệ thống drupal, cßn được gọi là ‚callback‛, th«ng qua cơ chế hook, hệ thống drupal sẽ xử lý c¸c sự kiện tương ứng và module phải cài đặt hook để mở rộng hoặc nạp chồng c¸c xử lý

VÝ dụ: khi một nội dung (node) được gửi lªn hệ thống, th× c¸c sự kiện được ph¸t sinh:

hook_validate() : x¸c thực nội dung

hook_insert() (update, delete): xử lý sự kiện khi một node được thªm (sửa, xãa) hook_submit(): xử lý sau khi một node được xử lý thành c«ng

1.2.9 Taxonomy

Trang 10

Taxonomy là c¸ch để ph©n nhãm nội dung c¸c node trong drupal

VÝ dụ: kiểu nội dung tin_tøc cã thể được ph©n theo nhiều nhãm (taxonomy): Tin thị trường, tin thể thao, tin thế giới… Trong drupal mỗi taxonomy cã thể sử dụng cho nhiều kiểu nội dung kh¸c nhau; cã thể ph©n nhiều cấp; cã c¸c kiểu chọn: đơn, nhiều, hoặc theo thẻ…

1.2.10 Theme

Một theme ( giao diện ) bao gồm c¸c tệp xử lý giao diện ( css ), c¸c tệp kịch bản (

.js ), c¸c tệp template (.tpl.php) định dạng tr×nh bày c¸c kiểu nội dung cung cấp giao

diện cho website

1.3 Cài đặt và ph¸t triển Drupal

Khi đã copy thành c«ng, vào trang điều hành module (path_to_drupal

/admin/build/modules) để kÝch hoạt c¸c module h·y check vào c¸c module cần kÝch hoạt(trường hợp muốn th«i kÝch hoạt th× ta bỏ check).Nhấp chuột vào nót "Lưu c¸c thiết lập"

Trang 11

( KÝch hoạt Module hiện cã)

Việc uninstall một module chỉ cã thể được thực hiện nếu như: người ph¸t triển viết hàm uninstall cho module của họ + module cã lưu dữ liệu trong database C¸c module kh«ng sử dụng nªn xãa bỏ khỏi thư mục cài đặt drupal site

1.3.2 KÝch hoạt và cài đặt một theme

Sau khi đ· cã c¸c theme cần thiết, chóng ta cần copy theme của chóng ta vào đóng thư mục cài đặt drupal, cã 3 vị trÝ để đưa theme vào:

- path_to_drupal/themes/*******

- sites/your_domain_name/ themes/*******

- sites/all/ themes/********

Khi đã copy thành c«ng, vào trang điều hành themes (path_to_drupal

/admin/build/themes) để kÝch hoạt c¸c themes (check vào cột ‚bật‛) và thiết lập giao diện mặc định cho website (check vào cột ‚mặc định‛)

Trang 13

1.3.3 Module Views và CCK

a) Module CCK: Dïng để tạo kiểu nội dung mà kh«ng cần phải code Để tạo

kiểu nội dung, vào admin/content/types/add.Module CCK cung cấp 1 giao diện trực quan để thªm, sửa, xãa, định dạng và sắp xếp thứ tự xuất hiện c¸c trường.Kh«ng thể xãa c¸c trường ngầm định

(Form khai b¸o tạo kiểu nội dung)

Trang 14

(Giao diện quản lý c¸c trường của kiểu nội dung “Điện thoại”) Chó ý:

- ‚Type of data to store‛ là kiểu dữ liệu của trường trong cơ sở dữ liệu

-‚ Form elements to edit the data ‚ là kiểu hiển thị trường trong form thªm, sửa nội dung của kiểu nội dung này

Trang 15

- CCK chỉ cung cấp 1 số trường, muốn thªm c¸c trường th× cần phải cài và kÝch hoạt c¸c trường kh¸c (c¸c trường cũng là Module nhưng là module phụ thuộc vào module CCK)

CCK cung cấp form cấu h×nh sự hiển thị c¸c trường của kiểu nội dung ‚Điện thoại‛ trong 2 trường hợp nội dung (Node) theo kiểu tãm tắt (Teaser) hoặc đầy đủ (Full Node).C¸c trường kh«ng muốn hiển thị chỉ cần check Exclude

b) ModuleViews (phiªn bản 2.0- gọi tắt là views 2):cung cấp 1 giao diện trực

quan để người quản trị thªm, sửa và xãa c¸c view.Mỗi View cho phÐp lọc dữ liệu, tr×nh bày để hiển thị, mà người ph¸t triển kh«ng phải can thiệp trực tiếp vào dữ liệu hoặc viết code cho chương tr×nh

Trong 1 view cã thể định nghĩa nhiều view, mỗi view đều cã những cấu h×nh kh¸c nhau tïy thuộc vào người quản trị, để tr×nh những kết quả kh¸c nhau phï hợp với nhu cầu của thực tế

Để thªm 1 view ta vào trang admin/build/views/add

C¸c thuộc tÝnh của một View:

Trang 16

- Type: Views cã thể lấy nội dung từ nhiều kiểu nội dung kh¸c nhau Để định nghĩa một view, trước tiªn, chóng ta cần x¸c định, kiểu nội dung chóng ta cần lấy về là

- Display: Views cần biết được thuộc tÝnh Display của mỗi view để x¸c định vị trÝ

mà kết quả của view tương ứng được hiển thị Mỗi view cã thể cã nhiều display, mỗi display lại cã thể cã những thiết lập riªng để tuú chỉnh kết quả tr×nh bày Nãi vÒ Display, mặc định, Views cung cấp một số Display type được liệt kª như sau

+ Default display:Default display, là display chÝnh của mỗi view, được dïng để lưu trữ c¸c thiết lập của view Default display kh«ng thật sự được sử dụng ở bất kỳ nơi nào, ngoại trừ bªn trong hệ thống Views 2

+ Page display:Mỗi page display cã thiết lập path và c¸c tïy chọn thiết lập

về menu Khi tr×nh bày một view ở dạng page display, kết quả của view sẽ được tr×nh bày như nội dung chÝnh của một trang, nghĩa là, kết quả của view sẽ được tr×nh bày ở khu vực tr×nh bày nội dung chÝnh khi bạn truy cập vào URL ứng với path đã thiết lập cho page display

Page display, nếu cã c¸c thiết lập về argument, sẽ nạp vào nã c¸c argument từ URL Chóng ta cã thể nhóng c¸c argument vào URL bằng c¸ch sử dụng ký hiệu % ThÝ

dụ thiết lập URL của chóng ta là 'node/%/foo', ứng với trường hợp display/view tương ứng cã c¸c thiết lập về argument, khi đã, page display sẽ được sử dụng, khi người dïng truy cập vào URL 'node/1/foo', và tham số đầu tiªn sẽ là '1'

+ Block display:Nếu một view cã định nghĩa một/nhiều block display, nã đồng thời cũng sẽ định nghĩa c¸c block trong hệ thống Drupal với nội dung tương ứng với c¸c thiết lập của block display

Chó ý: block display kh«ng chấp nhận argument như c¸c dạng view display kh¸c Trong trường hợp, chóng ta cần sử dụng argument cho c¸c block display, để mở rộng khả năng tr×nh bày, chóng ta buộc phải truyền argument vào ở dạng argument mặc định; C¸ch thực hiện: cấu h×nh view tương ứng > chọn display tương ứng > xem mục Arguments > nhấp chän argument tương ứng > xem mục "Action to take if argument is not present" vừa hiện ra > chọn "Provide default argument" > xem mục "Default argument type" vừa hiện ra Nếu chọn "PHP Code" cã thể nhập đoạn PHP code tương tự như sau (kh«ng cần cặp thẻ đãng mở PHP):

Trang 17

+ Feed display: Feed display cho phÐp chóng ta đÝnh kÌm RSS feed vào một view

- Override:

Như đ· biết mỗi view cã thể cã một default display và cã thể định nghĩa thªm một hoặc nhiều c¸c display kh¸c, với c¸c dislay type tïy thÝch mà view cung cấp Theo mặc định, c¸c display, kh¸c default display, sẽ sử dụng c¸c thiết lập của default display cho việc tạo kết quả tr×nh bày của chóng Do đã, nếu chóng ta chỉnh sửa c¸c thiết lập của một display, th× c¸c display kh¸c ở cïng một view cũng sẽ bị ảnh hưởng Giải quyết trở ngại này, views 2 cã đưa ra khả năng "override", gióp cho c¸c display, ngoài việc sử dụng c¸c thiết lập từ default display, cã thể cã những thiết lập riªng cho nã, c¸c thiết lập này, nếu được chỉnh sửa, th× kh«ng ảnh hưởng đến c¸c display kh¸c ở cïng view

View ph¸t sinh ra kết quả, hệ thống style gióp chóng ta cã thể tuỳ chỉnh c¸ch tr×nh bày kết quả được ph¸t sinh đã Về cơ bản, mỗi output style là một khu«n

lý kết quả của view và xuất kết

Trang 18

trong Views 2 đều cã thể được qu¸ tải bằng c¸ch đặt bản c¸c bản sao chÐp của style tương ứng vào thư mục giao diện mà hệ thống đang sử dụng, sau đã, chỉnh sửa chóng Mỗi display của view cã cung cấp một mục "theme: information", nhấp chọn vào mục

đã, views 2 sẽ đề xuất cho chóng ta c¸c khu«n mẫu giao diện cã thể được sử dụng đÓ qu¸ tải lªn c¸c thành phần kết quả của view

C¸c output style được views 2 cung cấp sẵn:

 Grid: Tr×nh bày kết quả ở dạng «

 List: Tr×nh bày kết quả ở dạng danh s¸ch

 Table: Tr×nh kết quả ở dạng bảng

 Unformatted: Tr×nh bày kết quả ở đơn giản, mỗi dßng kết quả chỉ được bao quanh bởi cặp thẻ với một số DOM class, dựa vào c¸c class đơn giản này, quản trị viªn

cã thể sử dụng CSS để định dạng lại kết quả tr×nh bày

Trường hợp c¸c output style được cung cấp sẵn này kh«ng đ¸p ứng đủ nhu cầu thực tế, chóng ta cã thể x©y dựng module mở rộng views 2 để định nghĩa thªm c¸c output style kh¸c

- Field (trường dữ liệu)

Đối với một số output style, thÝ dụ table, chóng ta cần x¸c định cụ thể trường dữ liệu nào được tr×nh bày trong kết quả tr×nh bày Tïy thuộc vào trường dữ liệu được x¸c định, chóng ta cã thể cã những thiết lập riªng cho chóng

- Sort criteria

C¸c dßng kết quả được ph¸t sinh bởi view cã thể được sắp xếp thứ tự theo một hoặc nhiều tiªu chÝ Tuỳ thuộc vào view type (và c¸c relationship), mỗi view sẽ cã những tïy chọn sắp xếp thứ tự kết quả tr×nh kh¸c nhau

- Filter

Filter, hay bộ lọc nội dung, là một tÝnh năng chủ chốt của views 2, gióp người điều hành cã thể lọc nội dung theo những tiªu chÝ nhất định Kh«ng như c¸c tÝnh năng liệt kª node của nh©n Drupal, /node/, chỉ liệt kª được c¸c node được thiết lập thuộc tÝnh

"promoted to frontpage" (được quảng b¸ ở trang chủ) là true, /taxonomy/term/x/, chỉ liệt

kª được c¸c node cã g¸n từ liệu là x, views với tÝnh năng filter, cung cấp khả năng tr×nh bày nội dung của hệ thống rất sinh động Với views 2, b©y giờ, chóng ta cã thể

Trang 19

tr×nh bày c¸c node được tạo bởi một người dïng nhất định, ở (c¸c) term nhất định, vào thời khoảng nhất định,

- Argument

TÝnh năng filter của Views 2 mạnh, tuy nhiªn nã cũng cã mét trở ngại nhỏ: filter kh«ng động theo từng view ThÝ dụ, chóng ta định nghĩa một view V1 để tr×nh bày c¸c node cã node type là NT1, cã thể truy cập view này qua URL /content/foo Sau một thời gian, theo nhu cầu ph¸t triển của hệ thống, chóng ta lại cần x©y dựng một view V2 rất giống với V1, chỉ kh¸c ở filter node type, thay v× node type là NT1 th× là NT2 Râ ràng, lóc này, chóng ta phải lặp lại nhiều thao t¸c đã thực hiện ở V1 vào lại V2 Giả sử, chóng

ta cã N view như vậy, khi chỉnh sửa c¸c view này theo nhu cầu thực tế, c«ng sức của chóng ta sẽ xN

Argument được đặt ra như là một mở rộng của filter Thay v× là tĩnh ở mỗi view, argument cung cấp khả năng lọc néi dung trong view bằng c¸c gi¸ trị cã thể thay đổi động Trở lại với thÝ dụ trªn, thay v× định nghĩa một filter clause cho view, chóng ta sẽ định nghĩa một argument: "node type", và ở URL, chóng ta sẽ thay /content/foo thành /content/foo/% Lóc này, khi người dïng truy cập URL /content/foo/NT1, view sẽ lọc nội dung và chỉ trả về những node cã node type là NT1,

- Relationships

Là một tÝnh năng mới thªm vào Views 2, cung cấp cho view khả năng truy vấn kết quả kh¸c từ c¸c kết quả đ· t×m được Một thÝ dụ thực tế tương đối dễ hiểu: (1) Hệ thống chóng ta vừa tạo ra một node type là "track" (2) Chóng ta tạo thªm hai node type kh¸c là "album" và "artist" (3) Tạo node reference từ "track" đến "album", từ "album" đến "artist" (Sử dụng module node reference của CCK) (4) Tạo một vào node ứng với c¸c node type vừa tạo ở trªn (5.1) Tạo một view; (5.2) Thiết lập output syle thành

"table"; (5.3) Ở mục "relationships", thªm vào 2 node reference đ· tạo ở bước 3; (5.4) Ở mục "fields", thªm 3 lần field "Node: Title" và "Node: Body", ở node thứ nh×, chọn relatioship đến 'albumn', và ở node thử ba, chọn relationship đến 'artist' (6) Xem thử kết quả

- Tags

Cã thể g¸n cho mỗi view những tag khác nhau để dễ dàng hơn cho việc quản lý

Trang 20

- More link

Thªm liªn kết, vào phÝa dưới kết quả của view, dẫn đến page view Trường hợp view của chóng ta cung cấp hơn một page display, mục này cần chỉ định râ page display nào cần được trỏ đến

Tr×nh bày c¸c th«ng tin về giao diện gióp người x©y dựng giao diện của hệ thống

cã thể dễ dàng x©y dựng c¸c khu«n mẫu giao diện qu¸ tải

Trang 21

1.4 Ph¸t triÓn, x©y dùng module cho Drupal

Viết module trªn drupal gồm c¸c bước:

- Tạo hệ thống file, gồm 2 file bắt buộc là <ten_module>.info lưu trữ th«ng tin

module và <ten_module>.module chứa code xö lý cho module

- Cài đặt c¸c hook, tïy theo chức năng của module mà cài đặt c¸c hook kh¸c

nhau

- Cài đặt và lưu giữ c¸c thiết lập cho module

- Tạo phần quản trị (backend) riªng cho module

1.4.1 Tạo hệ thống file gồm c¸c file chÝnh

- <ten_module>.info : file dạng ini (PHP INI) lưu c¸c th«ng tin của module, bao gồm:

Trang 22

dependencies[] = Tên module lệ thuộc vào 1

dependencies[] = Tên module lệ thuộc vào 2

package = "Tên gói module"

Thông tin về các Drupal API có thể tìm ở http://api.drupal.org/

- hook_menu: xử lý khi có một request (yêu cầu) đến hệ thống

Ví dụ, tạo xử lý khi người dùng truy xuất vào đường dẫn (URL) /mymodule, thì hiển thị ra văn bản ‘Hello world‛

'access arguments' => array('truy cap noi dung'), //đối số xác

định phân quyên truy cập );

Trang 23

- hook_nodeapi: thông qua cài đặt hook_nodeapi, có thể xử lý các sự kiện khi xử lý node: thêm mới, sửa, xóa

// Tiền xử lý break

; case 'submit':

// Xử lý khi có node đã đợc lu break;

case 'insert':

// Xử lý khi có node đã đợc thêm case 'update':

// Xử lý khi sửa node break;

// …} }

Ngày đăng: 14/10/2021, 23:53

HÌNH ẢNH LIÊN QUAN

Drupal được kiến trúc tuân theo mô hình MVC (Model–view–controller) - - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
rupal được kiến trúc tuân theo mô hình MVC (Model–view–controller) - (Trang 6)
Một node giống như một bảng trong cơ sở dữ liệu quanh ệ, nó gồm các thành phần (các trường) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
t node giống như một bảng trong cơ sở dữ liệu quanh ệ, nó gồm các thành phần (các trường) (Trang 7)
CCK cung cấp form cấu hình sự hiển thị các trường của kiểu nội dung ‚Điện - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
cung cấp form cấu hình sự hiển thị các trường của kiểu nội dung ‚Điện (Trang 15)
1.5.1. Thông tin cấu hình dữ liệu - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
1.5.1. Thông tin cấu hình dữ liệu (Trang 24)
(Form cấu hình hiển thị các trường của kiểu nội dung “khuyến mại”) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
orm cấu hình hiển thị các trường của kiểu nội dung “khuyến mại”) (Trang 32)
(Cấu hình hiển thị các trường của kiểu dữ liệu) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
u hình hiển thị các trường của kiểu dữ liệu) (Trang 35)
(Form cấu hình view “admin_content”) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
orm cấu hình view “admin_content”) (Trang 37)
(Form cấu hình view “Khuyến mại”) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
orm cấu hình view “Khuyến mại”) (Trang 38)
(C ấu hình 1 Page-“Danh mục điện thoại theo hóng” trong view “điện thoại”) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
u hình 1 Page-“Danh mục điện thoại theo hóng” trong view “điện thoại”) (Trang 39)
2.2.4. View “menu hãng” - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
2.2.4. View “menu hãng” (Trang 39)
(C ấu hình block “menu-hãng”) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
u hình block “menu-hãng”) (Trang 40)
2.3.5. View “Thông tin” - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
2.3.5. View “Thông tin” (Trang 40)
(C ấu hình 1 page trong view) - Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
u hình 1 page trong view) (Trang 41)

TRÍCH ĐOẠN

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