Posted by bzj00220 on July 16, 2014 at 1:29am
viewsのCONTEXTUAL FILTERSで「・・・を含む」に該当するものを絞り込みたい
ユーザーの一覧をviewsで表示させたいと思っています。
ユーザーのプロフィールの項目には所在地の項目があります。
所在地の入力欄はテキストフィールドになっていて
ユーザーが自由にテキストで記入することができます
そのため、例えば「福岡市」や「福岡市東区名島1-2-3」などのよう
に書式が一定していません
その中からCONTEXTUAL FILTERSで例えば「福岡市」を含むユーザーを
一覧で表示させたいと考えています。
普通にCONTEXTUAL FILTERSを設定して、URLに福岡市を指定すると、所在地欄が
「福岡市」となっているユーザーだけが表示されて、
「福岡市東区名島1-2-3」となっているユーザーは表示されません。
CONTEXTUAL FILTERSの場合、指定したキーワードと一致したものだけを
絞り込むようになっているみたいです。
CONTEXTUAL FILTERSで「・・・を含む」に該当するものを絞り込む
という設定はできるのでしょうか?
Comments
CONTEXTUAL FILTERS
CONTEXTUAL FILTERS で「・・・を含む」というフィルタをかけたいとのことですね。
私も CONTEXTUAL FILTERS に詳しいわけではありませんが、英語の記事などをパラパラと見てみたかぎりそれが実現できているものは見かけないので、おそらくそのような設定はないのではないでしょうか。。
hook を使って DB クエリを書き換えたりすると CONTEXTUAL FILTERS を使っても実現できるように思いますが、 PHP コードを書かず管理画面からというのは難しいように思います。
直接のお答えではありませんが、
この機能を実現するのであれば、私なら views_php (https://www.drupal.org/project/views_php) というモジュールを使うでしょうか。
views_php を入れた後に views の通常のフィルタをかけてその中で PHP コードで「URL からパラメータを抽出し、部分一致検索する」ということをするかと思います。
「アプローチは問わず、この機能を実現したい」という場合はご参考になるのではないかと思います。
ご参考になれば幸いです。
ありがとうございました
views_phpというモジュールの件、ありがとうございました。
views_phpがどのようなモジュールかは知りませんが、一度、試してみます。
ありがとうございました。
ありがとうございました
views_phpというモジュールの件、ありがとうございました。
views_phpがどのようなモジュールかは知りませんが、一度、試してみます。
ありがとうございました。
わかりませんでした
views_phpをインストールしていろいろ試してみたのですが、結局、わかりませんでした。
今回の問題は私レベルでは難しいみたいなので諦めることにしました。
お騒がせいたしました。
Exposed Filter
ViewsのExposed Filterでは、どんな形のフィルタリングもかけられます。
福岡市を含むという事で、該当するtext fieldにフィルタリングをかけて表示する事は可能かと思います。
試してないから分からないですが、Exposed filterのデフォルトで「福岡市」にして、含むものを表示すればよいかなと思います。