欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Admin generator, filters and I18n

程序员文章站 2022-10-05 21:02:44
three easy steps 1) configure function add an input for each field you want to include...
three easy steps

1) configure function
add an input for each field you want to include in your filter
复制代码 代码如下:

$this->widgetschema['name'] = new sfwidgetformfilterinput(array('with_empty' => false));
$this->validatorschema['name'] = new sfvalidatorpass(array('required' => false));

2) add a query modification when filtering for that field
i've done it for doctrine. pay atention to the method name addfieldcolumnquery.
复制代码 代码如下:

public function addnamecolumnquery(doctrine_query $query, $field, $values)
{
if (is_array($values) && isset($values['text']) && '' != $values['text'])
{
$query->leftjoin('r.translation t')
// ->andwhere('t.lang = ?', $especify_one_language) // or it will search in all of them
->andwhere('concat(t.name, t.shortname) like ?', '%' . $values['text'] . '%');
}
}

3) add your searching fields

复制代码 代码如下:

public function getfields()
{
return parent::getfields() + array('name' => 'text');
}

from: