2013年11月3日 星期日

Umbraco的Tag實作

現在網頁流行使用Tag,標籤。
在Umbraco中使用標籤的技術只要搞懂了就很簡單。一開始,倒是花了不少時間在測試。
幾個觀念得先記下來。
  1. Tags資料型態:Umbraco 有提供預設資料型態。但不建議直接使用,除非你整個網站都是用相同的標籤系統。例如說,部落格有自己的標籤,FAQ要有自己的標籤,那就得個別建自定資料型態。
  2. Tag group:延續前面,如果要有個別的標籤系統,那就分別為其定義群組名稱。注意,這個在程式時很重要。
在資料型態定義的地方完成上述工作後。接著當然是定義Document Type,把某個欄位使用這個資料型態。
如果是在backoffice的話,那就可以直接使用了。

如果是程式的話就得小心。其實也很簡單。
要呈現時,就將欄位物件轉成字串,再用spli(',')切開就得到一個一個的tag,接著就是看你要怎麼呈現了。

如果是要新增怎麼辦?
首先就是要搞清楚是用哪一個Tag group。
再來使用
Tag.AddTagsToNode(contentID, Tags, TagGroup)
他的觀念是把tag與content連結在一起。
如果你前台處理時,tags是用,結合的字串,就可以直接使用。

若是要更新的話,我目前作法是有點笨,先移除現在,再新增新的。
移除的話是
Tag.RemoveTagsFromNode(contentID, TagGroup)


當然,Unbraco的Package有一個Tag Manager可以安裝使用,協助你管理Tag。