这与此类似 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/