Dittoの検索について

質問全般・改善要望
返信する
bookyon
メンバー
メンバー
記事: 9
登録日時: 2013年12月25日(水) 15:34

Dittoの検索について

投稿記事 by bookyon »

-----
ご利用のサーバ:xampp
MODXのバージョン:1.0.12J-r1
PHPのバージョン:5.4.7
MySQLのバージョン:5.5.27
ブラウザ:IE9
-----
テンプレート変数に関して悩んでいます。
テンプレート変数「イニシャル」と「イニシャル2」の2種類を用意し、それぞれにアルファベット1文字を格納してあるとします。
例)リソースID-1:「イニシャル」=「A」 「イニシャル2」=「D」
  リソースID-2:「イニシャル」=「B」 「イニシャル2」=「A」
  リソースID-3:「イニシャル」=「C」 「イニシャル2」=「B」
この状況で、検索条件は「イニシャル」か「イニシャル2」に「A」が格納されているリソースを検索するという行為ができないようです。
(例の場合、リソースID-1と2が該当する)

このようなことができないのが当たり前なのかもしれません。

一人で悩んでるうちに何か解決方法はないものかと思い、テンプレート変数「頭文字」をhiddenとして作成し、強制的に「イニシャル」と「イニシャル2」をくっつけたデータを格納できればうまくいきそうなところまでは想像つきました。

一番なのは単純にDittoのフィルターで上記のような検索ができることなのですが、できないならhiddenフィールドの既定値をどのようにすれば「ほかのテンプレート変数を演算して取り込む」ことができるのかお教えいただきたく投稿しました。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: Dittoの検索について

投稿記事 by yama »

http://www.modx.liolion.net/resource/di ... pra_filter
フィルターを2つ指定してみるとできるでしょうか?
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Dittoの検索について

投稿記事 by mojira »

dittoの 「&extenders=`request`」が使えると思います。

http://d.hatena.ne.jp/hikidas_ikeda/20090306/1236350741
↑複数指定はヒキダスさんの記事が参考になりました。

上記を参考にして、検索フォームを作ったのが以下のURL(放置中であちこち不具合があるサイト・・)です。
http://wa9-wa9.com/157.html
検索フォームでは 「method="get" action="表示させたいURL"」という感じでURLにパラメーターが付くようになっています。

検索窓から検索する方法でも単純にリンクから絞り込む方法も出来ます。

dittoの 「&extenders=`request`」を指定して、テンプレートに埋め込んだdittoタグは以下のような感じです。

[!Ditto? &extenders=`request` &display=`10` &paginate=`1` &tpl=`books`!]

ではでは。
bookyon
メンバー
メンバー
記事: 9
登録日時: 2013年12月25日(水) 15:34

Re: Dittoの検索について

投稿記事 by bookyon »

「yama」さん、「mojira」さん、アドバイスありがとうございます。

こちらの意図が伝わりにくいのは承知の上での質問でした。
Dittoの標準のフィルター機能に複数の条件を指定しても思った結果は得ることはできませんでした。
(条件の指定方法が甘いのかもしれませんが…、もう少しだけトライしてみます。)

簡単にフィルターを指定するにはやはり、hiddenフィールドをうまく活用するしか方法がないようです。
入力時に自動的にhiddenフィールドに別の二つのフィールド文字列をくっつけて保存する方法がないものでしょうか。
返信する