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

このトピックでは、Windows SharePoint Services 3.0 で RenderingTemplates およびテンプレート セレクタを使用して、モバイル デバイスからアクセスできるページをレンダリングする方法について説明します。

ページ上のコントロール

モバイル ページは、RenderingTemplate コントロールによってレンダリングされますが、これらはページ上で直接参照されません。ページの 3 つの主要セクション、つまりヘッダー、コンテンツ、フッターそれぞれが、現在のサイト定義と現在のページの種類を使用して, .ascx ファイル (\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES) にある) で宣言されている RenderingTemplate を選択するコントロールを宣言します。Windows SharePoint Services に付属の RenderingTemplates は、MobileDefaultTemplates.ascx で宣言されています。カスタムの RenderingTemplates は、同じフォルダのカスタム .ascx ファイルで宣言されます。

モバイル ページで RenderingTemplate を選択する 3 種類のコントロールは、次のとおりです。

たとえば、SPMobilePageTitle オブジェクトは、下に示すように、STS ホーム ページ mbllists.aspx の HeaderTemplate セクションで宣言されています。

<HeaderTemplate>
  <SPMobile:SPMobileControlContainer RunAt="Server" Weightless="true">
    <SPMobile:SPMobilePageTitle RunAt="Server" />
    <SPMobile:SPMobileComponent TemplateName="MobileDefaultSeparator" RunAt="Server" />
  </SPMobile:SPMobileControlContainer>
</HeaderTemplate>

これらのクラスの 1 つのオブジェクトが、要求された現在のページ (ホーム ページ、リスト ビュー ページ、編集フォームなど) の種類に基づいて、RenderingTemplate を選択します。たとえば、ホーム ページでは、SPMobilePageTitle は、ID が "MobileHomePageTitle" の RenderingTemplate を呼び出し、新しいアイテムのフォームでは、SPMobilePageContents は、ID が "MobileNewFormContents" の RenderingTemplate を呼び出します。

.ASCX ファイル内

ページ上のコントロールによって呼び出された RenderingTemplates には、SPMobileTemplateSelector から派生するクラスのオブジェクトを値に持つ Template 要素があります。9 つのクラスがあります。

派生元のクラスの名前が示すとおり、これらのコントロールは、実際にページの一部をレンダリングするために別の RenderingTemplate を選択します。たとえば、「ページ上のコントロール」で触れた "MobileHomePageTitle" RenderingTemplate の Template 要素の値は、SPMobileWebTitle です。SPMobileWebTitle は、モバイル ホーム ページのヘッダー (タイトル) 領域をレンダリングする RenderingTemplate を呼び出します。

モバイル ホーム ページのセクションのレンダリング

前述のとおり、"MobileHomePageTitle" の Template 要素の値は、SPMobileWebTitle です。SPMobileWebTitle は、モバイル ホーム ページのヘッダー (タイトル) 領域をレンダリングする RenderingTemplate を呼び出します。具体的には、ID が Mobile_サイトの種類の ID_HomePage_Title の RenderingTemplate を探します。サイトの種類の ID は、現在の Web サイトのサイト定義の名前または ID 番号です。Windows SharePoint Services 3.0 に付属のサイト定義の場合、サイトの種類の ID は STS または BLOG です。

注意

MPS、CENTRALADMIN、および WIKI サイトでは、モバイル デバイスからのアクセスはサポートされていません。

カスタム サイト定義の場合、サイトの種類の ID は、サイト定義の ID 番号 (名前ではない) です (サイト定義の ID は、WebTemp.xml ファイルの Template 要素の ID 属性で設定します。サイト定義の ID 属性の詳細については、「WebTemp.xml」を参照してください)。

現在のサイト定義の RenderingTemplate が、\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES のどの .ascx ファイルにも存在しない場合、Mobile_Default_HomePage_Title が使用されます (これにより、コントロール SPMobileWeb が呼び出されます。このコントロールは、Label コントロールを使用して、Web サイト タイトルを表示します)。Windows SharePoint Services に付属しているホーム ページの RenderingTemplate の操作の詳細については、「[方法] モバイル ホーム ページをカスタマイズする」を参照してください。

SPMobileWebContentsSPMobileWebNavigation は、それぞれ、モバイル ホーム ページのメイン ページのコンテンツ領域とフッター (ナビゲーション) 領域をレンダリングする RenderingTemplate を選択します。つまり、最初の 3 つのセレクタ クラスはすべて、Mobile_サイトの種類の ID_HomePage_ページの領域というパターンの ID を持つ RenderingTemplate を探します。ページの領域は、Title、Contents、または Navigation です。

リスト ビュー ページとフォーム ページでのセクションのレンダリング

リスト ビュー ページと フォーム ページには、SPMobileListTitleSPMobileListContents、および SPMobileListNavigation クラスが使用されます。 これらはそれぞれ、Mobile_リストの種類の ID_ページの種類_ページの領域というパターンの ID を持つ RenderingTemplate を探します。ページの種類は、View、NewForm、EditForm、DispForm、または DeletePageです。リストの種類の ID は、現在のリストの種類の ID 番号 (105など) または SPListTemplateType 列挙の値の 1 つ (Contacts など) です。サイト定義の Onet.xml ファイルで、リストがサイトの種類の一部として指定されている場合、リストの種類の ID は、Onet.xml の List 要素の Type 属性の値です。このファイルは、ローカル ドライブ:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SITETEMPLATES\サイトの種類\xml ディレクトリにあります。リストが UI、つまり [新規作成] (リスト) ページでサイトに追加された場合、リストの種類の ID は、新しいリストの種類のベースとして使用されたリストの種類の ID です。この ID は、ユーザーが、どのようなリンクで [作成] ページ (create.aspx) をクリックして [新規作成] ページを表示したかによって決まります。

