ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

32 HelloAssetWorldサンプル・サイト

HelloAssetWorldサンプル・サイトは、WebCenter Sitesを使用して構築されるサンプルWebサイトです。WebCenter Sitesを使用してWebサイトを構築するプロセスに、簡単なエントリ・ポイントを提供するということになります。この章では、この簡易的なWebサイトの作成で開発者が実行する手順に焦点を当てて説明します。HelloAssetWorldの構成とユーザーの詳細は、Oracle Fusion Middleware WebCenter Sites管理者ガイドを参照してください。

この章には次の項が含まれます。

32.1 HelloAssetWorldサンプル・サイトの概要

HelloAssetWorldのサイトのデザインはシンプルです。次のスクリーン・キャプチャで示すように、1ページで構成されています。

helloworld.gifの説明が続きます
図helloworld.gifの説明

このWebサイトに表示される記事の内容は表示を選択した記事に応じて変化しますが、ページのレイアウトは同じです。

HelloAssetWorldサンプル・サイトを表示するには、次のURLをご使用のWebブラウザに入力します。

http://server_name/servlet/ContentServer?pagename=HelloAssetWorld/Page/HelloPageTemplate

この項の内容は、次のとおりです。

32.1.1 HelloAssetWorldテンプレート

HelloAsset World Webページは、次の3つのテンプレートで構成されています。

  • HelloArticleテンプレート: 選択した記事とその記事に関連付けられたイメージを表示します。

  • HelloCollectionテンプレート: 表示できる記事のコレクションへのハイパーリンクを表示します。

  • HelloPageテンプレート: 格納ページです。HelloAssetWorldバナーがグラフィック表示され、HelloArticleテンプレートとHello Collectionテンプレートがコールされます。

32.1.2 HelloAssetWorldアセット・タイプ

HelloAssetWorldサイトで使用されるアセット・タイプは、Burlington Financialサンプル・サイトで使用されるアセット・タイプから変更されます。詳細は、第33章「Burlington Financialサンプル・サイト」を参照してください。HelloAssetWorldで使用されるアセット・タイプのリストは、次のとおりです。

  • Pageアセット・タイプ: 複数の機能を実行します。

    • ページを配置してサイトの階層を作成できます。ページを配置するとSitePlanTree表のエントリが追加され、「サイト・プラン」ツリーの「配置済ページ」ノードの下に表示されます。

    • 様々なタイプのアセットをそれに関連付けることができます。たとえば、CollectionアセットとArticleアセットをPageアセットに関連付けることができます。

      HelloAssetWorldサイト、HelloPageで使用されているPageアセットのインスタンスには、それに関連付けられたHelloCollectionHelloと呼ばれるコレクションがあります。Pageアセット・タイプはWebCenter Sitesで提供されるコア・アセット・タイプで、変更されていません。

  • HelloArticleアセット・タイプ: 記事を格納しています。HelloArticleアセットには、それに関連付けられたHelloImageアセットを格納できます。HelloArticleアセット・タイプは、Burlington Financialに用意されたArticleアセット・タイプから変更されています。

  • HelloImageアセット・タイプ: イメージを格納しています。HelloImageアセット・タイプは、Burlington Financialに用意されたImageFileアセット・タイプから変更されています。

  • Queryアセット・タイプ: データベースに問い合せて、Webサイトに表示するHelloArticleアセットを返します。これはWebCenter Sitesで提供されているコア・アセット・タイプで、変更されていません。

  • Collectionアセット・タイプ: 問合せアセットが返す結果を順序付けます。これはWebCenter Sitesで提供されているコア・アセット・タイプで、変更されていません。

  • Templateアセット・タイプ: 様々なアセット・タイプをレンダリングします。これはWebCenter Sitesで提供されているコア・アセット・タイプで、変更されていません。

32.2 変更されたアセット・タイプ

HelloAssetWorldサンプル・サイトで使用されるほとんどのアセット・タイプはコア・アセット・タイプであるため、変更できません。ただし、HelloArticleアセット・タイプとHelloImageアセット・タイプは、WebCenter Sitesに用意されたArticleアセット・タイプとImageFileアセット・タイプの簡略化バージョンです。
各アセット・タイプには、Articleアセット・タイプと ImageFileアセット・タイプのアセット・ディスクリプタ・ファイルに基づいた新規アセット・ディスクリプタ・ファイルが備わっています。簡略化アセット・ディスクリプタ・ファイルに関しては、これ以降の項で述べます。

