一.自定义文档库/列表库中项目的右键关联菜单
 
     原始菜单如下图所示:
 
自定义moss菜单汇总(参考皮皮及网上的相关文章)(一)_职场
 
下面开始我们本次的工作历程:
首先,找到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\这个目录下的2052目录(这个默认是中文版本的路径,英文版本的MOSS是1033目录),其中有个core.js的JS文件,MS已经给我们预留了自定义的接口来实现我们自己的菜单定义了
添加以下两个JS的函数代码:
funtion AddListMenuItems(m,ctx)
{
 if(typeof(Custom_AddListMenuItems) != "undefined")
 {
  if(Custom_AddListMenuItems(m,ctx))
   return;
 }
}
funtion AddDocLibMenuItems(m,ctx)
{
 if(typeof(Custom_AddListMenuItems) != "undefined")
 {
  if(Custom_AddListMenuItems(m,ctx))
   return;
 }
}
然后我们实现自定义函数AddListMenuItems(列表库)和AddDocLibMenuItems(文档库)
,在页面右上角点击‘网站操作’--编辑网页--添加Webpart部件,选择
自定义moss菜单汇总(参考皮皮及网上的相关文章)(一)_MOSS_02
点击Webpart部件右边的‘编辑’--修改共享Webpart部件
自定义moss菜单汇总(参考皮皮及网上的相关文章)(一)_菜单_03
在页面中点击‘源编辑器’
 
,在弹出的窗口中添加自定义函数AddListMenuItems(列表库)和AddDocLibMenuItems(文档库)
<script language="javascript">
function Custom_AddDocLibMenuItems(m, ctx)
{
    strDisplayText = "报表统计";
    var rootMenu = CASubM(m,strDisplayText,"","",500);
    strDisplayText = "汇总表";
    strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&amp;ListId={ListId}')";
    strImagePath=ctx.p_w_picpathsPath+"oisweb.gif";
    menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
    menuOption.id = "ID_MySubMenu";
    //var rootMenu = CASubM(m,strDisplayText,"","",500);
    strDisplayText = "数字统计表";
    strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&amp;ListId={ListId}')";
    strImagePath=ctx.p_w_picpathsPath+"oisweb.gif";
    menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
    menuOption.id = "ID_MySubMenu";
    strDisplayText = "行列汇总表";
    strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&amp;ListId={ListId}')";
    strImagePath=ctx.p_w_picpathsPath+"oisweb.gif";
    menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
    menuOption.id = "ID_MySubMenu";
    strDisplayText = "并列汇总表";
    strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&amp;ListId={ListId}')";
    strImagePath=ctx.p_w_picpathsPath+"oisweb.gif";
    menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
    menuOption.id = "ID_MySubMenu";
    return false;
}
</script>
点击保存--应用--确定--退出编辑模式
 
好,看到我们期待已久的最终结果,
 
自定义moss菜单汇总(参考皮皮及网上的相关文章)(一)_自定义_04