Динамическое отображение элемента меню блока управления редактированием в SharePoint

Я пытаюсь настроить динамическое меню для отдельных элементов (блок управления редактированием) в SharePoint 2007. Моя цель - иметь определенные функции, доступные в зависимости от членства в группе текущего пользователя.

Я знаю, что тег CustomAction, управляющий созданием этого пункта меню, имеет атрибут «Права». Проблема, с которой я столкнулся, заключается в том, что группы, которые я использую, имеют одинаковые права на сайте (ViewListItems, ManageAlerts и т. д.). Группы, которые мы создали, больше связаны с функциями, такими как менеджер, сотрудник и т. д. Мы хотим иметь возможность назначать настраиваемую функцию группе, и чтобы элементы меню, связанные с этой функцией, были видны только членам этой группы. . У всех одинаковые базовые права доступа к сайту, но будут доступны дополнительные параметры в зависимости от их учетных данных.

Я видел несколько статей об изменении файла Core.js, чтобы скрыть элементы в контекстном меню, но это подход «все или ничего». На http://blog.thekid.me.uk/archive/2008/04/29/sharepoint-custom-actions-in-a-list-view-webpart.aspx есть интересный пост, в котором показано, как динамически изменять меню Действия. Изменить этот пример легко, чтобы проверить группу пользователей и показать или скрыть меню в зависимости от членства. К сожалению, этот пример, похоже, не применим к пунктам контекстного меню, как показано здесь http://forums.msdn.microsoft.com/en-US/sharepointdevelopment/thread/c2259839-24c4-4a7e-83e5-3925cdd17c44/.

Кто-нибудь знает, как это сделать без использования javascript? Если нет, то как лучше всего проверить группу пользователя с помощью javascript?

Заголовок этого вопроса был бы более подходящим, если бы это было «Динамическое изменение раскрывающихся меню элемента списка в SharePoint» ... может ли модератор обновлять?

Eric Schoonover 24.09.2008 20:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
7
1
13 420
2

Ответы 2

Есть две разные функции Javascript, которые вы можете реализовать для динамического добавления элементов меню в раскрывающиеся списки элементов. Core.js (C: \ Program Files \ Common Files \ Microsoft Shared \ web server extensions \ 12 \ TEMPLATE \ LAYOUTS \ 1033 \ CORE.JS) проверяет наличие этих методов при создании пунктов меню для выбранного элемента списка. Custom_AddDocLibMenuItems и Custom_AddListMenuItems - это названия методов Javascript.

Одна статья, которую, я думаю, вы можете использовать для решения вашей конкретной проблемы, - настройка динамического пункта меню на основе членства в роли пользователя, - можно найти здесь:

MSDN: настройка контекстного меню элементов библиотеки документов (обратите внимание, что процесс одинаков для любого типа списка)

В этой статье описывается, как можно выполнить код на стороне сервера для определения отображаемых пунктов меню:

[...] in more complex cases, you must retrieve the list of available commands from the server, because only there you can run your business logic and perhaps get the commands from a custom database. Typically, you want to do this if you are implementing a workflow solution where each document has its own process state, with commands associated to it.

The solution for this situation is to have the Custom_AddDocLibMenuItems dynamically call a custom ASP.NET page. This page takes the ID of the document library and the specific item on the query string, and returns an XML string containing all the information for the commands available for that particular document. These commands are available according to the document's process status (or some other custom business logic). [...]

К сожалению, это невозможно сделать без использования javascript. ECB не отображает серверные элементы управления, определенные как настраиваемые действия (в отличие от SiteActions и т. д.).

Чтобы узнать, как добиться этого с помощью Javascript, прочтите следующую статью: http://www.helloitsliam.com/archive/2007/08/10/moss2007-%E2%80%93-item-level-menus-investigation.aspx

Другие вопросы по теме