しかし、NewsTeasers にすべてのニュースを一覧表示させ、ページングも設定することはできますか?
はい、できます。既存の NewsTeaser 関数を変更するか、新しい関数を作成できます。[関数呼び出し] タブで、"Composite.News.NewsItem.GetNewsItemXml" 関数呼び出しを変更し、次のパラメーター " PageNumber " と " IncludePagingInfo " を次の値で指定します。
<f:param name="PageNumber">
<f:function name="Composite.Web.Request.QueryStringIntegerValue">
<f:param name="ParameterName" value="Page" />
<f:param name="FallbackValue" value="1" />
</f:function>
</f:param>
<f:param name="IncludePagingInfo" value="True" />
関数の[テンプレート] タブで、テンプレートを追加して PagingInfo を表示します。
<xsl:param name="pagingInfo" select="/in:inputs/in:result[@name='GetNewsItemXml']/PagingInfo" />
...
<xsl:if test="$pagingInfo/@TotalPageCount > 1">
<div class="Paging">
<xsl:apply-templates select="$pagingInfo" />
</div>
</xsl:if>
...
<xsl:template match="PagingInfo">
<xsl:param name="page" select="1" />
<xsl:if test="$page < @TotalPageCount + 1">
<xsl:if test="$page = @CurrentPageNumber">
<span><xsl:value-of select="$page" /></span>
</xsl:if>
<xsl:if test="not($page = @CurrentPageNumber)">
<a href="?Page={$page}"><xsl:value-of select="$page" /></a>
</xsl:if>
<xsl:apply-templates select=".">
<xsl:with-param name="page" select="$page+1" />
</xsl:apply-templates>
</xsl:if>
</xsl:template>
XSLT にページングを追加する方法の詳細については、 http: //docs.composite.net/XSLT/SortingAndPaging の記事を参照してください。