バージョンにカスタムアクションを追加することは可能ですか?
-
16-10-2019 - |
質問
ファイルのバージョンにカスタムアクションを追加する必要があります。最適には、バージョンの履歴ページでそれを望んでいます:
a セカンドベスト バージョンディスプレイフォーム(前のメニューでビューをクリックした結果)になります。
ユーザーはすでにバージョンの履歴を使用しており、特定のバージョンからいくつかの詳細を簡単にコピーしたいと考えています。自分のウィンドウで再度バージョンを選択させないようにしたいと思います。
解決
メニューは、core.jsファイルのJavaScriptに組み込まれています。新しいメニュー項目を追加する必要がある場合は、このファイルをオーバーライドする必要があります...クールではありません。
より良いアプローチは次のとおりです JavaScriptを使用して関数をオーバーライドします core.jsでメニューを作成します。 core.jsファイルの後にファイルを参照し、延期ロードに注意する必要があります。
バージョン表示フォームについて、テンプレートはで定義されています DefaultTemplates.ascx
IDで DocLibDisplayFormVersionToolBar
.
デフォルトのレンダリングを自分でオーバーライドできると思います。
他のヒント
Gillouxがコメントで提案したように、メニュー項目を追加することができました。 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");
結果:
Googleとこれらの投稿からの助けがありました:
所属していません sharepoint.stackexchange