sfDoctrineGuardPlugin和管理过滤器

时间:2011-09-27 09:15:25

标签: symfony1 symfony-1.4

我有一个使用sfDoctrineGuardPlugin的管理员。我还有另一个表sf_guard_user_profile,它扩展了sf_guard_user表,以包含更多字段,例如地址,年龄等。

我的问题是,在查看admin生成模块中的记录时,我将配置文件(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

中的字段

这可能吗?

由于

1 个答案:

答案 0 :(得分: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;
}

然后,我可以使用age文件中的generator.yml字段。

由于