この項の内容は、次のとおりです。

32.2.1 HelloArticleアセット・タイプ

次のコードのASSETタグは、すべてのアセット・ディスクリプタ・ファイルの標準的な開始を意味します。特に、新しいアセット・タイプに名前を付け、そのアセットのDEFDIR(アップロードされたアイテムを格納するデフォルト・ディレクトリ)を指定します。

<ASSET NAME="HelloArticle" DESCRIPTION="HelloArticle" MARKERIMAGE="/Xcelerate/data/help16.gif" PROCESSOR="4.0" DEFDIR="c:\FutureTense\Storage\HelloArticle">

次のコード・セクションによって、記事のヘッドラインのテキスト・フィールドが作成されます。

<PROPERTIES> 
<PROPERTY NAME="Headline" DESCRIPTION="Headline"> 
<STORAGE TYPE="VARCHAR" LENGTH="255" /> 
<INPUTFORM TYPE="TEXT" WIDTH="48" MAXLENGTH="255" REQUIRED="YES" /> 
<SEARCHFORM DESCRIPTION="Headline contains" TYPE="TEXT" WIDTH="48" MAXLENGTH="255" /> 
</PROPERTY>

次のコード・セクションによって、記事の署名行のテキスト・フィールドが作成されます。

<PROPERTY NAME="Byline" DESCRIPTION="Byline"> 
<STORAGE TYPE="VARCHAR" LENGTH="100" /> 
<INPUTFORM TYPE="TEXT" WIDTH="48" MAXLENGTH="100" REQUIRED="YES" /> 
<SEARCHFORM DESCRIPTION="Byline contains" TYPE="TEXT" WIDTH="48" MAXLENGTH="100" /> 
</PROPERTY>

次のコードによって、コンテンツ・エディタと作成者が記事本文のコンテンツに入力できるアップロード・フィールドが作成されます。このコンテンツは、ASSETタグで指定されたDEFDIRに格納されます。

<PROPERTY NAME="urlBody" DESCRIPTION="Body"> 
<STORAGE TYPE="VARCHAR" LENGTH="2000" /> 
<INPUTFORM TYPE="TEXTAREA" COLS="300" ROWS="300" REQUIRED="YES" /> 
</PROPERTY> 
</PROPERTIES> 
</ASSET>

32.2.2 HelloImageアセット・タイプ

次のASSETタグは、すべてのアセット・ディスクリプタ・ファイルの標準的な開始を意味します。特に、新しいアセット・タイプに名前を付け、そのアセットのDEFDIR(アップロードされたアイテムを格納するデフォルト・ディレクトリ)を指定します。

<ASSET NAME="HelloImage" DESCRIPTION="HelloImage" MARKERTEXT="*" PROCESSOR="4.0" DEFDIR="c:\FutureTense\Storage\HelloImage">

次のコード・セクションにより、イメージ・ファイルのアップロード・フィールドが作成されます。

<PROPERTIES>
<PROPERTY NAME="urlfile" DESCRIPTION="Image File">
<STORAGE TYPE="VARCHAR" LENGTH="255"/>
<INPUTFORM TYPE="UPLOAD" WIDTH="36" REQUIRED="NO" LINKTEXT="HelloImage"/>
</PROPERTY>

次のコードにより、ドロップダウンの選択肢が作成され、MIMEタイプの検索フィールドを「詳細検索」フォームで表示する方法が指定されます。INPUTFORMタグに対するSQLパラメータの値として指定されるSQL文は、ドロップダウンのテキストにMIMEタイプを指定するようにデータベースに問い合せます。

<PROPERTY NAME="mimetype" DESCRIPTION="Mimetype">
<STORAGE TYPE="VARCHAR" LENGTH="36"/>
<INPUTFORM TYPE="SELECT" SOURCETYPE="TABLE" TABLENAME="mimetype" OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype" SQL="SELECT mimetype, description FROM mimetype WHERE keyword = 'image' AND isdefault = 'y'" INSTRUCTION="Add more options to mimetype table with isdefault=y and keyword=image"/>

次のコード・セクションは、MIMEタイプ・フィールドが「詳細検索」フォームで表示される方法を指定します。前述のように、ここで指定されたSQLはドロップダウンの選択肢を入力するMIMEタイプをデータベースに問い合せます。

<SEARCHFORM DESCRIPTION="Mimetype" TYPE="SELECT" SOURCETYPE="TABLE" TABLENAME="mimetype" OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype" SQL="SELECT mimetype, description FROM mimetype WHERE keyword = 'image' AND isdefault = 'y'"/>
</PROPERTY>

次のコードは、管理システムのユーザーがイメージの代替テキストを入力するテキスト・フィールドを作成します。SEARCHFORMタグによって、「代替テキストに次を含む」フィールドが「詳細検索」フォームに表示される方法が指定されます。

<PROPERTY NAME="alttext" DESCRIPTION="Alt Text">
<STORAGE TYPE="VARCHAR" LENGTH="255"/>
<INPUTFORM TYPE="TEXT" WIDTH="48" MAXLENGTH="255" REQUIRED="NO"/>
<SEARCHFORM DESCRIPTION="Alt Text contains" TYPE="TEXT" WIDTH="48" MAXLENGTH="255"/>
</PROPERTY>

</PROPERTIES>
</ASSET> 

32.3 HelloAssetWorldテンプレート

HelloAssetWorldサンプル・サイトは3つのTemplateアセットを使用して、事前に記述されているアセットをレンダリングします。次の項で、これらのTemplateアセットについて説明します。

この項の内容は、次のとおりです。

32.3.1 HelloArticleテンプレート

HelloArticleTemplateはHelloArticleアセットをレンダリングします。このテンプレートは、次の変数を使用します。

表32-1 HelloArticleテンプレート

変数 ソース

tid

現在のテンプレートのIDです。

tid変数は、SiteCatalog表のresargs1フィールドに設定されます。この値はテンプレート作成時に自動的に設定されます。

c

テンプレートに表示されるコンテンツのタイプです。

c変数は、SiteCatalog表のresargs1フィールドに設定されます。この値は、「新規テンプレート」フォームの「アセット・タイプ」フィールドを使用して設定されます。

cid

ロードするアセットのIDです。

cid変数は、HelloPageテンプレートによって渡されます。

picture:oid

HelloArticleアセットに関連付けられたHelloImageアセットのオブジェクトIDです。

picture:oid変数を取得するには、現在のHelloArticleアセットをロードし、ASSET.CHILDRENタグを使用して、関連付けられたHelloImageアセットの情報を検索します。

picture:alttext

関連付けられたHelloImageアセットの代替テキストです。

picture:alttext変数を取得するには、現在のHelloArticleアセットをロードし、ASSET.CHILDRENタグを使用して、関連付けられたHelloImageアセットの情報を検索します。

picture:mimetype

関連付けられたHelloImageアセットのMIMEタイプです。

picture:mimetype変数を取得するには、現在のHelloArticleアセットをロードし、ASSET.CHILDRENタグを使用して、関連付けられたHelloImageアセットの情報を検索します。

asset:headline

このHelloArticleアセットのHeadlineフィールドの値です。

asset:headline変数は、HelloArticleアセットの情報を散布することで取得されます。

asset:byline

このHelloArticleアセットのBylineフィールドの値です。

asset:headline変数は、HelloArticleアセットの情報を散布することで取得されます。

artID

HelloArticleテンプレートに表示する記事のIDです。

最初のページ・ビューでは、ElementCatalogエントリのresdetailsフィールドに設定されます。以降のビューでは、HelloCollectionテンプレートによって渡されます。


次のコードは、記事テンプレートの標準的な開始です。WebCenter Sitesユーザー・インタフェースで「新規テンプレート」フォームの「XML」ボタンまたは「JSP」ボタンをクリックすると表示されます。

<?xml version="1.0" ?>
<!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">
<FTCS Version="1.1">
<!--  HelloArticle/HelloArticleTemplate
-
- INPUT
-
- OUTPUT
-
-->

RENDER.LOGDEPタグは、テンプレートにキャッシュ依存性項目としてマークを付けます。つまり、テンプレートが変更された場合、以前のテンプレートのコピーがWebCenter SitesキャッシュとSatellite Serverキャッシュから削除され、最新のバージョンに自動的に置換されます。

<IF COND="IsVariable.tid=true">
<THEN>
<RENDER.LOGDEP   cid="Variables.tid" c="Template"/>
</THEN>
</IF>

<table border="0" cellspacing="2" cellpadding="2">

<tr>
<td>

次のASSET.LOADタグは、Variables.cidに保存されているアセットのIDを使用して、HelloArticleアセットをロードします。この値は、HelloPageテンプレートによってHelloArticleテンプレートに渡されます。

