Frage

Ich habe eine benutzerdefinierte Liste erstellt Hier ist die Liste Vorlage:

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

Ich habe eine benutzerdefinierte Aktion hinzugefügt:

   <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"/>

Dieses Kontextmenü erscheint sowohl auf Dateien und Ordner, ist es möglich, für meinen Kontext memu auf Dateien erscheinen nur?

War es hilfreich?

Lösung 2

ich nie herausgefunden, wie dies in Code oder XML zu tun, aber ich habe es in JavaScript arbeiten.
Ich habe den folgenden Code in die 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>

Eine unglückliche Nebenwirkung ist das Element immer an erster Stelle im Kontextmenü.

Andere Tipps

Sie können die Aktion auf dem Inhaltstyp registrieren, statt. Aber das ist vielleicht nicht in Ihrer Situation geeignet sein?

<CustomAction
Id="ContextMenu"
Location="EditControlBlock"
Title=Permissions"
**RegistrationType="ContentType"**
ShowInLists="FALSE"
ImageUrl ="~Site/_layouts/nks.PNG"
**RegistrationId="0x0101"**>
    <UrlAction Url="your URL"/>
</CustomAction>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top