Drupal寶典之基礎篇。(轉帖)

原文:drupal寶典之基礎篇

隨着PHP技術的飛速發展,搭建一個專業網站已經變得越來越容易。特別是各種優秀CMS(內容管理系統)的出現,使得網站的開發不需要編程,你所做的主要工作就是下載一些已有模塊,下載一些主題風格,定製一些模塊,定製一些主題風格,一個專業的網站就建好了。

優秀的CMS系統包括:Drupal、Typo3、XOOPS、TikiWiki、Mambo、PHP-Nuke等,具體見:
http://www.opensourcecms.com/

目前國內比較流行的CMS包括Mambo和XOOPS,他們的國內社區見:
http://www.mambochina.net/
http://xoops.org.cn/

Drupal是一個新的CMS系統,它雖然沒有Manbo流行,也沒有XOOPS強大,但卻是一個非常易用的內容管理系統,可做爲個人或大型網站發佈、管理、組織不同內容的平臺,包含了廣爲人知的weblog、論壇、投票、新聞聚合、站內搜索、電子商務等功能。

Drupal應該翻譯成什麼呢?呵呵,覺得還是翻譯爲“水滴”比較好。Drupal這個詞其實是荷蘭語Druppel的英語發音,而Druppel在荷蘭語裏面是Drop也就是水滴的意思。Drupal的編寫者最初選擇這個詞實在是意外,他本來想註冊一個名爲“Dorp”的域名,Dorp在荷蘭語裏是“小村莊”的意思,英語裏其實也有這個名詞,但是他一不小心犯了個錯誤,於是就註冊成了Drop,於是也就有了後來的 Drupal。呵呵,所以漢語翻譯成“水滴”還是蠻貼切的,聽起來也不錯了。

有的人把Drupal當作是blog系統,我一開始也是 這樣認爲的,其實這只是Drupal的一方面的應用,Drupal是一個功能強大的content manage system(cms),在功能設計上它仿照了phpnuke,xoops等的模塊化方式,界面上仿照了blog模式。這個程序以極少的代碼實現了非常強大的功能。很多人用“神奇” 兩個字來形容它,它是一個完全開放源代碼的程序,所以吸引了衆多PHP愛好者的目光,很多PHP高手參與了它的開發行列中來了,開發速度非常塊,幾乎兩個月出一個新版本,modules和skins也越來越多。從官方站點有時上千人的在線情況就可以看出它的受歡迎程度。

在這裏可以下載Drupal:
http://drupal.org/

= Drupal 的功能特點 =

從總體上看,Drupal有以下功能特點:

+ 搜索引擎友好的URL
+ Drupal有一個優秀的模塊化結構,提供了許多模塊,包括短消息、個性化書籤、網站管理、Blog、日記、電子商務、電子出版、留言簿、Job、網上電影院、論壇、投票等模塊。Drupal模塊的下載、安裝、定製非常方便
+ Drupal提供了強大的個性化環境,每個用戶可以網站內容和表現形式進行個性化設置
+ Drupal提供了基於角色的權限系統,沒有必要對每個用戶進行授權,只需要對角色進行授權
+ Drupal提供的站內搜索系統能對站內的所有內容進行索引和搜索
+ Drupal的模板系統將內容和表現分離,可以很方便地控制網站的外觀
+ Drupal提供內建的新聞聚合工具
+ 提供完善的站點管理和分析工具
+ Drupal的Caching機制能有效減少數據庫查詢次數,從而提高站點性能,降低服務器負荷

國外有許多優秀的網站採用了Drupal平臺,這裏列舉其中三個:
http://www.spreadfirefox.com/
http://www.hermann-uwe.de/
http://www.hivemindz.com/

國內也有一些網站採用了Drupal平臺,這裏也列舉其中三個:
http://bmc.tea.to/
http://blog.c3crm.com/
http://blog.linuxbyte.net/

= Drupal 安裝 =

在安裝Drupal前,你需要在服務器上先搭建一個PHP+MySQL環境。
初學者可以在windows上安裝一個easyphp,然後什麼都有了。專業網站一般是安裝LAMP(Linux+Apache+MySQL+PHP)。

