1. 程式人生 > >SharePoint 2013 自定義擴充套件選單

SharePoint 2013 自定義擴充套件選單

  在對SharePoint進行開發或者功能擴充套件的時候,經常需要對一些預設的選單進行擴充套件,以使我們開發的東西更適合SharePoint本身的樣式。SharePoint的各種功能選單,像網站設定、Ribbon、列表裡的下拉等等,都是一樣原理的,都是XML+JS指令碼實現的,如果想實現這些功能,只需要一個XML釋出成Feature,並在網站功能啟用,即可。

  其實,關於這個並沒有什麼過多可以說的東西,大家在實踐中,漸漸理解了。下面,我就舉幾個簡單的例子,做一下簡要說明。

專案結構

  新建一個空白的SharePoint 2013專案,新增一個Feature檔案,一個選單定義的XML檔案,如下圖。

clip_image001

  XML選單定義,如下圖:

clip_image002

例一:擴充套件wssuc:Welcome控制元件

擴充套件前截圖:

clip_image003

擴充套件後截圖:

clip_image004

擴充套件XML:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
     Id="MyTopMenuLink"
     Location="Microsoft.SharePoint.StandardMenu"
     GroupId="PersonalActions
" Sequence="0" Title="部落格園-霖雨"> <UrlAction Url="http://www.cnblogs.com/jianyus"/> </CustomAction> </Elements>


例二 擴充套件SiteAction(網站設定)選單

擴充套件前截圖

clip_image005

擴充套件後截圖

clip_image006

擴充套件XML

  <CustomAction
     Id="MyTopMenuLink"
     Location="Microsoft.SharePoint.StandardMenu"
     GroupId="
SiteActions" Sequence="0" Title="部落格園-霖雨"> <UrlAction Url="http://www.cnblogs.com/jianyus"/> </CustomAction>

例三 擴充套件網站設定選單

擴充套件後截圖

clip_image007

擴充套件XML

  <CustomAction
     Id="MyTopMenuLink"
     Location="Microsoft.SharePoint.SiteSettings"
     GroupId="Customization"
     Sequence="106"
     Title="部落格園-霖雨">
    <UrlAction Url="http://www.cnblogs.com/jianyus"/>
  </CustomAction>

  網站設定選單,不僅僅可以通過GroupId設定顯示在哪個位置,還可以單獨新增一個Group,後面我們會舉例說明。

至於GroupId選擇哪一個,請參考附後的MSDN文件。

例四 擴充套件文件庫Ribbon選單

擴充套件後截圖

clip_image008

擴充套件XML

  <CustomAction
     Id="MyTopMenuLink"
     Location="Microsoft.SharePoint.StandardMenu"
     GroupId="SettingsMenu"
     RegistrationType="List"
     RegistrationId="101"
     Sequence="0"
     Title="部落格園-霖雨">
    <UrlAction Url="http://www.cnblogs.com/jianyus"/>
  </CustomAction>

  RegistrationId可以區分是文件庫,還是列表庫,是TemplateID

例五 擴充套件文件庫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,所以這個選單在最上面,如果想要移動位置,設定這個值即可。

例六 擴充套件網站操作組

擴充套件後截圖

clip_image010

擴充套件XML

  <!-- Custom Action Group -->
  <CustomActionGroup
      Id="CustomActionGroup"
      Description="自定義組"
      Title="我的自定義組"
      Location="Microsoft.SharePoint.SiteSettings"
      Sequence="30" />

  <!-- Custom Action in Custom Action Group -->
  <CustomAction
      Id="CustomAction1"
      Description="自定義操作"
      Title="自定義操作一"
      GroupId="CustomActionGroup"
      Location="Microsoft.SharePoint.SiteSettings"
      Rights="ManageWeb"
      RequireSiteAdministrator="FALSE"
      Sequence="20">
    <UrlAction Url="~sitecollection/_layouts/CustomAction1.aspx" />
  </CustomAction>

  <CustomAction
      Id="CustomAction2"
      Description="自定義操作"
      Title="自定義操作二"
      GroupId="CustomActionGroup"
      Location="Microsoft.SharePoint.SiteSettings"
      Rights="ManageWeb"
      RequireSiteAdministrator="FALSE"
      Sequence="20">
    <UrlAction Url="~sitecollection/_layouts/CustomAction2.aspx" />
  </CustomAction>

  如上圖,添加了網站操作組,可以用來新增我們的設定。在2013之前版本,類似SiteAction等,都可以進行分組,但是2013我嘗試了一下,分組沒有成功。而且,之前版本的網站設定,都是選單分組的形式;新版本預設都沒有分組,是否支援還有待進一步研究。

後記

  以上,是幾個簡單的擴充套件選單例子,主要還是修改GroupId和Location來確定選單的顯示位置,通過Rights來限制許可權,Sequence來設定排序等,更多的擴充套件,請參考MSDN自行嘗試。

參考MSND連結

1、Default Custom Action Locations and IDs

http://msdn.microsoft.com/en-us/library/bb802730.aspx

2、Custom Actions and Ribbons

http://www.matthiaseinig.de/docs/SPSF/OutputHTML/SPSF_RECIPES_CATEGORY_CUSTOMACTIONS.html

包含另外三個例子,列表設定、管理中心、人員和組新增選單

相關推薦

SharePoint 2013 定義擴充套件選單

  在對SharePoint進行開發或者功能擴充套件的時候,經常需要對一些預設的選單進行擴充套件,以使我們開發的東西更適合SharePoint本身的樣式。SharePoint的各種功能選單,像網站設定、Ribbon、列表裡的下拉等等,都是一樣原理的,都是XML+JS指令碼實