<!-- asset load will mark the asset as an 'exact' dependent of the pagelet being rendered --> 

<ASSET.LOAD NAME="helloArticleAsset" TYPE="Variables.c" OBJECTID="Variables.cid"/>

次のコード・セクションは、ASSET.CHILDRENタグを使用して、記事に関連付けられているHelloImageアセットをロードします。ASSET.CHILDRENは、HelloImageアセットを表示するために必要な情報を格納するリストを作成します。

<ASSET.CHILDREN NAME="helloArticleAsset" LIST="picture" TYPE="HelloImage"/>

このコードは、最新の記事に関連付けられているHelloImageアセットがあるかどうかをチェックします。関連付けられたHelloImageアセットがない場合、テンプレートは記事のテキストのみを表示します。

<!--Check to see if the list (which contains information to display an image) exists--if the list doesn't exist, display the article text only. -->
<IF COND="IsList.picture=true">
  <THEN>
  <!--Log the image as a dependency.-->
  <RENDER.LOGDEP   cid="picture.oid" c="HelloImage"/>

このコードはRENDER.SATELLITEBLOBタグを使用して、関連付けられたイメージを表示します。

  <!--Display the image.-->
  <RENDER.SATELLITEBLOB BLOBTABLE="HelloImage" BLOBKEY="id" BLOBCOL="urlfile" BLOBWHERE="picture.oid" BLOBHEADER="picture.mimetype" SERVICE="IMG SRC" ARGS_ALT="picture.alttext" ARGS_ALIGN="left"/>
  </THEN>
</IF>
</td>
</tr>

<tr>
<td>

次に、このASSET.SCATTERタグがすべてのHelloArticleアセットのプライマリ・フィールドを取得します。

<!-- get all the primary table fields of the asset --> 
<ASSET.SCATTER NAME="helloArticleAsset" PREFIX="asset"/> 

次のCSVARタグが、アセットのフィールドのコンテンツを表示します。

<!-- display the headline--> 

<h3><CSVAR NAME="Variables.asset:headline"/></h3> 
</td>
</tr>

<tr>
<td>
<CSVAR NAME="Variables.asset:byline"/>
</td>
</tr>

<tr>
<td>

「本文」フィールドに埋込みリンクが格納されている可能性があるため、次のコードに示すように、ics.getvarタグを使用して取得し、RENDER.STREAMタグを使用して表示する必要があります。

<!-- display the body--> 
<ics.getvar name="asset:urlbody" encoding="default" output="bodyvar"/>
<RENDER.STREAM VARIABLE="bodyvar" /><br/> 
</td></tr>
</table>

</FTCS>

32.3.2 HelloCollectionテンプレート

コレクション・テンプレートには、HelloCollectionHelloコレクションが表示されます。このテンプレートは、次の変数を使用します。

表32-2 HelloCollectionテンプレート

変数 ソース

tid

現在のテンプレートのIDです。

tid変数は、SiteCatalog表のresargs1フィールドに設定されます。この値はテンプレート作成時に自動的に設定されます。

c

テンプレートに表示されるコンテンツのタイプです。

c変数は、SiteCatalog表のresargs1フィールドに設定されます。この値は、「新規テンプレート」フォームの「アセット・タイプ」フィールドを使用して設定されます。

cid

ロードするアセットのIDです。

cid変数は、HelloPageテンプレートによって渡されます。

tid

現在のテンプレートのIDです。

tid変数は、SiteCatalog表のresargs1フィールドに設定されます。この値はテンプレート作成時に自動的に設定されます。

p

ハイパーリンクを生成するページのIDです。この場合は、最新のテンプレートになります。

なし

ApprovedArticles:id

コレクション内の最新のHelloArticleのIDです。

なし

ApprovedArticles:name

コレクション内の最新のHelloArticleの名前です。

なし

artID

artID変数には、HelloArticleTemplateにより表示されたHelloArticleのIDが記述されています。値は、コレクション内の最新記事のIDになります。

リスト内の最新記事がHelloArticleテンプレートで表示されている記事でない場合、URLが生成されてその記事へのハイパーリンクが作成されます。URLはRENDER.GETPAGEURLタグで作成され、そのタグが作成するURLにartID変数を追加します。この変数には、表示に使用する記事のIDが含まれます。

pageID

HelloPageアセットのIDです。

なし

referURL

RENDER.GETPAGEURLタグによって生成されたURLです。

