修改文档库、列表库中项目的右键关联菜单

    首先,找到C:Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS这个目录下的2052目录(这个默认是中文版本的路径,英文版本的MOSS是1033目录),其中有个core.js的JS文件,MS已经给我们预留了自定义的接口来实现我们自己的菜单定义了,分别是下面的两个函数

funtion AddListMenuItems(m,ctx)
{
if(typeof(Custom_AddListMenuItems) != "undefined")
{
 if(Custom_AddListMenuItems(m,ctx))
 }
}
  
funtion AddDocLibMenuItems(m,ctx)
{
if(typeof(Custom_AddListMenuItems) != "undefined")
{
 if(Custom_AddListMenuItems(m,ctx))
 }
}

  我们实现自定义函数Custom_AddListMenuItems(列表库)或Custom_AddListMenuItems(文档库)
function Custom_AddListMenuItems(m, ctx)
{
    if (HasRights(0x0, 0x4))
    {

        var strDisplayText = "修改状态";

        var strAction = "STSNavigate('" + ctx.editFormUrl + "?ID=" + currentItemID + "&Source=" + GetSource() + "')";

        var strImagePath = ctx.imagesPath + "edititem.gif";

       //如果有二级菜单,把下面函数的参数m改为相应的父菜单
        var menuOption = CAMOpt(m, strDisplayText, strAction, strImagePath, null, 220);

        menuOption.id = "ID_EditItemUpdate";

    }
}

把上面的代码加到相应的列表或文档库上,就实现了右键菜单的自定义

原文地址:https://www.cnblogs.com/Bany/p/1828338.html