list項目で複数選択されたエントリーの絞込みについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
suzuki
パワーユーザー
記事: 32
登録日時: 2006年7月07日(金) 15:40

list項目で複数選択されたエントリーの絞込みについて

投稿記事 by suzuki » 2007年11月29日(木) 20:06

エントリーを大分類小分類で分類わけして絞込み検索を行いたい。

例)「area」が「1」かつ「class」が「1」のエントリーを表示したい。
xxx.php?area=1&class=1


「スキーマ定義」
<data name="area" type="menu" caption="エリア" group="True" >
<menuitem id="1">AAA</menuitem>
<menuitem id="2">BBB</menuitem>
<menuitem id="3">CCC</menuitem>
<menuitem id="4">DDD</menuitem>
<menuitem id="5">EEE</menuitem>
</data>
<data name="classlist" type="list" caption="分野リスト" >
<listitem caption="分野選択" >
<data name="class" type="menu" caption="分野" group="True" >
<menuitem id="1">あ</menuitem>
<menuitem id="2">い</menuitem>
<menuitem id="3">う</menuitem>
<menuitem id="4">え</menuitem>
<menuitem id="5">お</menuitem>
</data>
エントリーデータはこのように設定されています。
<area>2</area>
<classlist><listitem id="1"><class>1</class></listitem><listitem id="2"><class>3</class></listitem></classlist>


今回やりたいのは、小分類がlist項目を利用し複数指定されているため単純に
<cmsd:entrylist name="photo" design="default" rows="10">
<cmsd:sort key="@id" />
<cmsd:group key="area" />
<cmsd:group key="class" />
</cmsd:entrylist>
と指定しても何も表示されませんでした

<cmsd:group key="class" />
が引っかかっているのは解るのですがどう対処すればいいかわかりません
よろしくお願いします。

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

Re: list項目で複数選択されたエントリーの絞込みについて

投稿記事 by webmaster » 2007年12月03日(月) 17:16

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

 ご質問の件ですが、絞込み機能はスキーマの最上位階層にある項目に対してしか
機能しない為、ご要望のことを実現することが出来ません。m(__)m

 根本的な原因は、CMSDの項目として複数選択可能なチェックボックスグループ
を作れないという点にあります。この点はCMSDの弱点として認識しておりますが、
XSLT(XPath)自体の仕様とも絡む部分で、うまい解決法を見つけられずにおります。

 現状はご不便をおかけしますが、選択肢ごとに個別の項目にし、

コード: 全て選択

<data name="class1" type="menu" caption="分野1" group="True">
  <menuitem id="1">いいえ</menuitem>
  <menuitem id="2">はい</menuitem>
</data>

<data name="class2" type="menu" caption="分野2" group="True">
  <menuitem id="1">いいえ</menuitem>
  <menuitem id="2">はい</menuitem>
</data>

<data name="class3" type="menu" caption="分野3" group="True">
  <menuitem id="1">いいえ</menuitem>
  <menuitem id="2">はい</menuitem>
</data>
 という感じにして、絞込みは

コード: 全て選択

xxx.php?area=1&class1=2
 という感じで使って頂く方法ぐらいしか残されておりません。
 非常に面倒で使いにくい方法だと認識しております。申し訳ありません。

 この件に関してご不明な点がありましたらまたご連絡頂ければ幸いです。

suzuki
パワーユーザー
記事: 32
登録日時: 2006年7月07日(金) 15:40

投稿記事 by suzuki » 2007年12月04日(火) 09:46

回答ありがとうございます。

やはりできませんか…。 :cry:
どうも分野を選択するのに、分野の一覧をそれぞれ選択するしないをメニューで切り替える動作がなじめなかったのと、チェックボックス機能が無かったので、リスト項目が一番ベストかなと思ったんですが、仕方がないですね。

ぜひバージョンアップの時はその辺の対応をして頂ければと思います。


それと各分野を「選択しない」、「選択する」の切替を登録した時の、呼び出しのパラメータで、選択しないを設定した場合の数値を1とした場合でもパラメータが1になれば表示されてしまうので、ちょっと何ともいえないところがあります。 :)

返信