2009-08-17 5 views
1

SharePointのSPDocumentLibraryリストのドキュメント(フォルダではない)にカスタムコンテキストメニュー項目を追加します。次のコードは機能しますが、私は必要のないコンテキストメニューの上部にカスタムメニュー項目を追加します。私はCAMOptの最終パラメータが順序を定義するシーケンス番号であると推測していましたが、何の効果もないようです。リストの一番下にカスタムコンテキストメニュー項目を追加することができるかどうか知っていますか?Custom_AddDocLibMenuItemsを使用したSPDocumentLibraryメニュー項目の順

function Custom_AddDocLibMenuItems(m, ctx) { 
    var otype = currentItemFSObjType = GetAttributeFromItemTable(itemTable, "OType", "FSObjType"); 
    if (otype != 1) { 
     var itemId = GetAttributeFromItemTable(itemTable, "ItemId", "Id"); 
     var listId = ctx.listName; 

     var action = 'Go_To_Page("' + ctx.HttpRoot + '/_layouts/custom/PAGES/mycustompage.aspx?ListId=' + listId + '&ListItemID=' + itemId + ');'; 
     CAMOpt(m, 'Custom Menu Item', action, '/_layouts/custom/IMAGES/action.gif', '', 110); 
     CAMSep(m); 
    } 
    return false; 
} 

function Go_To_Page(page) { 
    window.location = page; 
} 

答えて

1

custom action featureを使用できない理由はありますか?例えば、メニューオプションを見つけるためにCustomAction elementのシーケンス番号を、次のような機能要素のコードを使用しますが、修正:

<?xml version="1.0" encoding="utf-8" ?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <CustomAction 
     Id="DoSomething" 
     RegistrationType="ContentType" 
     RegistrationId="0x0101" 
     Location="EditControlBlock" 
     Sequence="10001" 
     ImageUrl="/_layouts/images/action.gif" 
     Title="Do Something"> 
     <UrlAction Url="~site/_layouts/custom/PAGES/mycustompage.aspx?ListItemID={ItemId}&amp;ListId={ListId}" /> 
    </CustomAction> 
</Elements> 

フォルダには適用されない機能を確保すべきであるコンテンツの種類を設定します。何らかの理由でそれが表示されていて、それを無効にする方法がない場合、JavaScript/jQueryを使用してメニューオプションをフォルダから隠すことができます。

あなたはユーザーコントロールを含めるあなたの機能の要素をXMLで
0

、そこにシーケンスを追加します。

Control Id="AdditionalPageHead" 
     ControlSrc="~/_ControlTemplates/blah/blah.ascx" Sequence="229" 
関連する問題