這個問題其實困擾TKY蠻久了,不過現在才有需要解決的壓力,提出來問一下大家。
TKY建置過一些學術網站,這些網站最主要的內容包括師資的介紹,而TKY通常會以不同的分類方式來管理師資內容類型。
比方說「聘任」是一個vocabuary,底下有專任、兼任的term,而職稱是另一個vocabuary,底下會有教授、副教授、助理教授等等term。
現在TKY想做一個view,用過濾器篩出分類為專任的師資,並且以師資的職稱(term order)來排序。
不過TKY發現說,在排序上,drupal似乎有它自己的作法:它似乎是以vid和tid最小者當作最優先的排序指標,以至於當TKY以term order來排序時,views沒法子按照TKY的希望,選用「職稱」底下的term來排序,而是以「聘任」去排。
結果因為這些資料都是以「專任」的term過濾出來的,term order都一個樣,有排等於沒排。
TKY想搞清楚,這部份是否有簡單的解法?是TKY搞不清楚taxonomy的排序方式,還是說得另外裝模組來搞定這件事情?
麻煩大家了
TKY
Re: term排序問題
請問TKY你的這個問題最終解決了嗎?我遇到了相同的問題,還沒找到答案。
Re: term排序問題
襪賽,這好久以前的事情,我都忘了差不多說。
不過追憶起來(阿茲海默症口吻),我記得我是有解決這個問題的。
依稀好像是說,如果你要在 sort criteria 排序條件那邊以自訂的方式來排序 term 、而不是按照 tid 去排,那你就得滿足以下條件:
原則就是:你想用自訂權重的方式排序某個主分類底下的次分類,就一定要在 filter 中使用(選取)那些次分類。
我記得 D6 + Views 是這樣解的,不過沒在 D7 + Views 中試過。應該是大同小異(或者 D7 根本不需要這道手續?)
Re: term排序問題
萬能方法:
http://www.notabluescreen.com/hook_views_query_alter
最後修改增加一個 SQL order by "想要的東西"
Re: term排序問題
已解决。term排序在drupal7里相当简单,无需修改代码:只要在views的“SORT CRITERIA“下添加”分类术语: 轻重 (asc)”,即可实现。见附图sort_criteria.png