なし


<IF COND="IsVariable.tid=true">
<THEN>
<RENDER.LOGDEP   cid="Variables.tid" c="Template"/>
</THEN>
</IF>

次のASSET.LOADタグは、Variables.cidに記述されているIDの値に基づいて、HelloCollectionHelloアセットをロードします。Variables.cidはHelloPageテンプレートによって渡されます。ASSET.LOADは、HelloCollectionアセットも名付けます。これはデータベース内のアセット名を変更するのではなく、テンプレート内の残りのコードがコレクションのアセットを参照する際に使用する名前を設定します。

<ASSET.LOAD NAME="HelloCollection" TYPE="Collection" OBJECTID="Variables.cid"/>
<ASSET.SCATTER NAME="HelloCollection" PREFIX="asset"/>

次のASSET.CHILDRENタグは、コレクションを構成するHelloArticlesが格納されたリストをロードします。

<ASSET.CHILDREN NAME="HelloCollection" LIST="theArticles" OBJECTTYPE="HelloArticle"/>

次のコード・セクションは、RENDER.FILTERタグを使用してディスク公開へのエクスポートが承認されていない記事をフィルタで除外します。これにより、テンプレートがミラー公開およびディスク公開へのエクスポートの両方で使用できるようになります。

<!--Filter out assets which aren't approved for export to disk publishing.-->
<RENDER.FILTER LIST="theArticles"LISTVARNAME="ApprovedArticles" LISTIDCOL="oid"/>

次のコードでは、LOOPタグが承認された記事のリストをループ処理し、RENDER.LOGDEPタグがリストの各アイテムをキャッシュ依存性として記録します。

<LOOP LIST="ApprovedArticles">
<RENDER.LOGDEP cid="ApprovedArticles.id" c="Article"/>

次のコードは、IFタグを使用して、リストの最新の記事がHelloArticleテンプレートで表示されている記事であるかどうかをチェックします。HelloArticleテンプレートで表示されている記事のIDは、Variables.artIDに含まれています。この変数は、HelloPageテンプレートによって渡されます。記事のIDが同一の場合、記事の名前はハイパーリンクではなく太字テキストで表示されます。

<IF COND="Variables.artID=ApprovedArticles.id">
<THEN>
<B><CSVAR NAME="ApprovedArticles.name"/></B><P/>
</THEN>

リスト内の最新記事がHelloArticleテンプレートで表示されている記事でない場合、URLが生成されてその記事へのハイパーリンクが作成されます。URLは、次のコードのRENDER.GETPAGEURLタグで作成されます。RENDER.GETPAGEURLタグはartID変数を、その変数が作成するURLに追加します。この変数には、表示に使用する記事のIDが含まれます。

<ELSE>
<RENDER.GETPAGEURL PAGENAME="HelloAssetWorld/Page/HelloPageTemplate"
cid="Variables.pageID"
c="Page"
p="Variables.p"
OUTSTR="referURL"
ARGS_artID="ApprovedArticles.id"/>

次のコード例では、ハイパーリンクを表示します。REPLACEALL引数は、ハイパーリンクのURLが記載されたVariables.referURLを評価します。次に示すCSVARタグは、ハイパーリンクのリンク先の記事の名前を表示します。

<A HREF="Variables.referURL" REPLACEALL="Variables.referURL">
<CSVAR NAME="ApprovedArticles.name"/>
</A><P/>
</ELSE>
</IF>
</LOOP>
</FTCS>

32.3.3 HelloPageテンプレート

HelloPageテンプレートは格納ページとして機能します。終了ページのレイアウトを作成する際に、HelloPageアセットをレンダリングし、ヘッダーをグラフィック表示して、HelloCollectionテンプレートとHelloArticleテンプレートをコールします。

HelloPageテンプレートは、次の変数を使用します。

表32-3 HelloPageテンプレート

変数 ソース

tid

現在のテンプレートのIDです。

tid変数は、SiteCatalog表のresargs1フィールドに設定されます。この値はテンプレート作成時に自動的に設定されます。

c

テンプレートに表示されるコンテンツのタイプです。

c変数は、SiteCatalog表のresargs1フィールドに設定されます。この値は、「新規テンプレート」フォームの「アセット・タイプ」フィールドを使用して設定されます。

cid

ロードするアセットのIDです。

cid変数は、テンプレートのSiteCatalogエントリのresargs1フィールドに設定されます。

topImg:ID

