代码改变世界

自定义EditingMenu、AccessMenu、SiteAction、RTE2ToolBar

2007-08-06 10:13  努力学习的小熊  阅读(1780)  评论(3编辑  收藏  举报

自定义EditingMenuAccessMenuSiteActionRTE2ToolBar

在如下位置找到我们要自定义菜单的描述XML文件。
   

签出CustomEditingMenu.xml文件,编辑如下内容:

<?xml version="1.0" encoding="utf-8" ?>

<Console>

  <references>

    <reference TagPrefix="cms" assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral,

      PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.Publishing.WebControls.EditingMenuActions" />

  </references>

  <structure>

    <ConsoleNode ConfigMenu="Add" Sequence="600"

      NavigateUrl="javascript:" AccessKey="L" DisplayText="Links"

      UserRights="EmptyMask" UseResourceFile="false"

      RequiredStates="InSharedView" ID="LinksMenu" >

      <ConsoleNode

        DisplayText="View Pages Library"

        UseResourceFile="false"

        ImageUrl="/_layouts/images/ActionsSettings.gif"

        UserRights="BrowseDirectories|ManageLists" 

        RequiredRightsMode="Any"

        PermissionContext="CurrentSite"

        IsSiteRelative="true" 

        NavigateUrl="Pages/forms/allitems.aspx" 

        ChangedNodeID="ViewPagesList">            

      </ConsoleNode>

      <ConsoleNode IsSeparatorImage="True" UserRights="EmptyMask" />

      <ConsoleNode

        DisplayText="View Master Page Gallery"

        UseResourceFile="false"

        ImageUrl="/_layouts/images/ActionsSettings.gif"

        UserRights="BrowseDirectories|ManageLists" 

        RequiredRightsMode="Any"

        PermissionContext="CurrentSite"

        IsSiteRelative="false" 

        NavigateUrl="/_catalogs/masterpage/Forms/AllItems.aspx"

        ChangedNodeID="ViewPagesLibSettings">

      </ConsoleNode>

    </ConsoleNode>

  </structure>

</Console>

保存后签入。

在相应站点的如下位置找到需要批准的自定义描述文件。

网站操作——网站设置——修改所有网站设置
   

库——母版页和页面布局
   

在母版页样式库中找到Editing Menu文件夹,进入。
   

找到需要批准的xml文件,批准。

 

修改CustonEditingMenu.xml文件的效果:

 

修改CustomQuickAccess.xml文件的效果:

 

修改CustomSiteAction.xml文件的效果:

 

RTE2ToolBarExtension.xml文件的修改与以上三个不同。

网上找到一个例子,如下:

修改RTE2ToolBarExtension.xml文件的内容。

<?xml version="1.0" encoding="utf-8" ?>

<RTE2ToolbarExtensions>

<RTE2ToolbarExtraButton id="CustomButton" src="HtmlEditorBtnEx.js" />

</RTE2ToolbarExtensions>

保存并签入,然后批准。

在如下路径下建立我们需要的js文件

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\2052

HtmlEditorBtnEx.js文件内容如下

function HRButton_OnClick(strBaseElementID, arguments)

{

     var docEditor=RTE_GetEditorDocument(strBaseElementID);

     docEditor.execCommand("InsertHorizontalRule");

}

 

function HRButton_OnResetState(strBaseElementID, arguments)

{

     return true;

}

 

RTE2_RegisterToolbarButton(

        "HR_Button",

        RTE_GetServerRelativeImageUrl("horizontalRule.gif"),

        "",

        "Insert <HR>",

        HRButton_OnClick,

        HRButton_OnResetState,

        new Array("p1", "p2", "p3"));

在如下路径再添加上我们需要的图片horizontalRule.gif即可

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\2052\IMAGES

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES

这时在HTML编辑器的菜单上就会出现我们自定义的按钮