モバイル リスト ビュー ページおよびフォーム ページをカスタマイズする

ここでは、モバイル デバイスにアクセス可能な Windows SharePoint Services 3.0 リスト ビュー ページやフォーム ページのカスタマイズに関する基本的な手順についてその概要を説明します。なお手順の詳細については、「[ウォークスルー] モバイル リスト ビュー ページをカスタマイズする」を参照してください。 モバイル ホーム ページのカスタマイズ方法の概要については、「[方法] モバイル ホーム ページをカスタマイズする」を参照してください。

モバイル ページのレンダリング システム」で詳細に説明したように、モバイル ホーム ページのヘッダー (タイトル)、コンテンツ、フッター (ナビゲーション) にある各コンテンツでは、それぞれ一連の呼び出しを開始します。なお呼び出しはそれぞれ以下の 3 種類のテンプレート セレクタ コントロールに対して行われます。

これらのクラスのいずれか 1 つのオブジェクトにより、現在使用しているリスト (例: お知らせリストやカスタム リスト) やページの形式に基づいた RenderingTemplate オブジェクトが選択されます。

このようなコントロールでは、以下の形式の RenderingTemplate ID を検索します。

Mobile_リストの種類 ID_ページの種類_ページ領域

ここで、リストの種類 ID は、現在使用しているリストの ID 番号 (例: 105)、もしくは SPListTemplateType 列挙 (例: Contacts) の値の 1 つとなります。 リスト形式 ID を定義する方法は、以下の 2 通りです。

  • リストがサイト定義の Onet.xml ファイルに登録されているサイト形式の一部として指定されている場合、リストの種類 ID は、Onet.xml にある List 要素の Type 属性の値となります。なおこのファイルは次の場所に格納されています。Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SITETEMPLATES\サイトの種類\xml。 (Windows SharePoint Services 3.0 に付随するすべてのリスト形式の ID 番号を一覧表示するには、「モバイル ページのレンダリング システム」を参照してください。)

  • UI ([新規作成] リスト ページ) のサイトにリストが追加される場合、リストの種類 ID は、新しいリスト形式の基礎として使用するリスト形式の ID となります。 またこれは、[新規作成] ページを表示する際に [作成] ページ (create.aspx) でどのリンクがクリックされたかによって決定されます。

ページの種類は、View、NewForm、EditForm、DispForm、DeletePage のいずれかとなります。

ページ領域は、Title、Contents、Navigation のいずれかとなります。 (モバイル ページ セクションの詳細については、「モバイル ページのレイアウトと改ページ」を参照してください。)

現在使用しているリスト形式を指定する、ID 付きの RenderingTemplate 要素が存在しない場合は、Mobile_Default_ページの種類_ページ領域パターンにおいて ID 付きの RenderingTemplate 要素が使用されています。

モバイル リスト ビューまたはフォーム ページにおいてカスタム ヘッダー (タイトル)、コンテンツ、フッター (ナビゲーション) を作成するには、まず ID 付きの RenderingTemplate 要素を作成し、ページ上のテンプレート セレクタ コントロールでその要素を検索するだけです。 (詳細については以下の手順を参照してください。)

既存の RenderingTemplates

以下のリストでは、Windows SharePoint Services と共にインストールされた MobileDefaultTemplates.ascx ファイル内のモバイル リスト ビュー ページやフォーム ページで使用する RenderingTemplate 要素を識別します。

  • Mobile_Comments_DeletePage_Navigation

  • Mobile_Comments_View_Navigation

  • Mobile_DiscussionBoard_DispForm_Contents

  • Mobile_DiscussionBoard_EditForm_Contents

  • Mobile_DiscussionBoard_EditForm_Navigation

  • Mobile_DiscussionBoard_NewForm_Navigation

  • Mobile_DocumentLibrary_View_Navigation

  • Mobile_Events_DispForm_Navigation

  • Mobile_Events_EditForm_Navigation

  • Mobile_Events_NewForm_Navigation

  • Mobile_Events_View_Contents

  • Mobile_Posts_DeletePage_Navigation

  • Mobile_WebPageLibrary_DispForm_Contents

  • Mobile_WebPageLibrary_DispForm_Navigation

