[ Drupal 7 不一樣 ] 系列,專門解釋 Drupal 7 和 Drupal 6x 的版本差異及用法,以減少大家使用新版時的摩擦。
本篇將介紹 Taxonomy。Taxonomy 是 Drupal 內容管理很重要的一環,新版在用法上與舊版有很大的差異,以下將詳細說明如何將 Taxonomy 和 content 連結。
你可能已經很熟 Taxonomy ,又或者不太確定,這個看起來很難的單字,簡單來說,就是 "分類" 。而被 Taxonomy 分類的對象,就是 Drupal 網站中的內容(node)。
要如何使用 Taxonomy 來將我們網站上的內容分類呢?首先,我們要了解 Taxonomy 的結構: vocabulary 和 term。 Vocabulary 是 Taxonomy 的分類名稱; term 是 vocabulary 的項目。舉例來說,我們想為網站上介紹電影的文章依電影類型分類,類型分為愛情、動作、恐怖,那麼"電影類型"可以作為 vocabulary,並包含三個 items 分別為愛情、動作、恐怖。
實際操作使用 Taxonomy 為 blog entry (來自內建 core blog module) 建立分類:
Drupal 6 Taxonomy 用法
- 進到 Taxonomy 管理頁面:Administer→
Content management→Taxonomy (admin/content/taxonomy) - 建立一個 vocabulary 來分類 blog 文章:按 "Add vocabulary" (admin/content/taxonomy/add/vocabulary),輸入以下設定(練習用)。
項目 值 Identification Vocabulary name Movie Description (blank; default) Help text (blank; default) Content types Content types Blog entry Settings Tags Unchecked (default) Multiple select Unchecked (default) Required Checked - 儲存 vocabulary 後,回到 Taxonomy 管理頁面(admin/content/taxonomy),按 Movie 旁的"add terms", 建立兩個 terms:"Romance", "Action"
- Taxonomy 已經建立完成,接下來建立 blog entry 並套用 Taxonomy:進到 Create content→Blog entry (node/add/blog) ,可以看到多了一個項目 "Movie" 裡面有 Romance 和 Action 可以選擇
Drupal 7 Taxonomy 用法
- 進到 Taxonomy 管理頁面:Administer→Structure→Taxonomy (admin/structure/taxonomy)
- 建立一個 vocabulary 來分類 blog 文章:按 "Add vocabulary" (admin/structure/taxonomy/add),輸入以下設定(練習用)。
項目 值 Name Movie Description (blank; default) - 儲存 vocabulary 後,回到 Taxonomy 管理頁面(admin/structure/taxonomy),按 Movie 旁的"add terms", 建立兩個 terms:Name 欄位分別為 "Romance" 和 "Action",其他欄位保持預設值即可。
- 接著把我們剛剛設定的 Taxonomy 跟 blog entry 連結起來。進到 admin/structure/types ,點選 blog entry 項目旁的 "manage fields"。
- 進到 admin/structure/types/manage/page/fields 之後,輸入以下資訊設定 blog entry 的 field 名稱和格式:
項目 值 Label Movie Name field_movie Field Term reference Widget Select list - 輸入完成之後記得按下儲存按鈕,會進到以下頁面,選擇剛剛新增的 field 中的資料來源,也就是我們所建立的 vocabulary:
- 再按下儲存按鈕,會進到輸入這個 field 的其他資訊,保持預設設定即可,儲存:
- 現在 Taxonomy 和 blog entry 的連結已建立完成,接下來到新建立一篇 blog試試(node/add/blog)。若找不到 blog entry 這個 content type,注意是否已啟用 blog module。在建立 blog 的頁面可以看到多了一個 "Movie" 欄位,並有"Romance"和"Action" 兩個選項,之後每篇blog 都可以選擇 movie 分類了。
結論
Drupal 6 在建立 Taxonomy vocabulary 的同時,就指定了 content type (以剛才的範例來說就是 blog entry),因此不需要像 Drupal 7 另外設定 content type 和 vocabulary 的連結;然而 Drupal 7 這樣的作法其實更具彈性,我們只需要設定一組 vocabulary 就可以同時套用到多種 content types ,例如 blog entry 和 basic page 皆可以使用 "Movie" 分類,如此一來,不但管理人員方便(只要建立一組 vocabulary),使用者更可以利用 term 找到不同 content type 的資訊。
2 則留言:
因為您的這篇文章,我終於成功設定好分類在drupal7了,多謝。
@匿名
謝謝你特地留言告訴我這篇文章有幫到你:)
有時候寫文章都不知道有沒有人看,
看到你的回應很開心。
張貼留言