[inmediahk] content type 自動 taxonomy link

要實現的功能是 "自動放一個內容類型連結"
例如一個"專欄文章"的node, 便放一個連結到頁尾, 可以連結到"專欄文章列表"
"站外連結"node 便連到"站外連結列表"
難度在於"自動"的一部份
因為taxonomy 是用戶選的
連內建的forum 也需要用戶選擇正確的分類
所以連結不難, 但"自動化"便難

原本打算使用taxonomy, 再自己hack 一下form api, 讓它自動成為某一taxonomy
但後來用了一個更好, 更方便, 但沒有那麼直觀的方法
便是用views 的argument, 配合themes

首先在node.tpl.php內, 找出node 的type
但 $node->type 只有一個machine readable 的類型名字
連node_load() 也只有 一個英文的類型名字
番了api, node_get_types('name',$node) 才是正確得出內容類型名字的函數

而連結的地址是一個views (content_type/[node-type])
例如"專欄文章"便連到content_type/column
"站外連結"便是content_type/external_links
[node-type] 可以用 $node->type 找到
先建立一個views頁面, url 為 content_type
再在views 的 argument 內加上Node type
而其他的顯示設定和一般的taxonomy
便得到一個"偽"taxonomy link 了

又一次見證views 的強大
這個方法雖然沒有原生一個taxonomy
但同樣做到taxonomy 做的東西

Google