MobileDefaultTemplates.ascx ファイルを変更しないでください。既存の要素の 1 つと同じ名前で新たに RenderingTemplate 要素 (カスタムの .ascx ファイル) を作成できます。ただし、そうすることで、同じ名前を持つ元の要素 RenderingTemplate に依存する、Windows SharePoint Services に展開されている他のソリューションが破損する危険性があります。

注意

カスタム テンプレートをロードする前に Windows SharePoint Services 3.0 に付属する RenderingTemplate 要素をロードするため、表示する既存のテンプレートの 1 つと同じ名前のカスタム テンプレートがロードされると、元のテンプレートがこのカスタム テンプレートで上書きされます。同じ名前のカスタム RenderingTemplate オブジェクトが複数存在する場合、ファイル名がアルファベット順で最後になるファイルにより、それ以外のものが上書きされます。 表示するテンプレートで同じ名前のものが 2 つ以上存在するファイルを指定すると、それらのテンプレートはいずれもロードされません。

加えて、同一ファイル内には、以下の RenderingTemplate 要素がデフォルトで定義されています。この要素は、現在使用しているリスト形式に対応した RenderingTemplate が定義されていない場合に常にランタイムで使用されます。 以下に示すいずれかの名前を使用して新たに RenderingTemplate オブジェクトを作成する場合も同等のリスクが存在します。

  • Mobile_Default_DeletePage_Contents

  • Mobile_Default_DeletePage_Navigation

  • Mobile_Default_DeletePage_Title

  • Mobile_Default_DispForm_Contents

  • Mobile_Default_DispForm_Navigation

  • Mobile_Default_DispForm_Title

  • Mobile_Default_EditForm_Contents

  • Mobile_Default_EditForm_Navigation

  • Mobile_Default_EditForm_Title

  • Mobile_Default_NewForm_Contents

  • Mobile_Default_NewForm_Navigation

  • Mobile_Default_NewForm_Title

  • Mobile_Default_View_Contents

  • Mobile_Default_View_Navigation

  • Mobile_Default_View_Title

RenderingTemplate オブジェクトをネストすることができます。以下の例を参照してください。

モバイル リストやフォーム ページのセクションをカスタマイズするには

  1. Microsoft Visual Studio、メモ帳、テキスト エディタのいずれかのアプリケーションを使用して、パス \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES にユーザー コントロール ファイル (.ascx) を作成します。

  2. 適切な名前空間を登録またはインポートするには、必要なページ ディレクティブを .ascx ファイルに追加します。

  3. 表示するテンプレートを .ascx ファイルに追加し、そのテンプレートに Mobile_リストの種類 ID_ページの種類_ページ領域の形式で ID を付加します。

    • 現在使用しているリスト形式の ID 番号 (例: 105)、または SPListTemplateType 列挙の値の 1 つ (例: Contacts) であるリストの種類 ID

    • ページの種類は、View、NewForm、EditForm、DispForm、DeletePage のいずれかとなります。

    • ページ領域は、Title、Contents、Navigation のいずれかとなります。

  4. .ascx ファイルを保存し、Internet Information Services (IIS) を再起動して変更を適用します。

以下に示す RenderingTemplate の定義例では、RenderingTemplate オブジェクトをネストする方法を示しています。リスト ビュー ページのカスタマイズ例については、「[ウォークスルー] モバイル リスト ビュー ページをカスタマイズする」を参照してください。

<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_104_View_Navigation">
  <Template>
    <mobile:Link RunAt="Server" Text="ASP.NET Website" NavigateUrl="https://www.asp.net" />
    <mobile:Label RunAt="Server" Text="" BreakAfter="True" />
    <SPMobile:SPMobileComponent RunAt="Server" TemplateName="Mobile_Default_View_Navigation" />
  </Template>
</SharePoint:RenderingTemplate>

See Also

タスク

[ウォークスルー] モバイル リスト ビュー ページをカスタマイズする

[方法] モバイル ホーム ページをカスタマイズする

概念

モバイル ページのレイアウトと改ページ

[方法] リダイレクションを使用してモバイル ホーム ページをカスタマイズする

モバイル ページのレンダリング システム