模組介紹

以下為 Drupal 部份模組的中文介紹。完整的模組列表,請到 Drupal.org 的模組單元。也歡迎你一起來寫模組介紹

Aggregation

模組介紹: 

這個模組跟Leech的功能類似,可以將訂閱的內容轉換成node和分類,但是code的品質更好,但這個模組需要php5搭配php的模組curl才能運作。

除此之外,Aggregation提供彈性給開發者,可以自行插入code將訂閱進來的文章作一些程式上的處理,如去掉html tag等等的處理。

Domain Access

模組介紹: 

可以用同一套 Drupal 和資料庫來建立多個次網域網站,分享使用者、內容、設定等,例如:
- example.com
- one.example.com
- two.example.com
- my.example.com

一些子模組:

Domain Alias:
顧名思義, 可以給你建立的 domain 再加上 alias

Domain Configuration:
這個模組能做到的, settings.php 應該也可以, 就是讓你可以指定每一個 domain 的設定, 如 site name, theme, menu, ...

Domain Content:
使用這個模組後, 從 Content management -> Content -> List 看到的是所有的 node, 在 list 裡面沒法分辨出是哪個 domain. 使用這個模組, 會從最上層加上一個 Affiliated content 的功能表, 就可以分出這個 node 是屬於哪些 domain 了. (如果有使用 admin_menu, 請記得 rebuild menu)

Domain Theme:
這個模組功能很簡單, 就是可以讓每個 domain 都可以有獨立的 them. 和 Domain Configuration 相同, 其實用 settings.php 就可以做到了.

Domain Views:
這個模組提供了和 Views 整合的 filter 和 argument, 可以利用他來過濾內容. 但並不是每種 type 都有支援, 譬如說 node 有, 但 comment 就沒有 (6.x-2.0-rc6)

Drupal 7 中文化問題

模組介紹: 

用官網 Drupal 6.x 的中文化安裝在 Drupal 7.x dev , 安裝完之後會出現以下錯誤,造成無法使用 :

Fatal error: Uncaught exception 'PDOException' with message 'INSERT INTO {languages} (language, name, native, direction, domain, prefix, enabled) VALUES (?, ?, ?, ?, ?, ?, ?) - Array ( [0] => zh-hant [1] => Chinese, Traditional [2] => 繁體中文 [3] => 0 [4] => [5] => zh-hant [6] => 1 ) SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'domain' cannot be null' in E:\xampplite\htdocs\drupal\includes\database\database.inc:365 Stack trace: #0 E:\xampplite\htdocs\drupal\includes\database\database.inc(1195): DatabaseConnection->query('INSERT INTO {la...', Array, Array) #1 E:\xampplite\htdocs\drupal\includes\locale.inc(957): db_query('INSERT INTO {la...', 'zh-hant', 'Chinese, Tradit...', '????????????', 0, NULL, 'zh-hant', 1) #2 E:\xampplite\htdocs\drupal\install.php(681): locale_add_language('zh-hant', NULL, NULL, NULL, NULL, NULL, 1, true) #3 E:\xampplite\htdocs\drupal\install.php(158): install_tasks('default', 'locale-initial-...') #4 E:\xampplite\htdocs\drupal\install.php(1181): in in E:\xampplite\htdocs\drupal\includes\database\database.inc on line 365

該檔案只能用在6.x版, 不適用在 Drupal 7.x , 網友們請不必像我一樣再花太多時間去試驗.

Exhibit

模組介紹: 

Exhibit 是 MIT 所開發的一套架構,可以讓結構化的資料以豐富的視覺化方式呈現(例如地圖、時間軸、表格),並可進行搜尋、過濾、排序。

範例網站:
http://simile.mit.edu/exhibit/

圖示:

FeedBurner

模組介紹: 

整合 Feedburner 所提供的服務,將網站的 RSS feed 導到指定的 FeedBurner feed。除了可以依據需求有多組設定之外,還可以讓擁有 blog 的使用者設定他們自己的 FeedBurner feed。

Feedparser

模組介紹: 

此模組可以取代 Drupal 內建的 aggregator 模組,並提供更多的功能,包括:

  • 從 RSS feed 裡產生內容節點或連結項目(Drupal原本的作法)。
  • 使用 Drupal 的分類系統來分類 RSS feed。
  • 更新頻率最快可達每5分鐘一次。
  • 可以永久保存取得的內容。
  • 提供 OPML 匯入/匯出。
  • 支援每個 feed 項目裡有無限的 enclousure 欄位。
  • 可以把 feed 項目的分類插入到 Drupal 的分類裡。
  • 提供 API。
  • 使用外部開發的處理引擎(SimplePie),支援多種格式。

GeoRSS

模組介紹: 

可以從串聯內容裡擷取 GeoRSS 格式的地理資訊,以供網站使用(例如 location 模組),同時也把 GeoRSS 資訊加到 Drupal 網站的 RSS feed 裡。

