我想使用核心服务在SDL Tridion 2011中创建一个空白组件.我在流程开始时获得的唯一信息是Schema URI.模式可以包含任何类型的字段(文本,rtf,数字日期,嵌入等),其中一些可能是强制性的.
我理解,对于必填字段,我需要在其中保存一些虚拟值,这是可以接受的,因为它们将在以后手动更改.
我怎样才能实现这一目标?
首先 - 确保在架构中将所有字段都设置为可选字段,否则这将永远不会起作用.
第二 - 你救了.
当可选字段没有值时,它将没有XML表示.如果您有一个定义如下组件的模式:
当所有字段都是可选字段并在字段2中保存值时,Tridion将存储以下内容:
<Content xmlns="yourNamespace"><Field2>SomeValue</Field2></Content>
Run Code Online (Sandbox Code Playgroud)
如果您的某个字段不是必填字段,那么您必须提供一个值.如果您正在使用CoreService,那么您可以使用ReadSchemaFields类来获取字段和一些有关它们的信息 - 类型,强制/可选等.
查看您的问题/要求,了解您正在寻找的内容,以便我们尽可能地回答相关问题.
您是否在询问"如何使用核心服务编写用于创建组件的通用代码?" 而不是创建具有特定模式的组件,而不是预先知道所有字段.
如果您正在寻找,那么您需要做的是:
请注意,如果在Tridion Schema中将字段标记为必需,则必须填写一个值,并且必须与模式中定义的字段类型匹配.
可以在此处找到通过Core Service示例代码读取模式字段
此处已经通过核心服务更新组件的字段:使用SDL Tridion 2011中的核心服务更新组件
该帖子指向您可以在此处找到的帮助程序类:使用SDL Tridion 2011中的核心服务更新组件
如果这些没有帮助您创建组件,我建议您发布代码而不是要求我们为您编写代码.
| 归档时间: |
|
| 查看次数: |
465 次 |
| 最近记录: |