是否可以将自定义操作添加到版本中?
-
16-10-2019 - |
题
我需要在文件的版本中添加自定义操作。最佳地,我希望它在版本历史页面上:
一个 次好的 将是版本显示表单(单击上一个菜单上的视图的结果):
用户已经在使用版本历史记录,并希望轻松地从特定版本中复制一些详细信息。我想避免让他们在我自己的窗口中再次选择版本。
解决方案
该菜单是在core.js文件中内置的JavaScript。如果您需要添加新的菜单项,则必须覆盖此文件……不酷。
更好的方法是 使用JavaScript覆盖功能 在Core.js中创建菜单。您只需要在core.js文件之后引用文件,然后小心延期加载即可。
关于版本显示表单,模板定义 DefaultTemplates.ascx
使用ID DocLibDisplayFormVersionToolBar
.
我想您可以自行覆盖默认渲染。
其他提示
我能够按照吉卢克斯在评论中建议的那样添加菜单项。通过从core.js覆盖方法:
// keep original version
var original_AddVersionMenuItemsCore;
// override the function from Core.js
function Kobi_AddVersionMenuItemsCore(m, ctx) {
// first, add the original menu items:
original_AddVersionMenuItemsCore(m, ctx);
// add my menu item:
var menuOption = CAMOpt(m, "Add Version to My Project",
"javascript:alert('This one');",
"/_layouts/images/mewa_gotoNamedItems.gif");
menuOption.id = "ID_Kobi_AddVersionToProject";
}
function Kobi_AddVersionActionsOnLoad(){
original_AddVersionMenuItemsCore = AddVersionMenuItemsCore;
AddVersionMenuItemsCore = Kobi_AddVersionMenuItemsCore;
}
// run the method at window load event
_spBodyOnLoadFunctionNames.push("Kobi_AddVersionActionsOnLoad");
结果:
Google和这些文章提供了一些帮助: