我发现PublishWithSubs()
方法只能发布父节点的第一级节点。
doc.PublishWithSubs(new User(0));
无论未发布的节点有多深,我如何在一个父节点下发布所有未发布的节点?
由于
答案 0 :(得分:1)
Document
类上有一个名为PublishWithChildrenWithResult()
的方法。根据源代码,这将递归地发布分支下的所有内容:
public bool PublishWithChildrenWithResult(User u)
{
if (PublishWithResult(u))
{
foreach (cms.businesslogic.web.Document dc in Children.ToList())
{
dc.PublishWithChildrenWithResult(u);
}
}
else
{
return false;
}
return true;
}
答案 1 :(得分:0)
使用较新的ContentService API,您可以这样做:
var cs = ApplicationContext.Current.Services.ContentService;
cs.PublishWithChildrenWithStatus(nodeToPublish, includeUnpublished:true)
最后一个参数允许您指定是否还要发布未发布的后代。 这个方法有点命名,因为它会发布所有后代,而不仅仅是孩子。