環信定義擴充套件選單提示下標越界的問題記錄

整合EasyUI的時候發現,一直提示資料越界,傳送完一條自定義訊息後,在點選選單傳送就崩了。最後找到解決方案: 自定義屬性的時候一定要挨著前面的順序遞增新增屬性值,不然會報陣列越界,這個地方坑了好久。

SharePoint 2013 Designer 定義操作選單

  眾所周知,我們在SharePoint的二次開發中,經常會新增ECB選單或者Ribbon選單,通常我們會採取Feature的方式去新增一個Xml,或者採取JavaScript的方式,當然,除此之外,還可以利用Designer新增這些自定義操作,而且更加方便;但是,這種操作

如何使用VS建立SharePoint定義Ribbon選單(圖文和程式碼)

如何使用VS建立SharePoint自定義Ribbon選單 SharePoint Ribbon選單 SharePoint 2010為我們帶來了很多新功能,這些新功能使得SharePoint更像是一個Office客戶端應用程式,這無疑是令人振奮的。提到Office就不能不

scrapy 定義擴充套件的功能

在scrapy.telnet裡有一個TelnetConsole類 class TelnetConsole(protocol.ServerFactory): def __init__(self, crawler): if not crawler.settings.getb

scrapy 定義擴充套件

1、新建一個擴充套件檔案,定義一個類,必須包含from_crawler方法: from scrapy import signals class MyExtend: def __init__(self, crawler): self.crawler = crawler

iOS商品詳情、ffmpeg播放器、指示器集錦、定義圓弧選單、實用工具等原始碼

iOS精選原始碼 電商商品詳情 Swift.兩種方式實現tableViewCell拖拽功能 ffmpeg+openGL播放器 微信聊天表情雨、表情下落、表情動畫 iOS指示器集錦 彈窗增加 pickerView 可互動、無限個數、支援回

Ionic3 定義tabs選單圖示

tabs.scss .ion-tab-icon-base { width: 30px !important; height: 30px !important; } .ion-tab-icon-md-base { min-width

定義擴充套件js函式庫---string.replaceAll()---字元替換所有指定字元

/* * 自定義擴充套件js函式庫 * @time:181203 * @add : string.replaceAll()---字元替換所有指定字元 */ /* * string.replaceAll()---字元替換所有指定字元 * @parameter: FindTex

Aras學習筆記 (24) 新增定義TOC選單

Aras的TOC(Table of Content)選單預設的效果如下。   下面我要介紹下如何建立自定義的選單以及子選單,類似下面的格式。   大家知道將ItemType應用到TOC中,通常做法是在Tab頁TOC Access下操作。   由此我們應該可以想到如果新

LARAVEL定義擴充套件BLADE模板指令

我們以比較常用的continue和break為例子,在AppServiceProvider類的boot方法裡面新增如下程式碼: public function boot() { Blade::directive('continue', function() { ret

Adams 2013定義外掛方法zz

1.Adams外掛介紹 Adams的高階模組(如Controls控制模組、Vibration振動模組、Durability耐久性模組等)是以外掛的形式整合在Adams軟體中。通過Adams提供的外掛管理器(Plugin Manager)工具能非常方便地對這些外掛進行管理,即插即用,

定義menu選單佈局

一:先寫一個自定義的選單佈局 這個佈局可以根據業務需要任意寫 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android

Nginx定義擴充套件模組及編譯

1. 概述 參考 Nginx開發HTTP模組入門 2. 擴充套件模組(假設根目錄名稱為nginx) nginx/configure檔案中可以修改配置檔案路徑: 例如像把配置檔案從預設的nginx.conf改為webserver.conf:NGX_P

定義擴充套件底部列表對話方塊ListBottomSheetDialogFragment

因為需要,為了方便,構建了一個可以自定義擴充套件的底部列表對話方塊,可以應付大部分場景。 效果圖如下: 1.預設實現: 2.自定義列表實現 3.自定義頭部和列表實現 一.可實現功能 1.預設可實現通用列表對話方塊,上方HeaderView包括取消、標題、確

Win10定義開始選單磁貼背景顏色及圖示

問題: win10的開始選單磁貼中,office的圖示背景色與設定的系統主題色不一致。或者像自定義磁貼背景色。 方法: 1、定位到軟體主程式所在目錄 可以通過右鍵磁貼,開啟檔案所在位置,找到該磁貼的快捷方式,再次右鍵單擊開啟檔案所在的位置,定位到軟體安裝目錄,找到XXX.

sharepoint 2010 定義列表資料的增刪改查常用操作 server object model

在sharepoint的開發過程中,用得最多的,就是獲取sharepoint的列表資料,以及對其進行一系列的增刪改查等操作,這裡主要是記錄一些常用的操作,通過物件模型方式對資料進行增刪改查。 由於sharepoint對列表的資料都有許可權要求,一般都是採取提升管理員許可權, //提升管理員許

繼承LinearLayout定義左側選單

public class LeftMenuView extends LinearLayout { LinkedHashMap<Integer,String> map=new LinkedHashMap<>(); public LeftMenuView(Context

SpringBoot之@EnableAutoConfiguration原理及定義擴充套件

spring Boot是一個偏執的開源框架,它可用於建立可執行的Spring應用程式,採用了習慣優於配置的方法。  此框架的神奇之處在於@EnableAutoConfiguration註釋,此註釋自動載入應用程式所需的所有Bean——這依賴於Spring Boot在類路徑

基於spring的schema定義擴充套件(二)

上文分析了spring如何解析xml中標籤 自定義schema規範約束 新建test-schema.xsd檔案定義如下內容 <xsd:schema xmlns="http://www.myhost.com/schema/demo" xmlns:xsd="htt