SharePoint で開発をするのに欠かせないツールの一つとして Office SharePoint Designer (SPD)があります。マスタページやコンテンツページのレイアウト等をカスタマイズ編集することができる便利なツールなのです。
画面自体は Expression Web と似ているのですが、SharePoint に特化した機能が搭載され、Visual Studio のように Web アプリケーションを一から作成する、というのではなく、SharePoint のサイトを編集するということが目的のツールになっています。オフィシャルにはサードパーティのコントロールをツールボックスにインストールするということはサポートされていないようですが、web.config に SafeControl として登録しておけば自然と出てくるようです。
NetAdvantage for ASP.NET を SharePoint で使ってみたら・・・?というわけで今回は SPD で NetAdvantage for ASP.NET コントロールを使用してみました。
材料:
ミッション:
- サイトコンテンツの QuickLaunchMenu を WebMenu に置き換える
|

|
1. マスターページへの WebMenu の配置
まず SPD で既存の標準マスターページのコピーを作成し、デザインビューから QuickLaunchMenu を選択します。QuickLaunchMenu は SiteMapDataSource を使用する ASPMenu コントロールですが、WebMenu も SiteMapDataSource を使えるので、QuickLaunchMenu を WebMenu に置き換えて、同じ SiteMapDataSource (id: QuickLaunchSiteMap) を使うように指定(DataSourceID プロパティを設定)します。
<asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False" id="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />
置き換える WebMenu のタグブロックは、VSで生成されるものをそのままコピペしました。ここでは標準で用意されているスタイルの Trendy を使用して、画面左のコンソールにうまくおさまるよう表示方向(WebMenuTarget プロパティ)を Vertical に設定しています。また、サイトのテーマに沿ったスタイルを使用するのも手でしょう。
2. <% Register で始まる登録タグの追加
WebMenu の ignav タグが認識されるよう、VS の Web アプリケーション作成時にページに追加される <% Register… タグを マスターページに追加します。
<%@ Register tagprefix="ignav" namespace="Infragistics.WebUI.UltraWebNavigator" assembly="Infragistics35.WebUI.UltraWebNavigator.v9.1, Version=9.1.20091.2003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" %>
これでマスターページの作業は完了です。
3. WebMenu を SareControl として登録
SharePoint で使用されるアセンブリは SafeControl として web.config ファイルに登録されなければいけません。WebMenu のアセンブリは Infragistics35.WebUI.UltraWebNavigator.v9.1 なので、最後に web.config の SafeControls 項目に追加します。
<SafeControl Assembly="Infragistics35.WebUI.UltraWebNavigator.v9.1, Version=9.1.20091.2003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.WebUI.UltraWebNavigator" TypeName="*" Safe="True"/>
SharePoint サイトで NetAdvantage をよく使うのであれば全てのアセンブリを web.config にあらかじめ登録しておくと便利です。
|
今回はサイトコンテンツのメニューを Webmenu で置き換えてみました。上記の3ステップでサイトのナビゲーションを簡単にすることが可能になりました。今回はマスターページに変更を加えましたが、コンテンツページや Web パーツとしても NetAdvantage を使用することが可能です。
今回のように既存のプリセットやスタイルを使用される場合は SharePoint サイト上から WebMenu がそれらを参照できる場所(サイトのルートなど)にig_common や ig_res 等に含まれるスタイル関連のファイルを配置するのをお忘れなく。 |
の全ての投稿を閲覧する