扩展当前发布/取消发布屏(Extending the current publishing/unpu

2019-09-18 15:47发布

我有,我需要显示一个警告/弹出当编辑人员点击了取消发布菜单命令的要求。 我将展示与是/否按钮弹出,如果选择是,我们出发,显示现有UnPub屏幕。 如果选择否否活动发生,并且用户返回到屏幕。

  1. 这可怎么实现的?

  2. 我们可以扩展/覆盖现有CME命令的,而无需创建自己给自己一个新的命令?

Answer 1:

我刚刚学会如何做到这一点昨天(感谢到努诺利尼亚雷斯) - 你需要熟悉庄家对GUI一个新的编辑器第一。

下一步是找到你想要覆盖(可能是“取消发布”你的情况)的命令的名称。 要做到这一点,最简单的方法是使用GUI中的“检查元素”与Chrome或FieFox,寻找类似c:command="UnPublish"你想扩展按钮。

一旦你有一个基本的编辑器设置,您需要添加新的命令覆盖现有的一个是这样的:

<extensions>
    <ext:dataextenders />
    <ext:editorextensions>
      <ext:editorextension target="CME">
        <ext:editurls />
        <ext:listdefinitions />
        <ext:taskbars />
        <ext:commands />
        <ext:commandextensions>
          <ext:commands>
            <ext:command name="UnPublish" extendingcommand="CustomUnPublishCommand"/>
          </ext:commands>
          <ext:dependencies>
            <cfg:dependency>CustomUnPublish.CommandSet</cfg:dependency>
          </ext:dependencies>
        </ext:commandextensions>
        <ext:contextmenus />
        <ext:lists />
        <ext:tabpages />
        <ext:toolbars />
        <ext:ribbontoolbars />
      </ext:editorextension>
    </ext:editorextensions>
  </extensions>

添加所有的依赖关系(JS和CSS等)和命令引用以正常的方式。

然后写你的JS执行功能,就像任何其他GUI命令,并调用现有的命令您已经在弹出窗口中,像这样的工作后:

CustomUnPublish.prototype._execute = function CustomUnPublish$_execute(selection, pipeline) {
    //Insert some logic to make a popup and confirm
        blnOkToProceed = true;
    //

    if (blnOkToProceed) {

        //EDIT: Original code
        $cme.getCommand("UnPublish")._execute(selection, pipeline);
        //EDIT: Or using the suggestion from @Peter below
        $commands.executeCommand("UnPublish", selection, pipeline);
        //End Edit
    }
    return;
};


文章来源: Extending the current publishing/unpublishing screen