首页 > 解决方案 > Episerver/CMS & Dojo/Aspect——如何在 Dojo 中捕获 revert to publish 事件?

问题描述

“Revert to Published”的发布事件中,我找到了“附加”到 revertToPublished 事件的代码。

dojo.require(["dojo/aspect", "epi/dependency"], function(aspect, dependencey) {
    var editingCommands = dependency.resolve("epi.cms.contentEditing.command.Editing");
    aspect.before(editingCommands.revertToPublished, "_execute", function() {
        // TODO: Reverting Content To Published
    });
});

基本上代码是正确的并且应该可以工作,但如果我在我的小部件中设置它,至少在我的小部件中

postCreate: function () {}

不是这样的,建议方法永远不会被调用。方法注册之前之后都不起作用。周围的注册工作并立即调用(应该如此)。

我想我错过了一些具体的东西。充分的解决方案也是能够检查模型是新加载的,因此没有属性跟踪变化。

标签: dojoepiserver

解决方案


下面的代码可以达到目的。

aspect.before(
  dependency.resolve("epi.cms.contentEditing.command.Editing").model,
  "revertToPublished",
  function() {});

推荐阅读