Можно ли добавить пользовательские действия в версию?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/14921

Вопрос

Мне нужно добавить пользовательское действие в версии файла. Оптимально, я хочу это на странице истории версий:

enter image description here

А второе место была бы форма отображения версии (результат нажатия просмотра в предыдущем меню):

enter image description here

Пользователи уже работают с историей версий и хотят легко скопировать некоторые детали из определенной версии. Я хотел бы не заставлять их снова выбирать версию в моем собственном окне.

Это было полезно?

Решение

Меню построено в JavaScript в файле core.js. Если вам нужно добавить новый пункт меню, вам придется переопределить этот файл ... не круто.

Лучший подход - это Используйте JavaScript, чтобы переопределить функцию что создает меню в Core.js. Вам просто нужно будет ссылаться на ваш файл после файла core.js и быть осторожным с загрузкой DEFE.


О форме отображения версии, шаблон определяется в DefaultTemplates.ascx с идентификатором DocLibDisplayFormVersionToolBar.

Я полагаю, вы могли бы переопределить рендеринг по умолчанию самостоятельно.

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

Я смог добавить пункт меню, как предложил Гилло в комментарии. Вот как это делается, переопределив метод из core.js:

// keep original version
var original_AddVersionMenuItemsCore;

// override the function from Core.js 
function Kobi_AddVersionMenuItemsCore(m, ctx) {
    // first, add the original menu items:
    original_AddVersionMenuItemsCore(m, ctx);

    // add my menu item:
    var menuOption = CAMOpt(m, "Add Version to My Project",
                            "javascript:alert('This one');",
                            "/_layouts/images/mewa_gotoNamedItems.gif");
    menuOption.id = "ID_Kobi_AddVersionToProject";
}

function Kobi_AddVersionActionsOnLoad(){
    original_AddVersionMenuItemsCore = AddVersionMenuItemsCore;
    AddVersionMenuItemsCore = Kobi_AddVersionMenuItemsCore;
}

// run the method at window load event
_spBodyOnLoadFunctionNames.push("Kobi_AddVersionActionsOnLoad");

Результат:
enter image description here

Некоторая помощь пришла от Google и этих сообщений:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top