gpt4 book ai didi

tridion - 如何获取 KeywordFieldDefinitionData 类型字段的类别的 TCM URI?

转载 作者:行者123 更新时间:2023-12-04 15:24:26 26 4
gpt4 key购买 nike

我想获取 KeywordFieldDefinitionData 类型字段的类别的 TCM URI。

我正在使用以下链接的代码来读取组件的元数据字段:-

https://code.google.com/p/tridion-practice/wiki/ChangeContentOrMetadata

我可以在 Reference.cs 类中看到 Category 和 CategoryFields 属性(在给出对核心服务的引用时自动生成),但 Field 类中没有定义属性(在上面的 code.google 链接中定义)来访问 Category 和 CategoryFields 属性。我尝试以下列方式定义该属性:-

     public System.Reflection.PropertyInfo Category
{
get { return definition.GetType().GetProperty("Category", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic); }
}

即使以上也不起作用,请你们中的任何人分析并回复。

提前致谢!

最佳答案

您需要读取每个 SchemaField 定义数据并检查 Type 是否为 KeywordFieldDefinitionData然后获取类别信息。请参阅下面的示例代码段。

SchemaFieldsData schemaFields = (SchemaFieldsData)_client.ReadSchemaFields(
"tcmuriofschema", true, readOptions);
foreach (ItemFieldDefinitionData schemaField in schemaFields.Fields) {
switch (schemaField.GetType().Name) {
// handle other fields..
// CategoryLink Fields
case "KeywordFieldDefinitionData":
KeywordFieldDefinitionData keywordTextSchemaField = (KeywordFieldDefinitionData)schemaField;
string LinkedCategoryTitle = keywordTextSchemaField.Category.Title;
string LinkedCategoryId = keywordTextSchemaField.Category.IdRef;
break;
default:
break;
}
}

关于tridion - 如何获取 KeywordFieldDefinitionData 类型字段的类别的 TCM URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14516488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com