我在一个出版物的结构组中创建了一些页面。 我想使用核心服务取消发布所有这些已发布的页面。 任何人都可以帮助我吗?
答案 0 :(得分:9)
您可以使用CoreService客户端的.UnPublish方法,向其传递您希望从中取消发布Pages的StructureGroup的URI。这就是CoreService API的参考资料(非常值得阅读......):
取消发布IdentifiableObjectData实例的集合 给定目标。
IEnumerable<PublishTransactionData> UnPublish(
IEnumerable<string> ids,
UnPublishInstructionData unPublishInstruction,
IEnumerable<string> targets,
Nullable<PublishPriority> priority,
ReadOptions readOptions
)
<强>参数强>
IDS
Type: System.Collections.Generic.IEnumerable<String>
要取消发布的项目的标识符集合(TCM URI或WebDav URL)。
unPublishInstruction
Type: Tridion.ContentManager.Data.Publishing.UnPublishInstructionData
取消发布行动的指示。
目标
Type: System.Collections.Generic.IEnumerable<String>
表示要从中取消发布的发布目标或目标类型的目标标识符的集合。这不能包含两者的组合。
优先
Type: System.Nullable<PublishPriority>
取消发布操作的优先级。传递null将使用发布目标的优先级。
readOptions
Type: Tridion.ContentManager.CoreService.ReadOptions
指定取消发布后如何回读“发布事务”。如果参数为null,则使用None读取项目。
返回值
PublishTransactionData
答案 1 :(得分:7)
我没有为您提供复制/粘贴代码段,但鉴于Jeremy摘自相关方法的API文档以及发布项目的这些示例,它应该不会非常困难:
请注意,如果 你 首先自己完成一些工作,然后告诉我们你被困在哪里,Stack Overflow效果最佳。