一.自定义文档库/列表库中项目的右键关联菜单
原始菜单如下图所示:
下面开始我们本次的工作历程:
首先,找到 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部件,选择
点击Webpart部件右边的‘编辑’--修改共享Webpart部件
在页面中点击‘源编辑器’
,在弹出的窗口中添加自定义函数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}&ListId={ListId}')";
strImagePath=ctx.imagesPath+"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}&ListId={ListId}')";
strImagePath=ctx.imagesPath+"oisweb.gif";
menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
menuOption.id = "ID_MySubMenu";
strDisplayText = "行列汇总表";
strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&ListId={ListId}')";
strImagePath=ctx.imagesPath+"oisweb.gif";
menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
menuOption.id = "ID_MySubMenu";
strDisplayText = "并列汇总表";
strAction = "STSNavigate('~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&ListId={ListId}')";
strImagePath=ctx.imagesPath+"oisweb.gif";
menuOption = CAMOpt(rootMenu,strDisplayText,strAction,strImagePath);
menuOption.id = "ID_MySubMenu";
return false;
}
</script>
点击保存--应用--确定--退出编辑模式
好,看到我们期待已久的最终结果,