2008年3月21日 (金)

ツリービューの表示をカスタマイズする

サイドリンクバーにはツリービューを表示することが可能ですが、既定ではアクセス許可があたえられている限りすべてのサブサイトやリスト、ライブラリが表示されます。

[図.既定のツリービュー表示]
Defaulttreeview

大変便利な機能ですが、全てを表示させたくないことも多いのではないでしょうか。しかし、Web ブラウザ上からはツリービューの表示は変更できません。そこで、ちょっとしたカスタマイズ方法をご紹介します。

ツリービューの表示は、SharePoint Designer 2007 を使用してマスタページを編集することで、サブサイトは非表示にするなどのカスタマイズが可能です。

ツリービューは、ASP.NET 2.0 にあるツリービューコントロールを継承したSharePoint 用のコントロールであり、表示内容はデータソース コントロールから取得しています。そのため、このデータソース コントロールのプロパティを編集すればカスタマイズができるという訳です(このデータソースも ASP.NET 2.0 のものを継承した SharePoint 用のコントロールになっています)。

[図.カスタマイズ後のツリービュー]

Customtreeview

マスタページの編集

  1. default.master をコピーし、任意の名前で同じくマスタページギャラリー内に保存します。たとえば、 "myDefault.master" という名前で保存します。
  2. コードビューに切り替え、"SharePoint:SPHierarchyDataSourceControl" タグを見つけます。
  3. 「IncludeDiscussionFolders="true"」の後に、次の図のようにプロパティを追加します。今回はドキュメントライブラリと関連するフォルダの表示のみに限定するようにカスタマイズしています。
    Treeviewdatasourcemodified
  4. マイナーバージョンもしくはメジャーバージョンとして上書き保存します。

以上の設定が終わったら、マスタページを新しいものに変更すれば OK です。

構成可能な主なプロパティ

構成可能な主なプロパティは次の通りです。既定ではすべて "true" となっているようです。

  • IncludeDiscussionFolders … ディスカッション掲示板内の投稿をフォルダとして表示する
  • ShowDocLibChildren … ドキュメント ライブラリを表示する
  • ShowFolderChildren … フォルダを表示する
  • ShowListChildren … リストを表示する
  • ShowWebChildren … サブサイトを表示する

いくつか実験してみたところ、ディスカッション掲示板の扱いには注意がいりそうです。ディスカッション掲示板を表示する場合は、ShowListChildren を true にする必要があります。ディスカッション掲示板内の投稿を表示するには、ShowFolderChildren と IncludeDiscussionFolders の両方が true になっている必要があります。


【参考】
Sharepoint Tips And Tricks (英語)

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255747

ツリービューの表示をカスタマイズするを参照しているブログ:

コメント