2010-02-21 54 views
2

在視圖中,是否可以配置cck分類學字段,以便用戶搜索更高級的分類術語也與其父母相匹配?說我有這種分類稱爲地方:Drupal:具有深度過濾的cck分類學字段

Asia 
    China 
     Shanghai 
     Beijing 
    Japan 
     Tokyo 
     Nagoya 
    Indonesia 
     Bandung 
     Banjar 
Europe 
    France 
     Paris 
     Lyon 
    Germany 
     Berlin 
     Hamburg 
    UK 
     London 
     Birmingham 
North America 
    Cananda 
     Toronto 
     Ottawa 
    USA 
     New York 
     Texas 

我希望用戶能夠選擇,比如,歐洲和查找所有內容相匹配的法國,德國和英國他們的孩子節點。

回答

0

當您使用上海生物分類保存項目時,文章僅獲得上海分類。

理想情況下,您希望獲得亞洲,中國,上海的分類標準。這樣,當有人搜索到亞洲時,您將獲得該文章。

執行此操作的方法是使用分層選擇模塊。在上海被保存的時候,它的一個設置將會強制所有的父項(即亞洲,中國)的分類。

請問我是否在定位此設置時遇到問題。

0

您可以使用taxonomy_get_tree()以及該術語的$ parent參數來獲取術語列表,然後在WHERE x IN()子句中使用該術語,這很難看,並且將被限制爲某個數量的術語,但會執行您的操作想。

您可能會發現solr會開箱即用,但我確實不知道。

0

你可以使用分類樹treemenu模塊from here,它會花費你不到10分鐘:),從那裏讀取QUICKSTART文件。

0

我相信他是指用Views來做這件事,這樣當有人搜索並說'日本'時,它也會得到亞洲的結果。這將需要一個參數,分類:術語ID(深度)。

從那裏,您將檢查$ node-> taxonomy,並使用tid,獲取其父項,使用taxonomy_get_tree獲取子項並返回所有值。這需要編寫一些PHP代碼來驗證並返回分類。如果你不知道該怎麼做,我可以詳細說明。