グループの絞りこみについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
たけひと

グループの絞りこみについて

投稿記事 by たけひと » 2005年8月05日(金) 22:55

エントリー内容
曲頭文字,曲名,歌手頭文字,歌手名で曲頭文字と歌手頭文字にはグループ属性をつけています。
さ,さくら,け,ケツメイシ
こ,恋心,ひ,B’z
あ,愛のバクダン,ひ,B’z
歌手一覧を出力させることはできるのですが、どうしても以下のようになります。
歌手頭文字に対する絞り込み条件で「ひ」に該当するものの表示をした場合。
B’z
B’z
になってしまいます。
同歌手名については1回のみ表示させるようにするにはどうしたらいいのでしょうか?

それとも現状は、そういった機能はついてないというか出来ないのでしょうか?
あ〜わまで44個もファイルがいるうえ、新規歌手名をエントリーで追加したら、こちらの別で用意する44個のファイルの内どれかにも登録するという2度手間が発生するので試行錯誤しているのですが問題解消する方法はないでしょうか?

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

Re: グループの絞りこみについて

投稿記事 by webmaster » 2005年8月06日(土) 13:15

 webmasterです。たけひとさん、ご質問ありがとうございます。

 ご質問の件ですが、そのままですと現状の機能ではなかなか難しそうです。

 例えば次のようなスキーマではいかがでしょうか。

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<schema name="singer" caption="歌手データベース" >
	<data name="group" type="menu" caption="分類" group="True">
		<menuitem id="01">あ</menuitem>
		<menuitem id="02">い</menuitem>
		<menuitem id="03">う</menuitem>
		<menuitem id="04">え</menuitem>
		<menuitem id="05">お</menuitem>
		<menuitem id="06">か</menuitem>
		<menuitem id="07">き</menuitem>
		<menuitem id="08">く</menuitem>
		<menuitem id="09">け</menuitem>
		<menuitem id="10">こ</menuitem>
		<menuitem id="11">さ</menuitem>
		<menuitem id="12">し</menuitem>
		<menuitem id="13">す</menuitem>
		<menuitem id="14">せ</menuitem>
		<menuitem id="15">そ</menuitem>
	</data>
	<data name="singername" type="text" caption="歌手名" />
	<data name="singerdesc" type="text" caption="歌手説明" />
	<data name="photo" type="img" caption="写真" maxfilesize="10KB" />
	<data name="songlist" type="list" caption="曲目一覧">
		<listitem caption="曲目">
			<data name="songname" type="text" caption="曲名" />
			<data name="songdesc" type="text" caption="曲説明" />
		</listitem>
	</data>
</schema>
 曲目を、「歌手」エントリの中のリスト項目にしています。
 これなら、エントリ一覧=歌手名一覧になりますし、「ひ」等の分類でグループ分け
することもできます。

 ただし、この方法ですと、例えばある歌手の曲目が100曲あった場合に、
「ページ切替」を使って10件ずつ切替ていくという手法が使えません。
 ページ切替機能は「エントリ一覧(この場合、歌手名一覧)」に対して使える機能で、
リスト項目に対しては1ページに全項目をずらりと表示する以外方法がありません。

 また、同様にこの方法ですと、「曲の詳細ページ」が作れません。
 エントリ=歌手という単位なので、「その歌手の曲目一覧」として表示する以外に
「1曲単位」で表示することができないのです。

 もう一つ別の方法もあります。
 2つのスキーマを使う方法で、

 ・歌手スキーマ
 ・曲スキーマ

 をそれぞれ別に作ります。

 歌手スキーマには歌手名とその説明を書き入れます。
 分類をグループ項目にします。
 そして、曲スキーマには、歌手名と1曲単位の曲名を追加していきます。
 歌手名をグループ項目にします。
 先ほどの例のようなリスト項目は使いません。

 歌手名一覧を出力したい時には歌手スキーマのエントリ一覧を使います。
 ある歌手の曲目を出力したい時には、曲スキーマのエントリ一覧を、
歌手名で絞込んで表示します。

 歌手スキーマのエントリと曲スキーマのエントリを同期を取って修正して
いかなくてはなりませんが、現状のCMSDの機能ではこれが限界のようです。

 後者の方法は実際に試したわけではないので、ひょっとして何か落とし穴が
あるかもしれませんが、よろしければお試し頂ければと思います。

 ご不明点などありましたら、またご質問ください。

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

Re: グループの絞りこみについて

投稿記事 by webmaster » 2005年8月06日(土) 14:50

 webmasterです。
 申し訳ありません、先ほどご説明したうちの後者の方法(2つのスキーマを使う方法)は、
実際にやってみたところ、うまく動作させることができませんでした。

 原因はグループ絞込み用の文字列に通常のアルファベット以外の文字列を指定すると
動作がおかしくなる為です。

 回避方法を調査中ですが、今のところは前者の方法をご利用頂くか、後者の方法で
歌手毎に番号を振ってそれを曲目エントリ一覧の絞込みに用いる(歌手のエントリID
が使えると思います)かをお試し頂ければと思います。m(_ _)m

返信