次の方法で共有


Windows SharePoint Services のマスタ ページのカスタマイズ

Windows SharePoint Services のインストール時に、既定のマスタ ページがサイト内のすべてのページに適用されます。しかし、あるサイト用に独自のマスタ ページを用意して、その配下の各サイトに適用することもできます。

Windows SharePoint Services でマスタ ページをカスタマイズする方法には、次の 2 種類があります。

  • Windows SharePoint Services に付属の default.master ファイルを別名でコピーし、これに対して修正を施す方法。

  • Microsoft Office SharePoint Designer 2007 で default.master ページを編集する方法。マスタ ページの編集や表示のほか、コンテンツ ページを作成し、読み込み専用マスタである旨の印をつけたマスタ ページを適用した状態で表示することもできます。

    マスタ ページのプレビュー機能は Office SharePoint Designer にしか組み込まれていません。

警告

<%System Drive%>Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\GLOBAL\ フォルダにある default.master ファイルを直接編集しないでください。

新規に作成したサイトでは、ファイル システム上にある既定のマスタ ページが使われます。Office SharePoint Designer でマスタ ページをカスタマイズした場合、その内容はコンテンツ データベースに保存されます。マスタ ページを変更しても、これを参照するコンテンツ ページ自身が書き換えられるわけではなく、ファイル システム上にそのまま残っています。

注意

あるサイト用のマスタ ページをカスタマイズしても、当該サイト以外のコンテンツ ページには影響が及びません。アプリケーション ページ (_layouts 内のページ) も同様です。これは Windows SharePoint Services アプリケーションの管理下にあり、すべてのサイトに共有されるものだからです。

コンテンツ ページからマスタ ページを参照する記述

Windows SharePoint Services には、マスタ ページを参照するためのトークンがいくつか組み込まれています。ダイナミック トークンである "~masterurl/default.master" および "~masterurl/custom.master" と、スタティック トークンである "~site/default.master" および "~sitecollection/default.master" です。

注意

いずれも Windows SharePoint Services のマスタ ページに適用されるものであって、ASP.NET 2.0 のマスタ ページは対象外です。

  • ダイナミック トークン "~masterurl/default.master"

    コンテンツ ページからマスタ ページを参照するトークンで、MasterPageFile 属性に記述すると、MasterUrl プロパティの値に置換されます。たとえば <%@ Page MasterPageFile="~masterurl\default.master"%> というページ ディレクティブを記述すると、トークン "~masterurl/default.master" は実行時に、MasterUrl プロパティの値である、 マスタ ページのサーバー相対完全パス (ファイル名も含む) に置き換えられます。

    インストール時の状態のままであれば、SharePoint のコンテンツ ページにはすべてこのダイナミック トークンが記述されており、MasterUrl プロパティの値は Windows SharePoint Services の default.master の完全パスになっています。この値は必要に応じて変更できます。

    重要

    "~masterurl/default.master" という文字列全体が 1 つのトークンになっています。

  • ダイナミック トークン "~masterurl/custom.master"

    コンテンツ ページからマスタ ページを参照するトークンで、MasterPageFile 属性に記述すると、CustomMasterUrl プロパティの値に置換されます。トークン "~masterurl/custom.master" は実行時に、CustomMasterUrl プロパティの値である、マスタ ページのサーバー相対完全パス (ファイル名も含む) に置き換えられます。

    インストール時の状態のままであれば、SharePoint のコンテンツ ページには現れません。共有マスタ ページがもう 1 つ必要な場合に備えて用意されたトークンです。

    重要

    "~masterurl/custom.master" という文字列全体が 1 つのトークンになっています。

  • スタティック トークン "~site/default.master" および "~sitecollection/default.master"

    それぞれ、マスタ ページのサイト相対リンク、サイト コレクション相対リンクに置き換えられます。たとえば http://siteColl/subsite1/subsite2/default.aspx にあるコンテンツ ページに "~sitecollection/mypage.master" というトークンを記述すると、http://siteColl/mypage.master というマスタ ページが適用されることになります。一方、"~site/mypage.master" と記述すれば、http://siteColl/subsite1/subsite2/mypage.master というマスタ ページが使われます。

注意

MasterUrl および CustomMasterUrl プロパティの値は、初期状態ではどちらも "/_catalogs/masterpage/default.master" となっています。後で default.master を削除する必要が生じた場合、両方のプロパティ値を設定し直す必要があります。そうしないと、default.master がマスタ ページとしてまだ使われている旨のエラーになります。

別の方法として、ページ ディレクティブで指定されている MasterPageFile 属性の URL を直接変更することにより、コンテンツ ページから参照するマスタ ページを変更することもできます。ただし、MasterUrl プロパティを変更する方法と違い、ページそのものの内容を変えることになります。

Windows SharePoint Services のマスタ ページに関するその他の検討事項

Windows SharePoint Services のマスタ ページを扱う際には、次のような点にも注意してください。

  • マスタ ページのコンパイル モードは、他の .aspx ページの場合と同様に機能します。モードは必要に応じて変更できます。マスタ ページのみコンパイルしてコンテンツ ページはコンパイルしないなど、モードが混在していてもかまいません。

    マスタ ページにインライン スクリプトが記述されていてもコンパイルできますが、Office SharePoint Designer その他のツールでカスタマイズを行うと、コンパイルはできず、スクリプトも動作しなくなることに注意してください。したがって、独自に作るマスタ ページにはインライン スクリプトを記述しないようお勧めします。

  • Windows SharePoint Services に付属のマスタ ページは入れ子構造になっていませんが、独自に作るマスタ ページを入れ子構造にすることはできます。どのようなレベルのマスタ ページでも作れるほか、他のマスタ ページを参照することもできます。参照には次のディレクティブを使います。

    <%@ Master master=MyParent.master %>
    

    注意

    マスタ ページの入れ子に対応していないページ エディタもあります。

  • ゾーン内の Web パーツをマスタ ページに追加することはできません。スタティック Web パーツ (ゾーン外のパーツ) は追加できますが、ダイナミック Web パーツは追加できない、ということです。

    ゾーンをマスタ ページに追加した後で、ブラウザ上で Web パーツをゾーンに追加することはできますが、この Web パーツはコンテンツ ページに関連付けられたものになります。

See Also

タスク

[方法] サイド リンク バーの表示をカスタマイズする

概念

Windows SharePoint Services の既定のマスタ ページ