正如剛剛發現的那樣,Tridion關鍵字層次結構是「假的」 - 關鍵字存儲爲平面列表,而不是層次列表(就像您對文件夾所做的那樣)。有關父母和子女關鍵字的信息存儲在關鍵字本身中。
有此解決方案 - 當然,比如你可以在C#TBB使用:
Keyword keyword = new Keyword(new TcmUri("tcm:28-3368-1024"), session);
string hierarchy = keyword.Title;
bool done = false;
while(!done)
{
if (keyword.ParentKeywords.Count > 0)
{
foreach (Keyword k in keyword.ParentKeywords)
{
hierarchy = k.Title + " > " + hierarchy;
}
keyword = keyword.ParentKeywords[0];
}
else
done = true;
}
// Include Category
hierarchy = keyword.OrganizationalItem.Title + " > " + hierarchy;
編輯:更新遞歸「上去」的層次結構。然而,一個關鍵字可以有多個父母,我會留給你修復...
謝謝弗蘭克幫助我。這真是一個很有價值的建議!非常感謝! – Krishnakumar