ページ 11

Dittoの検索について

Posted: 2014年1月29日(水) 14:29
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フィールドの既定値をどのようにすれば「ほかのテンプレート変数を演算して取り込む」ことができるのかお教えいただきたく投稿しました。

Re: Dittoの検索について

Posted: 2014年1月29日(水) 17:20
by yama
http://www.modx.liolion.net/resource/di ... pra_filter
フィルターを2つ指定してみるとできるでしょうか?

Re: Dittoの検索について

Posted: 2014年1月31日(金) 03:03
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`!]

ではでは。

Re: Dittoの検索について

Posted: 2014年1月31日(金) 12:00
by bookyon
「yama」さん、「mojira」さん、アドバイスありがとうございます。

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

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