ソート機能に関しまして

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
ポロリック
記事: 3
登録日時: 2008年7月08日(火) 19:35

ソート機能に関しまして

投稿記事 by ポロリック » 2008年8月22日(金) 17:13

ソートに関してのご質問です。
重複していましたら申し訳ありません。

ある商品の取扱い店リストのページにCMSDの導入を
検討しております。
基本的には「あいうえお順」で並べたいのですが、
系列店などは「あいうえお順」を無視し、
連続で並べなくてはいけません。

このような場合、何か良い方法はありますか?
何卒宜しくお願い致します。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: ソート機能に関しまして

投稿記事 by webmaster » 2008年8月29日(金) 13:39

 ポロリックさん、ご質問ありがとうございます。
 お返事が遅れまして申し訳ありません。

 CMS Designerのソート機能は、スキーマ側で事前にソート条件を指定しておき、
コンテンツ管理画面上でも、ページへの埋め込みの際にも、その順序で表示される
というものです。それほど融通の効くものではない為、今回のポロリックさんの
ご要望のようなケースには対応できません。

 そこで、パフォーマンスがかなり悪い方法なのですが、「実行時ソート」という
機能がございます。詳しくはリファレンスマニュアルをご覧下さい。

 また、実行時ソートと内部的には殆ど同じ仕組みなのですが、デザイン定義側で
ソート条件を指定してソートする方法もございます。
 これは、1ページに全件表示する(ページ切替をしない)場合に限ります。
 方法は、

コード: 全て選択

<xsl:template match="/entrylist">
<xsl:for-each select="entry">
   <xsl:sort select="項目名" order="desc" />
・
・
</xsl:for-each>
 のように、<xsl:for-each select="entry">の後にxsl:sort要素を追加して、
ソート条件として使いたい項目名をselect属性に、降順(desc)か昇順(asc)かを
order属性に指定する方法があります。

 select="@id" order="asc" のようにしておけば、エントリ追加順にソート
して並べる事ができます。

 一度お試し頂ければ幸いです。

ポロリック
記事: 3
登録日時: 2008年7月08日(火) 19:35

ありがとうございます

投稿記事 by ポロリック » 2008年9月01日(月) 17:32

ご回答ありがとうございます。
ご享受いただきました方法を試してみます。

ありがとうございました。

返信