设为首页 收藏本站
查看: 887|回复: 0

[经验分享] SharePoint 2010自定义开发Ribbon

[复制链接]

尚未签到

发表于 2015-9-29 09:17:39 | 显示全部楼层 |阅读模式
  SharePoint 2010中的Ribbon可以进行定制开发,通过使用XML和JavaScript。其中,XML定义了Ribbon中的控件,JavaScript脚本实现了Ribbon的功能,在SharePoint Foundation 2010中,有专门的ECMAScript (JavaScript, JScript).对象模型,在之前介绍客户端对象模型开发时曾经提到过,关于ECMAScript对象模型(非常强大),将在一篇单独的文章中介绍。
    可以看到,Ribbon通过前台脚本来实现对应的功能,我们可以添加Ribbon、替换或删除已有的Ribbon,我将使用Visual Studio 2010创建一个非常简单的Ribbon,点击弹出“Hello Ribbon!”。
    首先,在Visual Studio 2010中创建一个“空白SharePoint项目”,我把它命名成“TestRibbon”:
DSC0000.jpg
  添加定义Ribbon的XML文件,右键单击项目,添加----New Item,选择一个“Empty Element”,如图,为了掩饰方便,我使用默认的命名,如果你修改了XML文件的名字,记得要同时修改Feature中对应的名字:
DSC0001.jpg
  打开XML文件,将以下内容添加进去:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
        <CustomAction Id="Ribbon.CustomGroup" RegistrationId="101" RegistrationType="List" Title="New Ribbon Button"
                Location="CommandUI.Ribbon">
                <CommandUIExtension>
                        <CommandUIDefinitions>
                                <CommandUIDefinition
          Location="Ribbon.Documents.New.Controls._children">
                                        <Button Id="Ribbon.Documents.New.MyButton"
                                          Command="MyButtonCommand"
                                          Image32by32="/_layouts/images/PPEOPLE.GIF"
                                          LabelText="Hello Ribbon"
                                          TemplateAlias="o2" />
                                </CommandUIDefinition>                                
                        </CommandUIDefinitions>
                        <CommandUIHandlers>
                                <CommandUIHandler
          Command="MyButtonCommand"
          CommandAction="javascript:alert('Hello,Ribbon!');" />
                        </CommandUIHandlers>
                </CommandUIExtension>
        </CustomAction>
</Elements>
在上面的XML中,<CommandUIDefinitions>节点定义了Ribbon的位置及Ribbon中的控件,<CommandUIDefinitions>节点实现了Ribbon的功能,二者通过Command属性进行关联,功能非常简单,弹出一&#8221;Hello,Ribbon!&#8221;对话框,在CommandUIDefinition中定义了Ribbon的位置,Ribbon.Documents.New即Documents标签New组下,Button控件定义了它显示的文字和图片。
这样,一个非常简单的Ribbon就完成了,发布。
找到对应的路径,文档库Ribbon的Document标签New组下,如图,已经有了我们创建的Hello Ribbon,点击,弹出&#8220;Hello ,Ribbon!&#8221;对话框。
DSC0002.jpg
  细心的朋友可能会发现,这个过程怎么这么眼熟?没错,自定义一个Ribbon跟之前我们部署Feature是一样,实际上,这就是一个Feature,在&#8220;站点集功能&#8221;中,能看到:
DSC0003.jpg
  在对应的路径下,也有我们的定义文件:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\TestRibbon_Feature1。因此,我们完全可以通过像之前部署Feature一样来添加Ribbon,这儿就不在赘述。
    另外,在SharePoint 2010中已经定义了非常多的Ribbon,请参阅http://msdn.microsoft.com/en-us/library/ee537543(office.14).aspx,他们的定义在C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\GLOBAL\XML\ CMDUI.XML文件中。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-120273-1-1.html 上篇帖子: Customizing Themes for Sites Created with Windows SharePoint Services 下篇帖子: SharePoint 2010初体验(一)Excel Services 2010
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表