如何从Tridion中的关键字获取完整的类别路径

时间:2012-10-25 11:20:37

标签: tridion tridion-2011

任何人都可以帮助我从给定的关键字获取完整的类别路径。我举一个如下例子,

示例:

第1类---->关键字1 ----->关键字11,

从元数据说我得到了值“关键字11”,但我需要整条路径,即/ Category 1 / Keyword 1 / Keyword 11.

任何人都可以帮助我使用c#在模板构建块中实现这一目标。

2 个答案:

答案 0 :(得分:4)

也许您可以尝试使用以下其中一项:

  • keyword.ParentKeywords以递归方式创建您要查找的路径。
  • OrganizationalItem oi = keyword.OrganizationalItem; //获取所有组织项目
  • keyword.OwningRepository

希望有所帮助!

答案 1 :(得分:3)

下面的代码可以帮助您获取路径。

bool isRecursive = false;
KeywordField kwdField = (KeywordField)metaFields["kwdField"];
Keyword curKwd = new Keyword(kwdField.Value.Id, engine.GetSession());
string kwdPath = curKwd.Title;
while (!isRecursive) {
  if (curKwd.ParentKeywords.Count > 0){
     foreach (Keyword kwd in curKwd.ParentKeywords) {
        kwdPath = kwd.Title + "/" + kwdPath;
     }
     curKwd = curKwd.ParentKeywords[0];
  } else {
     isRecursive = true;
  }
}
kwdPath = curKwd.OrganizationalItem.Title + "/" + kwdPath;