TopImage ImageFileアセットのIDです。

topImg:ID変数を取得するには、TopImageイメージ・ファイル・アセットの情報を散布します。

topImg:alttext

TopImageアセットの代替テキストです。

topImg:alttext変数を取得するには、TopImageイメージ・ファイル・アセットの情報を散布します。

topImg:mimetype

TopImageアセットのMIMEタイプです。

topImg:mimetype変数を取得するには、TopImageイメージ・ファイル・アセットの情報を散布します。

asset:ID

このテンプレートがレンダリングしているPageアセットのIDです。

asset:ID変数を取得するには、HelloPageアセットの情報を散布します。

theCollection.oid

表示のためにHelloCollectionテンプレートに渡される、HelloCollectionHelloコレクションのIDです。

コレクションとそのIDはPageアセットに関連付けられています。

artID

HelloArticleテンプレートに表示する記事のIDです。

最初のページ・ビューでは、ElementCatalogエントリのresdetailsフィールドに設定されます。以降のビューでは、HelloCollectionテンプレートによって渡されます。


HelloPageテンプレートのコードとそれに伴う動作の記述は、次のとおりです、

<IF COND="IsVariable.tid=true">
<THEN>
<RENDER.LOGDEP cid="Variables.tid" c="Template"/>
</THEN>
</IF>

<!--Table for formatting-->
<table border="1" cellpadding="5" cellspacing="5">

<tr>
<td colspan="2">

このコードはHelloImageアセットをロードして、RENDER.SATELLITEBLOBタグを使用してアセットを表示します。

<!--Embedded Image Asset-->

<!-- The following two lines of code load the image file and scatter the information in its fields. -->
<ASSET.LOAD NAME="TopImage" TYPE="HelloImage" OBJECTID="1024605735822"/>
<ASSET.SCATTER NAME="TopImage" PREFIX="topImg"/>

<!-- This code creates a URL to display the image file.-->
<RENDER.SATELLITEBLOB BLOBTABLE="HelloImage" BLOBKEY="id" BLOBCOL="urlfile" BLOBWHERE="Variables.topImg:id" BLOBHEADER="Variables.topImg:mimetype" SERVICE="IMG SRC" ARGS_alt="Variables.topImg:alttext" ARGS_WIDTH="600" ARGS_HEIGHT="90"/>
</td>
</tr>


<tr>
<td>

次に、Variables.cidの値に基づいたHelloPageアセットがロードされます。この値は、テンプレートのSiteCatalogエントリのresargs1フィールドに設定されます。

<!-- This loads the HelloPage asset and names it HelloPage. -->
<ASSET.LOAD NAME="HelloPage" TYPE="Variables.c" OBJECTID="Variables.cid"/> 

<!-- This scatters the fields of the HelloPage asset for use later in the element. -->
<ASSET.SCATTER NAME="HelloPage" PREFIX="asset"/>

<!-- This finds the collection asset associated with the HelloPage asset and puts the information the collection into a list. -->
<ASSET.CHILDREN NAME="HelloPage" LIST="theCollection" />
<RENDER.LOGDEP C="Collection" CID="theCollection.oid"/>
<!-- This checks to see whether ASSET.CHILDREN really generated a list. -->
<IF COND = "IsList.theCollection=true">

   <THEN>
         <!-- This displays the HelloCollectionTemplate template and passes the template the ID of the collection to display and the ID of the current page. -->
         <RENDER.SATELLITEPAGE PAGENAME="HelloAssetWorld/Collection/HelloCollectionTemplate" ARGS_cid="theCollection.oid" ARGS_p="Variables.asset:id" ARGS_artID="Variables.artID"/>
   </THEN>

</IF>
</td>

<td>
<!-- This displays the HelloArticleTemplate template and passes the template the ID of the article to display and the ID of the current page. The artID variable is passed in by the URL.-->
<RENDER.SATELLITEPAGE PAGENAME="HelloAssetWorld/HelloArticle/HelloArticleTemplate" ARGS_cid="Variables.artID" ARGS_p="Variables.asset:ID"/>
</td>
</tr>
</table>
</FTCS>

32.4 HelloQueryアセット

HelloAssetWorldサイトでは、HelloQueryと名付けられた問合せアセットを使用して、データベースからHelloArticlesが取得されます。それによって、コンテンツ・プロバイダでは、表示される順番でHelloQueryアセットが返す項目にランクが付けられ、コレクションが作成され構築されます。