ترتيب عناصر القائمة SPDocumentLibrary باستخدام custom_adddoclibmenuitems

StackOverflow https://stackoverflow.com/questions/1289891

سؤال

أقوم بإضافة عنصر قائمة سياق مخصص إلى المستندات (وليس المجلدات) في قائمة SPDocumentLibrary في SharePoint. يعمل التعليمة البرمجية التالية، ولكن يضيف دائما عنصر القائمة المخصصة في أعلى قائمة السياق، والتي لا أريدها. كنت أظن أن المعلمة النهائية في كاموبت كانت رقم تسلسل من شأنه تحديد النظام، لكن يبدو أن يكون له أي تأثير. هل يعرف أحد إذا كان من الممكن إضافة عنصر قائمة سياق مخصص إلى الأسفل في القائمة؟

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;
}
هل كانت مفيدة؟

المحلول

هل هناك أي سبب لماذا لا تستطيع استخدام ميزة عمل مخصصب على سبيل المثال، استخدم رمز عنصر ميزة مشابه لما يلي ولكنه يعدل رقم التسلسل عنصر الترخيص لتحديد خيار القائمة:

<?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 للميزة الخاصة بك حيث تتضمن عنصر تحكم المستخدم، أضف التسلسل هناك:

Control Id="AdditionalPageHead"
       ControlSrc="~/_ControlTemplates/blah/blah.ascx" Sequence="229"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top