1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

57 1,4K 4

Đ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 đề Xây dựng website bán điện thoại di động bằng công cụ mã nguồn mở drupal
Tác giả Đặng Quang Tiến, Đinh Tiến Thăng
Người hướng dẫn Th.S. Trần Xuân Hào, Th.S. Cao Thanh Sơn
Trường học Trường Đại học Vinh
Chuyên ngành Quản trị mạng doanh nghiệp
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2010
Thành phố Vinh
Định dạng
Số trang 57
Dung lượng 2,3 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ội,

Trang 1

A Trờng Đại học Vinh

-–šš šš

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

ngành tin học

quản trị mạng doanh nghiệp

Giáo viên hớng dẫn: Th.S Cao Thanh Sơn Sinh viên thực hiện : Đặng Quang Tiến Lớp : 46K1 - CNTT

Vinh - 05/2010 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

Trang 2

đ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

Trang 3

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 4

Ch ¬ng 1

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

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), linhhoạt (flexible development), tối ưu hãa bộ m¸y t×m kiếm (SearchEngine Optimizer - SEO) …

ộ i dung miễn phÝ và m· ngu ồ n m ở (Opensouce CMS)

Hai năm liªn tục 2008, 2009 Drupal được đ¸nh gi¸ là hệ quản trị nội

Trang 5

“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· đượcviế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

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à nhanhnhấ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ử)

http://www.mua ban dtdd.com/ Đem lại doanh thu rất lớn cho c¸c doanh

nghiệp.Kh¸ch hàng chỉ 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ộidung 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ũnggiống như c¸c hệ thống quản trị nội dung hiện đại kh¸c, Drupal cho phÐpngườ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ậptr×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ảiquyế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à

Trang 6

uyển chuyển của nã Drupal được ứng dụng ph¸t triển c¸c hệ thống websitekh¸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ồmWindows, 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 MySQLhoặc PostgreSQL để lưu nội dung và c¸c thiết lập

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

M¸y chủ web (Web

server)

Hệ điều hành (Operating

System)

Trang 7

 Ứ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, đachức năng, đa ng«n ngữ

- BBC Magazines (www.bbcmagazines.com)

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

- …

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 ế n trki ó c ph ầ n m ề m trong kỹ thuật k ỹ s ư phầnmềm Khi sử đóng c¸ch, mẫu MVC gióp cho người ph¸t triển phần mềmthành thạo c¸c nguyªn tắc, c¸c thao t¸c trong nghề nghiệp và giao diện ngườidï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ềuthuận lợi cho việc bảo tr× v× c¸c nguyªn tắc trong nghề nghiệp và giao diện Ýtliª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) baogồ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ệptrong c¸c thao t¸c liªn quan đến m« h×nh

Trang 8

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

