如何在Sitecore中发布时删除媒体文件之前将其存储在其他位置

时间:2015-08-27 14:16:00

标签: sitecore sitecore7

在媒体库中我创建了一个名为产品pdf 的节点,在此项目下我上传了一个pdf,现在在 Child pdf 1 >产品pdfs 节点,其中包含pdf文件。

现在我删除 Child pdf 1 节点,如果我发布产品pdfs 节点,pdf文件也会被删除。 但是我想在发布Product pdfs节点之前将Child pdf文件存储在其他位置之前。 我怎样才能做到这一点。

我们可以通过使用EventQueue来实现这一目标 要么 我们必须在管道处理器中进行更改。

由于

1 个答案:

答案 0 :(得分:0)

为了在项目被删除之前存储/复制媒体,您可能需要实现一个事件处理程序。您正在查看的事件称为项目:删除(不要混淆项目:已删除)。因此,在您的配置中注册您的事件处理程序:

 protected void OnItemDeleting(object sender, EventArgs args)
 {
      if (args == null)
          return;

    Item obj = Event.ExtractParameter(args, 0) as Item;
     Assert.IsNotNull((object) obj, "No item in parameters");

    // do some actions to manipulate your media here, before it is deleted
}

在该类中实现 OnItemDeleting 方法,如下所示:

app.controller('MyController', function($scope, header, myDirectiveManager) {
  myDirectiveManager.getPromise().then(function(directive){
    directive.clear();
    directive.setTitle(header.title);
    directive.setTotal(header.total);
 });

});

希望有所帮助!