次の表に、Windows SharePoint Services 3.0 に付属しているリストの種類の ID 番号を示します。カスタムのリストの種類の ID 番号も使用できます。後者は、Microsoft が Windows SharePoint Services の将来のバージョンで使用する番号と競合しないように、10000 より大きい数字にする必要があります。

ID

説明

100

汎用リスト

101

ドキュメント ライブラリ

102

アンケート

103

リンク リスト

104

お知らせリスト

105

連絡先リスト

106

イベント リスト

107

タスク リスト

108

ディスカッション掲示板

109

画像ライブラリ

110

データ ソース

111

サイト テンプレート ギャラリー

112

ユーザー情報

113

Web パーツ ギャラリー

114

リスト テンプレート ギャラリー

115

XML フォーム ライブラリ

116

マスタ ページ カタログ

117

コードなしのワークフロー

118

ワークフロー プロセス

119

WebPageLibrary

120

リストのカスタム グリッド

130

データ接続ライブラリ

140

ワークフローの履歴

150

ガント タスク

200

関連する会議のリスト

201

議題と議事録のリスト

202

会議の出席者のリスト

204

会議の決定事項のリスト

207

会議の目的のリスト

210

会議のテキスト ボックス

211

提案する議題のリスト

212

会議ワークスペースのページのリスト

300

ポータル サイト リスト

301

投稿

302

コメント

303

カテゴリ

1100

案件管理

1200

管理タスク

2002

個人用ドキュメント ライブラリ

2003

個人用ドキュメント ライブラリ

現在のリストの種類を指定する ID を持つ RenderingTemplate が存在しない場合、Mobile_Default_ページの種類_ページの領域というパターンの ID を持つ RenderingTemplate が使用されます。Windows SharePoint Services に付属の RenderingTemplate を表示するリストの詳細については、「[方法] モバイル リスト ビュー ページおよびフォーム ページをカスタマイズする」を参照してください。

フィールドの表示

SPMobileListFieldSelector は、リスト ビュー、[新規作成]、[編集]、または [表示] ページに特定のフィールドをレンダリングする RenderingTemplate を選択します。このテンプレートは、MobileCustomListField_リストの種類の ID _フィールドの種類_フィールドというパターンの ID を持つ RenderingTemplate を探します。

リストの種類の ID は、前のセクションの説明と同じです。フィールドの種類は、データ型がフィールドです。Text、Number など、SPFieldType 列挙の任意の値をとることができます。カスタムのフィールドの種類を定義する fldtypes*.xml ファイルの <Field Name="TypeName"> 要素で定義されたカスタムのフィールドの種類も使用できます (カスタムのフィールドの種類の詳細については、「ユーザー設定フィールド型の定義」を参照してください)。

フィールドは、WorkPhone など、フィールドの内部名です。リスト定義の Schema.xml ファイルで、フィールドがリストの一部として指定されている場合、内部名は、schema.xml の Field 要素の Name 属性の値として検索できます。このファイルは、ローカル ドライブ:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\機能フォルダディレクトリにあります。フィールドが UI、つまり [列の作成] ページでリストに追加された場合、フィールドは、SPField.InternalName プロパティの値となり、オブジェクト モデルからのみ検索できます。

注意

フィールドは、フィールド (列) の内部名で、フィールドの表示名とは必ずしも同じではありません。UI でユーザーによって作成されたフィールドの場合、内部名は、ユーザーが選択した表示名 ([列の作成] ページの [列名] ボックスで) から、システムによって生成されます。ユーザーが表示名にスペースや句読点を含めた場合、モバイル テンプレート レンダリング システムでは、生成された内部名を操作できないため、このようなフィールドのレンダリングはカスタマイズできません。

検索されている ID を持つ RenderingTemplate が存在しない場合、ID が MobileDefaultListField の RenderingTemplate が使用されます。Windows SharePoint Services に付属しているフィールド レンダリング RenderingTemplate の操作の詳細については、「[方法] モバイル ページでフィールド レンダリングをカスタマイズする」を参照してください。

モバイル デバイス向けフィールド レンダリングとコンピュータ向けフィールド レンダリングの違い

Windows SharePoint Services 3.0 では、モバイル デバイス用のカスタム フィールド レンダリング コントロールによるフィールドのレンダリングは、コンピュータ用のカスタム フィールド レンダリング コントロールによるフィールドのレンダリングと似ていますが、次の相違点に注意してください。

モバイル ブログ サイトの投稿リストのタイトル

SPMobilePostsListTitle は、ブログ サイトの現在のビューの種類が MyPosts または AllPosts のどちらであるかに基づいて、Moblog_MyPosts_Title または Moblog_AllPosts_Title を選択して、モバイル ブログ サイトの投稿リストのタイトルを表示します。

RenderingTemplates の入れ子

RenderingTemplates は入れ子にすることができます。「[方法] モバイル ホーム ページをカスタマイズする」の例を参照してください。

See Also

タスク

[ウォークスルー] モバイル ホーム ページをカスタマイズする

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

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

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

[ウォークスルー] モバイル フィールドのレンダリングをカスタマイズする

[方法] モバイル ページでフィールド レンダリングをカスタマイズする

概念

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

省略記号とレンダリングの制限

ユーザー設定フィールド型の定義

Schema.xml

Onet.xml