有人可以提供一些关于如何做到这一点的想法吗?这可能非常简单和基础,但我无法弄清楚。
这是我的要求。
我有一个带有子关键字 B 的类别 A,而 B 有另一个子关键字 C。
我想获取组件模板中所选关键字的确切路径,例如,如果用户选择关键字 C,我需要路径为 A\B\C 的值,而不仅仅是 C。但 Tridion 总是给我值作为 C 而不是 A\B\C 。组件模式使用“树”视图来选择关键字。
我应该编写 Dreamweaver 自定义函数来处理这个问题吗?或者 tridion 是否附带了一些处理程序?
任何帮助将不胜感激。谢谢你!
谢谢,
KK
正如您刚刚发现的,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;
编辑:更新为递归地“向上”层次结构。然而,一个关键字可以有多个父级,我将把这个问题留给您来解决......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)