symfony doctrine admin generator - >自定义列表

时间:2011-03-03 13:17:03

标签: symfony1 doctrine

我还没有找到一种方法来自定义“列表”视图中显示的项目。 更具体一点:默认情况下,选择并显示数据库表中的所有记录,我希望能够稍微调整一下数据库选择,以便从表中只选择一部分项目。

3 个答案:

答案 0 :(得分:5)

config:
  list:
    table_method: getForAdminList

然后,在相关的模型表类中,您可以定义条件来过滤记录:

  public function getForAdminList()
  {        
    $q = $this->createQuery('a')
      ->where('a.id > ?', 100);
    return $q;
  }

请注意,您必须返回查询,而不是记录集合。

答案 1 :(得分:0)

通常,您不会修改数据库调用,而是通过编辑generator.yml文件来更改显示的内容。

您应该感兴趣的部分是

config:
  list:
    display: [fields, to, display]

答案 2 :(得分:0)

在/backend/modules/*module_name*/actions/action.class.php中,您可以覆盖该模块的默认管理方法(如前端)。如果要过滤所有查询,可以覆盖getFilters()方法并添加默认参数:

class firmaActions extends autoFirmaActions
{
    protected function getFilters(){
        $filters = parent::getFilters();
        $filters['level_id'] = '3';
        return $filters;
    }
}

如果您想查看autoModuleActions,可以在cache / 后端 / modules / autoModule / actions

中找到它