2008-08-27 11 views
5

SharePoint 2007で動的な項目単位のメニュー(Edit Control Block)を設定しようとしています。私の目標は、現在のユーザーのグループメンバーシップに基づいて利用できる特定の機能を持つことです。SharePoint内のEdit Control Blockメニュー項目を動的に表示します。

このメニュー項目の作成を制御するCustomActionタグには、Rights属性が含まれています。私がこの問題を抱えているのは、使用しているグループがサイト(ViewListItems、ManageAlertsなど)で同じ権限を持っているということです。私たちが設定したグループは、Manager、Employeeなどの機能をさらに扱っています。グループにカスタム機能を割り当て、その機能に関連付けられたメニュー項目をそのグループのメンバーにしか見せたくない。誰もが同じ基本サイトのアクセス許可を持っていますが、ログイン資格情報に基づいて余分なオプションを利用できます。

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から確認する最善の方法は何ですか?

+0

彼はこの質問のタイトルは、より適切であろう。..モデレータの更新はできますか? –

答えて

2

リスト項目のドロップダウンにメニュー項目を動的に追加するために実装できる2つの異なるJavascript関数があります。 Core.js(C:¥Program Files¥Common Files¥Microsoft Shared¥Webサーバー拡張¥12¥TEMPLATE¥LAYOUTS¥1033¥CORE.JS)は、選択したリスト項目のメニュー項目を生成するときに、これらのメソッドの存在をチェックします。 「Custom_AddDocLibMenuItems」および「Custom_AddListMenuItems」は、Javascriptメソッドの名前です。私はあなたがあなたの特定の問題を解決するために使用することができると思う

一つの記事、ユーザーロールのメンバーシップに基づいて動的メニュー項目のカスタマイズは、ここで見つけることができます:

MSDN: Customizing the Context Menu of Document Library Items(プロセスを注意して任意のリストタイプのためにまったく同じです

は[...]より複雑なケースでは、あなたがから利用可能なコマンドのリストを取得する必要があります)

この記事では、サーバー側のコードが表示されるメニュー項目を定義するために実行することができます方法の概要サーバーは、ビジネスロジックを実行し、おそらくカスタムデータベースからコマンドを取得することができます。通常、各ドキュメントに独自のプロセス状態があり、それにコマンドが関連付けられているワークフローソリューションを実装する場合は、これを実行します。

解決策は、Custom_AddDocLibMenuItemsでカスタムASP.NETページを動的に呼び出すことです。このページでは、ドキュメントライブラリのIDとクエリ文字列の特定の項目を取得し、その特定のドキュメントで使用可能なコマンドのすべての情報を含むXML文字列を返します。これらのコマンドは、ドキュメントのプロセスステータス(またはその他のカスタムビジネスロジック)に従って使用できます。 [...]

2

残念ながら、これはJavaScriptを使用せずに達成することはできません。 ECBはサーバーコントロールをカスタムアクションとして定義しません(SiteActionsなどとは異なります)。次の記事をチェックアウトJavascriptを使用してこれを実現する方法を学ぶために

:それは、「動的リスト項目は、SharePointでのドロップダウンメニューの変更」された場合 http://www.helloitsliam.com/archive/2007/08/10/moss2007-%E2%80%93-item-level-menus-investigation.aspx

+0

リンクが壊れています。 – axk

関連する問題