我一直试图在Umbraco 7中以编程方式取消发布内容,但似乎没有按预期工作。虽然内容已从缓存中删除,但数据库记录从未更新过:
node.UnPublish();
umbraco.library.UnPublishSingleNode(node.Id);
经过进一步调查,我发现 UnPublishSingleNode 方法已经过时了:
[Obsolete("This method is no longer used,
a document's cache will be removed automatically
when the document is deleted or unpublished")]
public static void UnPublishSingleNode(int DocumentId);
该消息没有提出新的方法:(
我需要有关如何以编程方式取消发布内容的说明。
Umbraco版本: 7.3.3
答案 0 :(得分:5)
我终于通过Umbraco.Core.Services.IContentService
<强>用法:强>
var contentServices = ApplicationContext.Current.Services.ContentService;
var content = contentServices.GetById(node.Id);
contentServices.UnPublish(content, 0);
我希望这有助于其他人。