2007年6月30日(土曜日)

一覧画面に検索フォームをつける

カテゴリー: - Ryuji @ 15時20分40秒

昨日はうっかり BLOG を更新するのを忘れてしまいました(..;)

さて、仕事でモジュール開発をしていると、データの一覧画面に検索フォームをつけてほしいという要望がよくあります。

そこで FilterForm に検索条件を保持させるために cubson が生成した AbstractFilterForm に次のようなコード追加しています。


	var $params = array();
	function get($key){
		return $this->params[$key];
	}
	function set($key, $value)
	{
		$this->params[$key] = $value;
	}

各 テーブルの FilterForm の fetch を、値が保持できるように criteria に条件を追加する部分に、$this->set(検索キー , 値) を追加していきます。

ListAction も、FilterForm を render に渡すように executeViewIndex に1行追加します。


$render->setAttribute('filter', $this->mFilter);

テンプレートの検索フォームは下記のように書いていきます。


<form action="index.php" method="GET">
<{xoops_input type=hidden name=action value=HogeList}>
Foo ID : <{xoops_input type=text name=foo_id value=$filter->get('foo_id')}>
開始日 : <{xoops_input type=text name=start_date value=$filter->get('start_date')}>
<input type="submit" value=" 検索 " />
</form>

実際には完全一致だけでなく、範囲検索したり、キーワード検索することがあるので、criteria 追加部分はかなりいじることになりますが、基本はこのような感じで一覧画面に検索フォームをくわえることができます。


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.008 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.