微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Admin generator, filters and I18n

Three easy steps

1) configure function


Add an input for each field you want to include in your filter
<div class="codetitle"><a style="CURSOR: pointer" data="5129" class="copybut" id="copybut5129" onclick="doCopy('code5129')"> 代码如下:
<div class="codebody" id="code5129">
$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.
<div class="codetitle"><a style="CURSOR: pointer" data="96843" class="copybut" id="copybut96843" onclick="doCopy('code96843')"> 代码如下:
<div class="codebody" id="code96843">
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


<div class="codetitle"><a style="CURSOR: pointer" data="74817" class="copybut" id="copybut74817" onclick="doCopy('code74817')"> 代码如下:
<div class="codebody" id="code74817">
public function getFields()
{
return parent::getFields() + array('name' => 'Text');
}

From: http://oldforum.symfony-project.org/index.php/t/24350/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

filtersfiltersgeneratorgenerator

相关推荐