Leech

模組介紹: 

Leech是一個強大的RSS整合蒐集器,他善用Drupal的node觀念,把Feed來源的設定當作Node,把進來的items也可以匯進去對應的Node Type,還可以依據設定來指定分類別,將Node整理好以便後續利用。

實際的應用,可以輕易的透過RSS Feed搭配分類,用Views來建立block,輕易的生成一個入口網站。

News Page

模組介紹: 

從 RSS aggregator 的分類裡,透過自訂關鍵字進行過濾,只讓含有該關鍵字的 RSS 項目,可以出現在這個新聞網頁上。例如我們可以在科技聯播分類裡收錄來自 Slashdot 和 Engadget 的文章,然後用 Taiwan、Acer、Benq 當作關鍵字,進行過濾,就可以自動製作出一個 台灣科技新聞 的頁面。

SimpleFeed

模組介紹: 

在內建的 Aggregator 模組之外,提供另一個 feed 解析/處理工具與相關功能。包括:

  • 採用 SimplePie 作為解析引擎
  • feed 和 feed item 都依循預設的內容節點流程、發佈選項
  • 自動把 feed 裡的分類加到 Drupal 的分類裡
  • 在一段時間後自動刪除 feed item
  • 自訂預設的輸入格式
  • 支援 views 和 token
  • 可以跟 Feedapi 一起運作,提供更多功能。

範例網站:
http://www.momblognetwork.com/

Site map

模組介紹: 

提供一個"網站地圖",讓使用者對於你的網站有個概括性的瞭解,同時也會顯示所有部落格和分類的 RSS。

示範: http://xdeb.org/sitemap

Syndication

模組介紹: 

Syndication模組能提供一個網頁,集中所有Drupal站上的RSS。這可以幫助使用者在你的站上找到他們感興趣的主題。

使用經驗:TKY在站上用過,挺不錯的。可以用分類來顯示不同類別的RSS,也可以列出所有blogger的RSS,供使用者訂閱。也可以選擇忽略哪些分類不在頁面上顯示RSS Feed。

5.0版的外觀有做些改變。

User Aggregator

模組介紹: 

讓使用者可以透過個人資料頁,自己新增 RSS feed 給網站。網站管理者可以:

  • 設定可選用的、預設的分類,讓使用者選用。預設的分類可以不用顯示出來。
  • 設定預設的更新間隔。
  • 選擇是否要顯示在帳號設定頁。
  • 讓使用者選擇一個或多個分類。

使用者可以選擇分類,所輸入的 RSS feed 會讓管理者進行檢視/核准。

紅陽科技 Chinapay 銀聯卡付款通道模組 (Ubercart 6.x-2.x)

模組介紹: 

這是最近作的模組,釋出來給需要使用的朋友。

這個模組的功能是串接 Ubercart 6x.-2.x 與紅陽科技的 Chinapay 銀聯卡付款通道。您如果想要使用這個模組,可參考「Drupal Ubercart 6.x-2.x 串接紅陽科技 Chinapay 銀聯卡付款通道」這篇文章。

簡單地說,這個模組不需要你把 Ubercart 改成多幣別的系統,所有的購物計價都是使用台幣。只有在付款時,如果是選擇使用紅陽的 Chinapay 銀聯卡付款通道,在檢視訂單時會多呈現出一個轉換為人民幣的資訊。同時,如果不是使用紅陽的 Chinapay 通道時,檢視訂單時不會出現人民幣換算的資訊。

把 Ubercart 改為多幣別是個大題目,在 drupal.org 上雖然有幾個這類的模組,經過測試,發現都不成熟,許多我找到有使用多幣別 Ubercart 的網站都作了大改的動作。因此,我選擇了只在結帳時作幣別的換算,以縮短上線的時間。再者,也省掉了多幣別管理的麻煩。

另外在 blog 的使用說明中沒有提到的一點,我想需要說明一下。紅陽的技術文件提到它會傳出二次成功的訊息回到要求付款的網站,因此,也許會變成二次的成功交易出現。關於這一點,我還沒有測試到。如果您使用此模組的話,請小心這個問題,可能要手動砍掉另外一筆多出來的成功交易。

ps1. 寫到這裡。順便說聲抱歉,原本想要再作幾個在 Drupal 7 的金流串接模組,只是自己還沒用到,趕工作又趕著忙,就這樣過了半年。我覺覺得國內的金流公司應該服務要多作一點。這樣大家就不用苦於等待。

ps2. 總覺得要使用商務模組的話,基於多數人都有自己獨特的商務流程,偏偏商務流程又都是業務核心,我發現國外許多特別的 Ubercart 功能,並沒有變成是一個模組對外釋出。因此,我準備在下半年在通通學網站介紹過 Drupal 7 Ubercart 的課程之後,再來開發一個 Drupal 7 Ubercart 程式開發的課程,幫助一些想要有自己商務流程的朋友至少還可以自力解決。