這裏有一個圖形化的Drupal安裝指導文件:
http://www.flickr.com/photos/todays/sets/912418/
這裏有一個flash的Drupal安裝指導文件:
http://www.flickr.com/photos/todays/sets/912418/show/

上面兩份安裝指導文件寫得已經非常詳細了,這裏只給出一個簡單的安裝步驟:

+ 下載Drupal
$ wget http://drupal.org/files/projects/drupal-4.6.3.tar.gz

+ 將Drupal安裝到web服務器的目錄內
$ tar xvzf drupal-4.6.3.tar.gz
$ su
# mv drupal-4.6.3/* drupal-4.6.3/.htaccess /var/www/localhost/htdocs/
# exit

+ 創建Drupal數據庫
$ mysqladmin -u root -p create drupal

+ 創建Drupal數據庫的表
$ mysql -u root -p drupal < /var/www/localhost/htdocs/database/database.mysql

+ 修改設置文件
$ vi /var/www/localhost/hodocs/sites/default/settings.php
做以下設置:
$db_usr = "mysql://root:password@localhost/database"; (password需要改爲root的口令)
$base_url = "http://localhost";

然後就可以使用Drupal了。

= Drupal 中文語言包安裝 =

Drupal 的設計比較科學,不僅擴展性好,安裝語言包也非常方便。

+ 先下載官方中文語言包
$ wget http://drupal.org/files/projects/zh-hans-4.6.0.tar.gz
$ tar xvzf zh-hans-4.6.0.tar.gz
解壓後得到一個 zh-hans.po 文件,這就是中文語言包。

+ 讓Drupal加載國際化模塊
administer->modules->locale 選擇打勾,這樣管理界面纔會出現語言包管理界面

+ 導入中文語言包
administer->localization,選擇import導入其他語言包,選擇剛剛解壓的zh-hans.po文件,然後選擇import to:chinese simplified。

+ 選擇中文爲默認語言
裝完語言包後,就會發現現在系統有兩個語言包,一個是默認的英文,一個就是剛剛我們導入的中文。
我們只要啓動中文語言包,並設置成默認就行,系統的頁面馬上就會變成中文。

= Drupal 的模塊 =

模塊化是drupal的一個特色,極大的方便了drupal的擴展和靈活定製的能力。Drupal模塊的安裝使用也很方便,只要將相應文件複製到modules目錄下,就可以在‘管理-設置’裏面方便地開啓使用了。

