tridion - 我应该如何从 DWT 获取关键字 Key

标签 tridion tridion-2011

这与此类似 XSLT question ,但最终是 DWT。

我们可以获得keyword's key via a C#待定。

ItemFields fields = new ItemFields(component.Metadata, component.Schema);
KeywordField keywordField = fields["state"] as KeywordField;

String stateValue = package.EvaluateExpression("Component.Metadata.state");

package.PushItem("statekey", package.CreateStringItem(ContentType.Text, keywordField.Value.Key));

在 DWT 中,我有时需要组件中选定关键字的key

从包中添加和获取这些是正确的方法吗?

@@Component.Metadata.State@@ 获取值。直接从 DWT 引用 key 会很棒,但我还没有看到任何表明 DWT 公开它的信息。

最佳答案

作为约翰答案的另一个替代方案。如何采用与 Will 的“获取组件模板 Uris”类似的方法并编写一个 TBB 来迭代类别的关键字并将它们写入具有所需输出值的包中?然后,您可以通过“双重评估”直接从 DWT 使用这些值,例如:

@@Keyword${Component.Metadata.state}Value@@

关于tridion - 我应该如何从 DWT 获取关键字 Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12509454/

相关文章:

.net-3.5 - 以逗号分隔 Tridion 多值字段的最快方法

tridion - 在 Tridion 2011 SP1 中实现存储扩展时,未定义名为 No bean

tridion - 联系 Profilesync.aspx 抛出 "Attempt to load JVM failed on native side"

tridion - 您如何使用SDL Tridion 2011 GUI(使用Chrome或Firefox)查看列表中的项目数?

tridion - 使用 SDL Tridion 2011 SP1 在富文本字段中创建 anchor 链接

tridion - 安装 Tridion 2011 SP1 后,Content Delivery 服务在哪里?

tridion - FieldOperator 类不包含静态常量

tridion - 使用 Tridion TMS 连接器,为发送的翻译文本添加注释

tridion - 获取 SDL Tridion 中已发布元素的 URL