動的絞り込み時のページングについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
tsueji
記事: 1
登録日時: 2008年11月16日(日) 15:54

動的絞り込み時のページングについて

投稿記事 by tsueji » 2008年11月16日(日) 16:01

お世話になります。
なかなか説明しにくいですが… ご教授をお願いいたします。

現在、本のレビューサイトを作っていて、
「レビューの種類(group key="reviewkind")」と「書いた人(group key="peoplekind")」の2種類で動的絞り込みをかけるサイトを作っています。

ページ構成は、左側に「エントリ詳細」右側に「エントリ一覧」です。
右側の「エントリ一覧」は上下2つに分けていて、
上に該当エントリの「レビューの種類(group key="reviewkind")」に当てはまるエントリ一覧、
そして、下には該当エントリの「書いた人(group key="peoplekind")」に当てはまるエントリ一覧を表示させています。

左側の「エントリ詳細」は、「レビューの種類(group key="reviewkind")」で動的絞り込みをかけ、表示させています。
つまり、共通の「レビューの種類(group key="reviewkind")」で遷移していくページとなります。
その中に、様々な「書いた人(group key="peoplekind")」がいます。

で、このページをページングしようとした場合に

コード: 全て選択

<xsl:for-each select="navi"> 
<xsl:for-each select="prev"> 
<a href="{@href}">前の記事</a>
</xsl:for-each> 
<xsl:for-each select="next"> 
<a href="{@href}">次の記事</a> 
</xsl:for-each> 
</xsl:for-each>
をデザイン定義し、
ウェブサイトには、

コード: 全て選択

<cmsd:entry name="review" design="common" navigation="on"> 
<cmsd:group key="reviewkind" />
</cmsd:entry>
と埋め込みます。

例えば、「reviewkind=2」のページで「peoplekind=3」の人が書いたのであれば、
結果、出力されるURLは、
該当する「レビューの種類(group key="reviewkind")」も含めた
○○○.php?eid=00001&reviewkind=2
となります。

しかし、次のページに移った時も、
「書いた人(group key="peoplekind")」で動的絞り込みをかけたい
(つまり、次のページの右側に、書いた人のエントリ一覧を表示させたい)

ので、
出力URLは、
○○○.php?eid=00001&reviewkind=2&peoplekind=○(次のページのエントリを書いた人の番号)
であってほしいのです。

試しにデザイン定義を、

コード: 全て選択

<xsl:for-each select="navi"> 
<xsl:for-each select="prev"> 
<a href="{@href}&peoplekind={$peoplekind}">前の記事</a>
</xsl:for-each> 
<xsl:for-each select="next"> 
<a href="{@href}&peoplekind={$peoplekind}">次の記事</a> 
</xsl:for-each> 
</xsl:for-each>
としてみましたが、

「次の記事」(あるいは「過去の記事」)をクリックしても
現在、閲覧されているページの{$peoplekind}が出力されてしまいます。

こういった場合、前後の記事の{$peoplekind}を取得するにはどうしたらよいのでしょうか?。。
ちなみに、ページ遷移にあわせて{$peoplekind}の数は増減するわけではありません。
現在の記事が「peoplekind=3」だったら、次の記事が「peoplekind=8」だったり「peoplekind=1」だったりします。

お手数をおかけしますが、こういう場合の対処法を
教えてください。

返信