Views 7.x: 「複数選択が可能なフィールドにおいて、値が1つだけ選択されている」という条件の絞込み

Events happening in the community are now at Drupal community events on www.drupal.org.
blauerberg's picture

Views 7.x で、「複数選択が可能なフィールドにおいて、値が1つだけ選択されている」という条件の絞込みを
実施する方法を調べています。

以下のような事を実現したいと考えています。
* あるノードが、複数選択が可能なフィールド field_a を持っている
* field_a に設定可能な値は、A,B,C,D,E
* 上記のノードの中で、field_a に A,B,C,D,E のいずれか1つだけが選択されているノードの一覧を取得したい(複数選択されているものや、選択されていないノードは除外したい)

Rearrange filter criteria を使えば実現できるのですが、選択項目が増えた場合のメンテナンスが
面倒なため、もっと簡単に出来る方法を探しています。

ご存じの方がいたらご教示ください。

Comments

ご希望の機能とは違いますが…

kenppx's picture

blauerbergさんのご希望の機能とはそもそも違うと思いますので、
多分、参考にはならないとは思いますがこんなものなら作ったことがあります。

http://nittoso.com/node/8

埼玉県内の塗装業者を市で絞り込めます。
ただこの場合、さいたま市と上尾市の様に2つの所在地を持つことを前提として
いないのでご希望の仕様とは根本的に異なりますが…。

Views PHPを使って解決しました

blauerberg's picture

kenppxさん、情報ありがとうございます。
結局、GUIからの設定で実現する方法がわからなかったため、
Views PHPを導入して filter criteria の条件にPHPコードを書くことにしました

Use aggregation で

shigehiro's picture

Use aggregation で実現できますよ。

  1. Advanced エリアの Use aggregation: をクリック → 設定ダイアログで Aggregate にチェックして適用。
  2. FILTER CRITERIA の「追加」ボタンをクリック → コンテンツ: フィールドA (field_a) にチェックを入れて適用。
  3. 「Configure group settings for filter criterion」の設定画面になるので、Aggregation type に「回数」を選択して適用。
  4. 次の設定画面で Operator に「Is equal to」、Value に「1」と入力して適用。
  5. ビューの設定を保存。

Drupal カスタマイズTips 更新中...
CMS自由自在!
http://customfield.jp/

aggregation

blauerberg's picture

aggregation を使ったほうがシンプルでいいですね、ありがとうございます。
「回数」ってそういう意味だったのですね...、英語に切り替えたら意味がわかりました。
Views 7.x から aggregation が入ったお陰で便利になりましたが、
ますます難解な管理UIになりましたね..

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: