SharePoint 2013 ECB 自定义扩展菜单

来源:互联网 发布:防破解网络验证 编辑:程序博客网 时间:2024/05/22 12:57

 在对SharePoint进行开发或者功能扩展的时候,经常需要对一些默认的菜单进行扩展,以使我们开发的东西更适合SharePoint本身的样式。SharePoint的各种功能菜单,像网站设置、Ribbon、列表里的下拉等等,都是一样原理的,都是XML+JS脚本实现的,如果想实现这些功能,只需要一个XML发布成Feature,并在网站功能启用,即可。

  其实,关于这个并没有什么过多可以说的东西,大家在实践中,渐渐理解了。下面,我就举几个简单的例子,做一下简要说明。

项目结构

  新建一个空白的SharePoint 2013项目,添加一个Feature文件,一个菜单定义的XML文件,如下图。

clip_image001

例五 扩展文档库ECB菜单

扩展后截图

clip_image009

扩展XML

复制代码
<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/">  <CustomAction     Id="MyTopMenuLink"     Location="EditControlBlock"     RegistrationType="List"     RegistrationId="101"     Sequence="0"     Title="博客园-霖雨">    <UrlAction Url="http://www.cnblogs.com/jianyus"/>  </CustomAction></Elements>
复制代码

  如上图,因为Sequence是0,所以这个菜单在最上面,如果想要移动位置,设置这个值即可。

原文地址:http://www.cnblogs.com/jianyus/p/3375613.html

再此基础上,可扩展 UrlAction 中的Url,增加参数以满足我们的实际需求。

常用写法为
 <UrlAction Url="http://www.cnblogs.com/jianyus?ItemId={ItemId}"/>
{ItemID}为文档ID。{ItemUrl}为文档地址。{ListId}为文档库ID。{Source}为文档库地址。{SiteUrl}为网站地址。
注意:区分大小写。
如果要控制该选项只出现在文档后面,而不出现在文件夹后面的话。需要修改
 RegistrationType="ContentType"  RegistrationId="0x0101" 
例如:
<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/">  <CustomAction     Id="MyTopMenuLink"     Location="EditControlBlock"     RegistrationType="ContentType"      RegistrationId="0x0101"      Sequence="0"     Title="评论一下">    <UrlAction Url="http://www.baiu.com?SiteUrl={SiteUrl}&amp;ItemUrl={ItemUrl}"/>  </CustomAction></Elements>

0 0
原创粉丝点击