( 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ậnyª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

Trang 9

- Đị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.

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 đượcthª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ố

Trang 10

nguyªn tắc làm việc của Node Node thường dïng để lưu trữ c¸c phần nộidung của website.

- 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

tr×nh bày ở trang điều hành module

+ Version: m· số phiªn bản của module.

+ 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¸cmodule này c¸ch nhau bởi dấu phẩy Module kh«ng thể được kÝch hoạt nếuc¸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 chom×nh Module cã thể tự động ngưng hoạt động tạm thời để giảm tải cho m¸ychủ khi cã qu¸ nhiều truy cập bằng c¸ch bật module throttle (quản lý cơ chế

Trang 11

Mỗi module phải xử lý được c¸c sự kiện hoặc định nghĩa c¸c sự kiệnriª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àythuộc về người điều hành Mỗi thao t¸c cần cã một internal path (hay drupalpath) nhất định.

Th«ng tin được khai b¸o râ ràng qua tập tin info, điều đã sẽ làm chongười điều hành dễ quản lý Kh«ng cần quan t©m nhiều đến quyền hạn truycậ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ớic¸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ởiquyền truy cập nào Mỗi module cã thể định nghĩa cho riªng nã những quyềnhạ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ạpchồ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

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

Trang 12

taxonomy cã thể sử dụng cho nhiều kiểu nội dung kh¸c nhau; cã thể ph©nnhiề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ộidung cung cấp giao diện cho website

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

Trang 13

( 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ườiph¸t triển viết hàm uninstall cho module của họ + module cã lưu dữ liệu trongdatabase 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

Trang 14

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:

Trang 16

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 1giao diện trực quan để thªm, sửa, xãa, định dạng và sắp xếp thứ tự xuất hiệnc¸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 17

(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 18

- 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à modulephụ 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

Trang 19

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

Trang 20

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 canthiệ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ấuh×nh kh¸c nhau tïy thuộc vào người quản trị, để tr×nh những kết quả kh¸cnhau 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:

- 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 dungchóng ta cần lấy về là gì

- 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ếtquả 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, đượcdï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ếtlậ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àoURL ứ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

Trang 21

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 dungtươ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 viewdisplay kh¸c Trong trường hợp, chóng ta cần sử dụng argument cho c¸c blockdisplay, để mở rộng khả năng tr×nh bày, chóng ta buộc phải truyền argumentvà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«ngcần cặp thẻ đãng mở PHP):

và sau kết quả của display chính của view Có thể sử dụng attachment display

để trình bày bảng danh mục (glossary) cho các view Xem view"glossary"được cung cấp mặc định bởi view như một thí dụ cho việc sử dụngAttachment display

Trang 22

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

- Override:

Như đ· biết mỗi view cã thể cã một default display và cã thể định nghĩathªm một hoặc nhiều c¸c display kh¸c, với c¸c dislay type tïy thÝch mà viewcung cấp Theo mặc định, c¸c display, kh¸c default display, sẽ sử dụng c¸cthiế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

- Output style (view style)

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 mẫu

giao diện th«ng minh,

xử lý kết quả của view

và xuất kết quả đã ra

Tất cả c¸c style trong Views 2 đều cã thể được qu¸ tải bằng c¸ch đặt bản c¸c

Trang 23

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ầnkế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ỉ đượcbao quanh bởi cặp thẻ với một số DOM class, dựa vào c¸c class đơngiả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 để địnhnghĩ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àotrường dữ liệu được x¸c định, chóng ta cã thể cã những thiết lập riªng chochó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ópngười điều hành cã thể lọc nội dung theo những tiªu chÝ nhất định Kh«ngnhư c¸c tÝnh năng liệt kª node của nh©n Drupal, /node/, chỉ liệt kª được c¸cnode đượ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

Trang 24

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ể 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ờikhoả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ạinhỏ: filter kh«ng động theo từng view ThÝ dụ, chóng ta định nghĩa một viewV1 để tr×nh bày c¸c node cã node type là NT1, cã thể truy cập view này quaURL /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 ở filternode type, thay v× node type là NT1 th× là NT2 Râ ràng, lóc này, chóng taphả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ã Nview 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ủachó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 filterclause 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ườidï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ăngtruy 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

Trang 25

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ọnrelatioship đến 'albumn', và ở node thử ba, chọn relationship đến 'artist' (6)Xem thử kết quả

- Use AJAX

Nếu view/output tương ứng cã thiết lập sử dụng pager và thuộc tÝnh UseAJAX được thiết lập là Yes, khi người dïng click vào c¸c liªn kết ở mục ph©ntrang, thay v× tr×nh duyệt sẽ di chuyển sang trang, th× nội dung mới sẽ đượcnạp theo dạng AJAX

- 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ầnchỉ định râ page display nào cần được trỏ đến

Trang 26

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

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 27

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"

- 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”

đến khi (callback) khi truy cập đến

'access arguments' => array('truy cap noi dung'), //đối số xác định phân quyên truy cập

);

return $items;

Trang 28

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: 27/12/2013, 21:09

HÌNH ẢNH LIÊN QUAN

1.5.2. Sơ đồ xử lý 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.2. Sơ đồ xử lý dữ liệu (Trang 29)

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