list項目に入れたデータについての機能強化

こんな機能をつけて欲しい、こんなマニュアル(又はサンプル)が欲しい、CMSDのサイトにこの説明が欲しい、などなど、今後のご要望についてなんなりとお寄せください。
すぐに対応できるとは限りませんが、極力検討させて頂きます。
返信
sasai
アクティブユーザー
記事: 12
登録日時: 2005年1月16日(日) 23:51
お住まい: 岡山市
連絡を取る:

list項目に入れたデータについての機能強化

投稿記事 by sasai » 2005年9月10日(土) 02:19

【現状】
リファレンスにも記載があるように、
CMS Designerでは、
list項目タグは、”使用するケースは稀”
と、位置づけられており、
スキーマのルート階層のデータ項目では可能な機能が、
list項目の中にデータが入ると、機能制限がある。

【要望】
list項目のデータの・・・
 ○ソート機能
 ○エントリ項目の直接出力
 ( <cmsd:entry name="エントリフォルダ名" dataname="項目名" /> )
 ○list項目のname=****の、n番目(最新)のデータを表示、といったタグ

【要望の理由】
list項目は、使用頻度の低い機能ではなく、ケースによっては、
結構活用されると個人的には思います。

私が、今このサイトの、CMS Designer化を進めているのですが、
http://www.house-kiya.co.jp/report/index.html

それぞれ建築中の家が随時追加されていて、
それぞれの家に、建築状況に応じた日記があるといった、
階層構造をなしています。
そして日によっては、写真が1枚だったり、3枚だったりと、
3階層の階層構造をなしている構成です。

---
以上ご検討よろしくお願いいたします。

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

Re: list項目に入れたデータについての機能強化

投稿記事 by webmaster » 2005年9月10日(土) 23:00

 webmasterです。sasaiさん、たくさんのご意見ありがとうございます。
 非常に分かりやすく、また実践的にまとめられている為、すぐ開発の方に
回せそうです。とても助かります。
 全体的に早い段階で取り込めるものが多そうですので、今しばらく
お待ちいただければ幸いです。

 取り急ぎ、こちらの投稿に対してまとめて書き込ませて頂きました。

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

Re: list項目に入れたデータについての機能強化

投稿記事 by webmaster » 2005年9月23日(金) 23:33

 webmasterです。
 その後の経過です。

 今回頂いたlist項目の機能強化案はとても実践的なもので、確かに実装されると
かなり活躍の幅が広がりそうです。

 ただ、list項目の「何番目のデータを出力」のように外部から指定する
方法が少々難しく、特に多階層になるとかなり複雑にならざるを得ない為、
とりあえず一旦保留とさせて頂きました。

 これについては現在、もう少し汎用的な「URLから任意のパラメータを
渡す機能」を検討中ですので、その機能を使ってある程度実現できる
ようにしたいと思います。

 また、リスト項目のソートについては、XSLTのxsl:sort命令を使って
ある程度実現できるかもしれませんので、一度お試し頂ければ幸いです
http://www.cityfujisawa.ne.jp/~yanai/xm ... tep16.html

 また追ってご連絡させて頂きます。

sasai
アクティブユーザー
記事: 12
登録日時: 2005年1月16日(日) 23:51
お住まい: 岡山市
連絡を取る:

投稿記事 by sasai » 2005年10月04日(火) 19:45

xsl:sort命令について勉強してみました。
なるほど、複数のソート・キーも適用できる命令なので、
これを使えばOKですね。

実際に、トップページの更新情報の日付順ソートでやってみました。

---
あれ? となると、
「実行時ソート」は、xsl:sortと、何が異なるのでしょうか?
同じことが、xsl:sort命令でもできるような・・・。

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

投稿記事 by webmaster » 2005年10月04日(火) 22:25

 webmasterです。
sasai さんが書きました:あれ? となると、
「実行時ソート」は、xsl:sortと、何が異なるのでしょうか?
同じことが、xsl:sort命令でもできるような・・・。
 毎度ながら、sasaiさんの理解の早さに感服いたします。m(__)m

 仰るとおり、実行時ソートはxsl:sortでもある程度実現できます。
 <for-each select="entry"> の直下に、ソートしたい内容でxsl:sortタグを
置けばOKです。

 ただ、このやり方だと、ページ切替をしている場合に対応できないのです。
 なぜなら、デザイン定義には「エントリ一覧のうち、1ページ分を抜き出した
後のデータのみ」が渡されるためです。
 
 1,2,3,4,5,6,7,8,9,10 という順序で並んでいるエントリがあったとして、
1ページに5件ずつ表示すると、

ページ1: 1,2,3,4,5
ページ2: 6,7,8.9.10

 となります。もしこれを「大きい方から降順に実行時ソート」しようとして、
xsl:sortを使ってソートしようとしても、xsl側に渡されるのは上記の1ページ分
のデータなので、ページ内でのみソートしてしまい、

ページ1: 5,4,3,2,1
ページ2: 10,9.8,7,6

 のようにしか表示されないのです。

 実行時ソート機能では、xsl側に渡す前にソートしますので、

ページ1: 10,9.8,7,6
ページ2: 5,4,3,2,1

 のように表示することができます。

 もちろん、1ページ内に全件表示している場合には、xsl:sortを使って思い通りの
ソートが実現できます。

 もう一つ、実行時ソートには「URLパラメータからソート項目やソート順を
動的に指定できる」という機能もあります。
 これを使って、一つのデザイン定義だけで複数のソートを実現することも
できます。

 実行時ソートは負荷が高い機能ですので、十分にパフォーマンスの
検証をされてから採用されるよう、お願い致します。m(_ _)m

sasai
アクティブユーザー
記事: 12
登録日時: 2005年1月16日(日) 23:51
お住まい: 岡山市
連絡を取る:

投稿記事 by sasai » 2005年10月04日(火) 22:42

ああ、理解できました。
ご丁寧な解説、ありがとうございます!

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

投稿記事 by webmaster » 2005年10月05日(水) 00:28

 長文にも関わらず目を通して頂き、ありがとうございました。m(_ _)m

 皆様のこうしたご意見が、「どういう機能で疑問を持ちやすいか」等の情報となり、
製品の改善に繋がっていきます。

 今後ともご要望がありましたら、何卒よろしくお願い致します。

返信