2011-09-27 123 views
0

我有一个管理员使用sfDoctrineGuardPlugin。我也有另一个表,sf_guard_user_profile,它扩展了sf_guard_user表,查看记录时,包括更多领域,如地址,年龄等sfDoctrineGuardPlugin和管理过滤器

我的问题是,我嵌入型材(sf_guard_user_profile)信息到sf_guard_user记录在管理员生成的模块中。这工作正常,但我想然后能够使用sf_guard_user_profile表中的一些过滤器。

我试图将这些加入到generator.yml文件,但我这引发一个错误

generator.yml

................... 

    filter: 
    display: [username, email_address, address_1, is_active ] 

Widget "address_1" does not exist. 

ADDRESS_1是sf_guard_user_profile

场这是可能做到?

感谢

+0

好吧,似乎已经做到了 – terrid25

回答

0

好了,所以我不得不做的工作一点点在sfGuardUserFormFilter类,

$this->widgetSchema['age'] = new sfWidgetFormInputText(array(
     'label' => 'Age' 
)); 

    //Type of validator for filter 
    $this->validatorSchema['age'] = new sfValidatorPass(array ('required' => false)); 

public function getFields() 
{ 
    $fields = parent::getFields(); 
    $fields['age'] = 'age'; 
    return $fields; 
} 


public function addAgeColumnQuery($query, $field, $value) 
{ 
    $rootAlias = $query->getRootAlias(); 

    $query->where('p.age LIKE ?', '%'.$value.'%'); 

    //remember to return the $query! 
    return $query; 
} 

然后我可以用在generator.yml文件age领域。

谢谢