Drupal的模塊分爲基本功能模塊和功能增強模塊。基本功能模塊是Drupal安裝包裏自帶的功能模塊,擴展功能模塊則需要到 [http://drupal.org/project/Modules] 下載。基本功能模塊又分爲固定啓用的基本功能模塊和可選用的基本功能模塊,固定啓用的模塊在drupal安裝後即自動啓用。

== 固定啓用的模塊 ==

- block
用於支持區塊的實現
- filter
用於處理內容過濾以便於顯示。
- system
用於處理管理員對站點的設置。
- user
用戶管理及註冊系統。
- watchdog
生成並管理系統日誌。

== 基本功能模塊 ==

- aggregator:
drupal變成一個在線的rss訂閱器。支持RSS和RDF格式。開啓後可定時掃描新聞源自動更新內容(需要crontab支持)。
- archive
支持存檔內容的管理與瀏覽,實現blog常見的日曆查詢功能,可通過區塊顯示。
- blog
這個模塊讓會員發表個人blog,使Drupal變成一個多人blog系統。
- blogapi
支持XML-RPC blog接口,允許用戶通過第三方應用程序發表blog。
- book
允許多位會員一起合寫一本書。
- comment
開啓blog或文章的評論回覆功能,並且可以定製評論的權限以及每一篇文章是否允許評論。
- contact
允許註冊用戶間通過填寫‘聯絡表’發email聯繫。
drupal
讓用戶使用一個 Drupal ID 跨站登錄。
- forum
論壇
- help
在線幫助。很多標準模塊和功能的幫助都可以在‘管理-幫助’裏找到。
- legacy
爲升級版本提供向下兼容的接口。
- locale
開啓多語言支持,漢化drupal必須開啓的模塊。
- menu
允許管理員定製,添加新的導航菜單。
- node
所有blog或文章都必須通過node模塊來提交和呈現給讀者。
- page
用於發佈靜態頁面。
- path
支持URL別名,便於管理記憶。
- ping
在發表新文章的時候通知其他網站。
- poll
開啓投票功能。
- profile
開啓此模塊後,管理員將可以自定義用戶註冊時的表單項目和格式。
- queue
允許管理員監管文章,所有新提交的文章將先進入監管隊列,經過監管員(moderator)考察後決定是否發表。
- search
該模塊支持站內搜索。能夠很好的支持中文搜索,而且速度很快。
- statistics
記錄訪問統計信息。
- story
不想把這類文章包括在你的日誌裏時,就可以通過這個模塊實現。
- taxonomy
開啓目錄分類支持
- throttle
站點節流控制機制。當站點流量過大網絡阻塞時可以通過節流設定自動關閉相應模塊功能以保證訪問響應。
- tracker
跟蹤用戶的最新發布。
- upload
支持上傳文件。

== 功能增強模塊 ==

Drupal的功能增強模塊太多了,並且每天都在不斷增加,這裏只列出其中一些主要的功能增強模塊:

- acidfree
一個功能完整的多媒體(例如圖片、視頻)管理系統。
- adsense
顯示Google Adsense廣告。可以方便的定製顯示方式,支持從banner到link等6種顯示格式。此外還可以選則對特定用戶羣關閉廣告顯示。
- album
影集模塊。
- audio
登錄用戶可以上傳、播放和下載音樂。能很好地識別mp3的ID3信息(例如歌名、藝術家等)
- atom
提供atom種子
- attachement
支持上傳附件,可以用來替代Drupal自帶的upload模塊。不同節點的附件將分開放置,避免了文件重名的問題。
- automember
自動用戶權限管理。管理員可以設定不同的標準,自動分配給用戶不同的權限。例如只開放有限權限給新註冊用戶,發表一定數目文章後將自動成爲資深用戶並得到高級權限
- banner
自動輪換顯示廣告條。管理員可以方便的查看點擊統計,並預設/開啓/關閉/批准特定廣告,用戶則可以查看/修改/上載自己的廣告條。
- bbcode
提供bbcode輸入格式的支持。
- blog theme
允許用戶選擇自己blog的外觀主題,當其它用戶按作者瀏覽其blog時,看到的將是該blog作者自己選定的外觀主題。
- bookmarks
用戶可以編輯自己的書籤,並通過區塊顯示。
- buddylist
用戶可以編輯自己的好友名單,同時顯示‘好友的blog’區塊。
- captcha
圖靈測試/字符校驗模塊,防止機器人自動註冊
- chatbox
聊天室模塊。
- codefilter
方便代碼輸入,能處理<code></code>和<?php ?>。
- contact directory
使用戶可以添加自己的好友聯絡名單。
- database administration
提供數據庫管理功能。管理員可以通過此模塊在drupal界面進行數據庫查詢/修改/刪除等功能。
- devel
爲開發者和網管提供了許多好的工具。
- e-commerce
一整套電子商務工具。
- event
跟蹤事件並通知用戶。
- excerpt
摘要模塊。Drupal發佈內容時只能用正文的開頭作摘要,然後根據設定自動截取摘要。
- ezmlm
用戶將可以通過該模塊訂閱相關Ezmlm郵件列表。Ezmlm是一個基於qmail的羣發郵件訂閱系統。
- feedbak
反饋模塊,可用於生成反饋表格收集用戶意見或問題。
- flexiblock
讓Drupal能隨心所欲的擺放區塊。
- flexinode
可以用此模塊根據需要生成新的自定義節點(node)類型。在此基礎上可以有很多靈活多變而非常實際的應用,可以說是drupal擴展模塊裏功能非常重要的一個。
- front page
用於方便的定製站點首頁,可以完全脫離站點外觀主題的限制生成個性化的首頁。可以顯示不同的首頁給不同權限的用戶,並可插入PHP代碼完成更強大的動態顯示。
- gallery
用於在線像冊管理和展示。
- guestbook
留言簿
- hall of fame
名人堂模塊。是對drupal自帶的統計(statistic)模塊的補充,可以統計站點共幾篇文章,多少註冊用戶,建站時間,流行內容等,還可以顯示發文最多用戶,評論最多用戶等。
- htmlarea
一種所見即所得的輸入方式。
- image
像冊。支持圖片上傳,並自動生成縮略圖(thumbnail)。圖片可以插入到頁面中或組合成像冊顯示。
- img_assist
和Image模塊共同使用,通過圖形界面窗口更便捷地在節點中插入圖片。
- internationalization
自動檢測瀏覽器的編碼設定,爲匿名用戶提供全方位的本地話翻譯,包括節點內容界面的翻譯。包括一個顯示區塊方便用戶切換語種。
- job search
招聘與求職模塊
- jsdomenu
生成多層*出式菜單
- mail
向特定用戶羣發送email
- mailhandler
允許註冊用戶通過email創建/編輯內容或添加評論。
- media
這個模塊將已廢棄,分別被audio和video等模塊取代。
- movie review
網上電影院
- node vote
對文章進行投票
- notification
自動發送郵件通知訂閱者內容已更新。
- organic groups
允許用戶自行組成小組,每個小組將有自己的主頁顯示小組成員發佈的內容。
- pdfview
生成PDF文件
- photo album
像冊模塊。
- privatemsg
允許用戶間發送私人信息。
- project
項目管理模塊。項目組成員可以由此跟蹤項目的進展,可以通過email發送項目更新通知。
- quote
用戶在添加評論時可以方便的點選引用原文。引用部分用特殊格式顯示以作區分。
- quotes
可以用於收集顯示名人名言。通過區塊隨機顯示。
- recipe
用於分享菜譜。
- rsvp
可以發送email邀請用戶參加特定的事件(event),並可跟蹤用戶是否查看或接受了邀請。
- site map
顯示站點導航圖。
- sitemenu
按文章分類顯示站點導航。
- smiley
使用表情符,自帶了一些基本的表情符,用戶可以自己添加。
- SMS gateway
發短信
- spam
防垃圾模塊,防止你的blog成爲一個實實在在的垃圾堆。
- spam_surbl
對spam模塊進行功能增強,使之支持SURBL(Spam URI Realtime BlockList)。
- sql search
此搜索模塊不使用drupal自帶的搜索索引(search index),而是提供數據庫搜尋功能,支持SQL和正則表示式(regular expressions),並提供高級搜尋過濾功能。
- statistics_filter
過濾網站管理員和搜索引擎的訪問統計信息。
- stock
顯示股票行情。用戶可以自定製所顯示的股票。
- subscriptions
允許用戶訂閱任一節點內容,通過email通知該節點的更新以及是否有新的評論。
- survey
可以創建調查問卷,調查結果可以下載爲excel格式。
- taxonomy menu
分類系統導航菜單,其格式將和drupal系統導航菜單一致。
- theme editor
直接通過瀏覽編輯修改外觀主題。
- tinyMCE WYSIWYG Editor
一個非常好用的所見即所得文本編輯器,用於編輯輸入文章內容。
- trackback
開啓trackback支持。
- video
在線影院
- VIM Color
支持VIM代碼高亮(highlight),支持PHP, Perl, C, HTML, JAVA等多種語言。
- voting
投票/評級
- webform
創建‘網絡表單’節點類型,可以用於提交調查問卷,投票,註冊等。
- wiki
實現wiki功能。
- workspace
我的工作空間模塊,提供一個用戶專有的工作區,可以集中察看管理自己的文章。

= 後續文檔 =

在掌握了Drupal的基礎知識後,就可以進行Drupal的定製和Drupal的開發了。
Drupal寶典之定製篇見:
http://www.linuxsir.org/bbs/showthread.php?t=231113
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章