3

は、リストテンプレートでファイル:私は、カスタムアクションを追加したSharePointのカスタムコンテキストメニューがフォルダに表示されていないだけで、私はここでカスタムリストを作成している

<ListTemplate Name="CustomDocumentLibrary" 
      DisplayName="Document Library" 
      Description="" 
      BaseType="1" 
      Type="10101" 
      OnQuickLaunch="TRUE" 
      SecurityBits="11" 
      Sequence="110" 
      Image="/_layouts/images/itdl.gif" 
      DocumentTemplate="101" /> 

<CustomAction 
Id="1611D96C-ABBD-4021-9183-60D8440BEB95" 
Location="EditControlBlock" 
Title="Send to Document Management" 
ImageUrl="/_layouts/images/cmCopy.gif" 
RegistrationType="List" 
RegistrationId="10101"> 
<UrlAction Url="~site/Lists/DocumentLibrary/Forms/SendToDM.aspx?ListId={ListId}&amp;ListItemID={ItemId}&amp;Action=Copy"/> 

このコンテキストメニューはファイルとフォルダの両方に表示されますが、コンテキストメモをファイルにのみ表示することはできますか?

答えて

3

コードやXMLでこれを行う方法は決して分かりませんでしたが、JavaScriptで動作させました。
IはAllItems.aspxに次のコードを追加:

<script type="text/javascript"> 
    function Custom_AddDocLibMenuItems(m, ctx) { 
     var otype = currentItemFSObjType = GetAttributeFromItemTable(itemTable, "OType", "FSObjType"); 
     if (otype != 1) { // 1=folder 
      var itemId = GetAttributeFromItemTable(itemTable, "ItemId", "Id"); 
      var listId = ctx.listName; 
      var action = 'Go_To_Page("' + ctx.HttpRoot + '/_layouts/MyPage.aspx?ListId=' + listId + '&ListItemID=' + itemId + '");'; 
      var option = CAMOpt(m, 'Do Something', action, '/_layouts/IMAGES/10.gif', '', 1110); 
      option.id = "ID_Do_Something"; 
     } 
     return false; 
    } 

    function Go_To_Page(page) { 
     window.location = page; 
    } 
</script> 

一つ残念な副作用は、アイテムが最初にコンテキストメニューに常にあります。

4

代わりにコンテンツタイプにアクションを登録できます。しかし、それはあなたの状況に適していないかもしれません?

2
<CustomAction 
Id="ContextMenu" 
Location="EditControlBlock" 
Title=Permissions" 
**RegistrationType="ContentType"** 
ShowInLists="FALSE" 
ImageUrl ="~Site/_layouts/nks.PNG" 
**RegistrationId="0x0101"**> 
    <UrlAction Url="your URL"/> 
</CustomAction> 
+0

<のCustomAction ID = "のContextMenu" 場所= "EditControlBlock" タイトル=権限 " ** RegistrationType = "ContentTypeを" ** ShowInLists = "FALSE" \t IMAGEURLは=" 〜サイト/ _layouts /nks.PNG " ** RegistrationId =" 0x0101 "**> \t \t \t Ali