Admin generator, filters and I18n

You need to modify your EntityFormFilter (where Entity is your object class - Article, Book, etc.).

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: http://oldforum.symfony-project.org/index.php/t/24350/

posted @ 2011-10-04 18:40  Lux.Y  阅读(387)  评论(0)    收藏  举报