如何使用核心服务取消发布Tridion中的已发布页面?

时间:2012-08-22 05:19:50

标签: tridion tridion-2011

我在一个出版物的结构组中创建了一些页面。 我想使用核心服务取消发布所有这些已发布的页面。 任何人都可以帮助我吗?

2 个答案:

答案 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效果最佳。