• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
C罗.net
DotNetNuke vs SharePoint
博客园    首页    新随笔    联系   管理    订阅  订阅

自定义MOSS中的上下文菜单 (转)

修改文档库的上下文菜单 

1)编辑一段我们需要添加到客户端的脚本 

<script language="javascript"> 

function Custom_AddDocLibMenuItems(m, ctx) 

{ 

  var strDisplayText = "你好?"; // 菜单项的显示文字 

  var strAction = "alert('不好!')"; // 菜单项的实际功能 

  var strImagePath = ""; // 菜单项的显示图片 



  // 将菜单项添加到上下文菜单中 

  CAMOpt(m, strDisplayText, strAction, strImagePath); 



  // 添加一个分隔栏 

  CAMSep(m); 



  // 如果为true,不显示系统默认的菜单项 
  // 如果为fasle,显示系统默认的菜单项 

  return true; 

} 

</script> 

(2)将自定义JavaScript脚本添加到页面中 
浏览到需要添加到自定义菜单的文档库网站 
“修改共享网页”=〉“添加Web部件”=〉“浏览” 
将“内容编辑Web部件”拖动到页面中 
选择“修改共享Web部件” 
在“布局”中,除去“在网页上显示”的复选框 
单击“源编辑器...”按钮,将写好的JavaScirpt脚本添加到对话框中,保存。 
现在单击文档库文件的上下文菜单,应该只可以看到自己添加的菜单项了 

实现原理 
在服务器端的ows.js文件中我们可以看到如下的代码段 


function AddDocLibMenuItems(m, ctx) 

{ 

  if (typeof(Custom_AddDocLibMenuItems) != “undefined”) 

  { 

  if (Custom_AddDocLibMenuItems(m, ctx)) 

  return; 

  } 


  //其他 

其中的Custom_AddDocLibMenuItems(m, ctx)就是sps为我们提供的接口 


如果你想在MOSS中自定义列表或文档库中的上下文菜单,可以使用CustomAction的Feature来实现,也可以直接在页面上加一个内容编辑器(包括特定的一段Javascript)来实现,比如:
<script language="javascript">
function Custom_AddListMenuItems(m, ctx)
{
  strDisplayText = "Send Email";
  strAction = "STSNavigate('url')";
  strImagePath="";
  menuOption = CAMOpt(m,strDisplayText,strAction,strImagePath);
  menuOption.id = "ID_MySubMenu";
  return false;
}
</script>

个人感觉后面一种方式很有趣,灵活性较大。搜索了一下,发现两篇关于实现的方法,一中一英,呵呵,希望对你有所帮助。

用javascript自定义SharePoint文档库/列表项菜单 
http://www.cnblogs.com/ycc/archive/2007/10/30/942223.html 

Customizing SharePoint Context Menus
http://blogs.msdn.com/bowerm/articles/175691.aspx

posted @ 2008-10-27 23:11  皇上爱累了  阅读(270)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3