您在這裡

模組介紹 - Taxonomy Filter

bobju's 的頭像
bobju 在 2010-03-30 (二) 03:41 發表

原文在此: Taxonomy Filter module, 以下是簡介:

Taxonomy Filter模組是為了以下目的而設計:
1 提供一個易於使用"多重分類項目"(multiple terms)來篩選內容節點的操作介面.
2 在篩選操作的過程當中, 可以逐層增加篩選條件, 縮小所要篩選的目標範圍.

這對於採用一個"多面向資訊架構"(multifaceted IA(Information Architecture))的網站而言, 是有助於管理的.
p.s. 簡單講, 就 Drupal 來說, 就是會用到很多不同"分類"(vocabularies)的"分類項目"(terms)標注內容節點的架構啦.

話說 Drupal 標準的 Taxonomy 模組即已提供像 /taxonomy/term/x,y,z 這種URL方式來篩選內容節點, 但一般 user 未必會知道可以這樣用, 而且這種操作方式也不夠方便. 而 Taxonomy Filter 模組則以提供區塊的方式, 裏面附有篩選條件的連結讓 user 用點選的, user 可以邊選邊看其篩選的結果, 而且篩選條件的操作方式很方便.

(進一步的介紹從略, 這裏只是提要, 詳細內容敬請看倌直接看原文囉)

以下是 bobju 使用後的心得 & 簡易教學:

1 假設有一個 內容類型: 演唱者, bobju 定義了三種分類用來對其做標籤, 這三種分類及其分類項目如下:

2 分類及分類項目:
2.1 演唱者性別(vocabulary):
2.1.1 女歌手(term)
2.1.2 男歌手(term)
2.2 演唱者類型(vocabulary):
2.2.1 個人(term)
2.2.2 團體(term)
2.3 演唱者所屬地區(vocabulary):
2.3.1 亞洲(term)
2.3.1.1 台灣(term)
2.3.1.2 香港(term)
2.3.1.3 大陸(term)
2.3.1.4 日本(term)
2.3.1.5 韓國(term)
2.3.1.6 馬來西亞(term)
2.3.2 西洋(term)
2.3.2.1 美國(term)
2.3.2.2 歐洲(term)

這裏插播一下操作結果, 以下是畫面剪貼, 實際上請到 bobju's 音樂鑑賞誌 試看看..
範例:
目前分類篩選條件當中, 是演唱者類型個人, 而待增分類篩選條件當中, 則有演唱者性別演唱者所屬地區兩個分類及其分類項目待選:

進一步以女歌手篩選, 得到的結果:

再進一步以香港篩選, 得到的結果:

若對篩選項目前面的 X 按下去的話, 則會呈現出: 去除掉這個篩選項目的結果, 有點類似"回到上一層"的意思. 然而, 由於這是多面向的篩選條件, 所以這個"回到上一層"會有立體空間的感覺, 實際上要看 user 怎麼操作的.

3 那麼該如何利用 Taxonomy Filter 模組為我們提供一個便於操作的篩選機制呢?
3.1 安裝設定 Taxonomy Filter:
3.1.1 安裝過程從略, 即如同一般模組的安裝.
3.1.2 設定方式不太直覺, 需要圖文說明:
3.1.2.1 首先, 先新增一個選單, 這個選單將會提供分類項目, 並嵌入到一個區塊(block)裏面供 user 點選.
3.1.2.1.1 先進入管理頁面, 如下圖:

在 Taxonomy Filter 下有4個子選項, 其中我們只會用到"選單"這個頁面, 以及"Mappings"這個頁面, 至於"General"跟"Advanced"可以先不管它們.

3.1.2.1.2 接著填寫基本資料後新增, 如下圖:

3.1.2.1.3 新增完成後, 在同一頁面上會看見新增的項目, 如下圖:

3.1.2.2 接著, 我們直接點選"編輯"進去對這個剛才新增的選單做設定, 會看見如下頁面:
基本上通通不要動, 直接"儲存設定"即可.(以後熟悉後再做更細部的設定)
以上完成了一個選單的新增設定

3.1.2.3 接著, 要進行分類(vocabularies)與選單的聯結, 也就是"Mappings"的設定, 這部份稍微繁雜些:
3.1.2.3.1 請點選 Taxonomy Filters 的 Mappings 子選項, 會呈現如下的頁面:

Vocabulary這欄所呈現的是目前 Taxonomy 下所有的 vocabularies, 我們只會用到前三項, 至於歌曲偏好分類跟我們要對演唱者所做的分類無關, 所以不管它.

3.1.2.3.2 Refine Criteria 的部份選"篩選選單", 接著儲存設定. 如下圖所示:

3.1.2.3.3 接著點選"演唱者性別"這行右邊的"編輯"進去, 會出現以下頁面, 照著設定好並儲存.

3.1.2.3.4 仿照 3.1.2.3.3 的方式, 也同樣地完成"演唱者類型"及"演唱者所屬地區"的設定.

3.1.2.3.5 最後, 設定完畢後所見的畫面如下:

這畫面當中的 Current criteria 意指"目前的篩選條件", 而 Refine criteria 意指"待增的篩選條件". 所有的篩選條件就是在"目前的篩選條件"及"待增的篩選條件"之間隨著 user 的操作移來移去, 呈現出 user 所要看到的篩選結果.

以第一列的演唱者性別時為例, 說明上述一連串設定的意義:
3.1.2.3.5.1 當我們的目前篩選條件演唱者性別時, 則待增篩選分類條件選單就採用篩選選單所設定的方式.
3.1.2.3.5.2 而目前篩選條件所採用的選單設定跟著一樣(Same).
3.1.2.3.5.3 而該出現在待增篩選分類條件選單裏的分類則包括: 演唱者所屬地區, 以及演唱者類型.
3.1.2.3.5.4 接著的演唱者所屬地區演唱者類型都是同樣的道理.

3.1.2.4 最後就是 Current criteria(目前的篩選條件) 及 Refine criteria(待增的篩選條件) 這兩個區塊的設定, 這個就是如同一般區塊的設定操作一樣, 從管理員主選單的: 網站建置->區塊->列表 當中去做設定, 在此就不再詳述了. bobju 是把它們設定在 right region 裏.

先介紹到此囉, 歡迎指教. 8)

這個模組超好用!!

附註一下:
一開始我都按照bobju的指示操作,但結果並不會在右欄區域顯示篩選區塊~
在官方搜了issues才知道問題出在哪~(改完之後馬上就秀出來了= =")
原來是如果有裝 ubercart 的話
因為指定了路徑 catalog/ 給商品分類
所以 /admin/settings/taxonomy_filter/advanced 下面
URLs to listen on:
taxonomy/term/%tids/%depth/!feed
要再加上catalog/%tids/%depth/!feed

URL format to output in links:
taxonomy/term/%tids/%depth
可改成catalog/%tids/%depth
這樣不管怎麼撈,頁面上顯示的都會是以商品網格列表~~這個部份按個人偏好自己試用囉!