sonata_type_model_list自定义调用的管理员类



我正在寻找在管理员类中使用sonata_type_model_list表单类型时自定义链接管理类的解决方案。

一个例子:我有一个名为 EntityA 的实体的 2 个管理员:类实体 A类实体A1管理员类实体A2管理员

该实体与其他实体many_to_one关系链接:实体B和实体C。

在 EntityBAdmin 中,我想在 $formMapper->add('entityA','sonata_type_model_list'( 上调用 A1Admin;

在 EntityCAdmin 中,我想在 $formMapper->add('entityA','sonata_type_model_list'( 上调用 A2Admin;

是否有任何解决方案可以手动设置sonata_type_model_list应调用的管理员类?

至少,如果不可能,是否可以在列表视图中自定义默认过滤器?(是否可以通过sonata_type_model_list字段自定义$dataGridValues?

提前感谢(我已经花了几个小时在代码中找到解决方案,但我找不到任何明确的解决方案......

如果我

是你,我会反对对单个实体使用多个管理员。我将首先尝试使用某种上下文或参数,以区分在每种情况下为同一 EntityA 管理员显示和不显示的内容(而不是对 EntityA 使用两个单独的管理员(。

我相信您想更改sonata_type_model_list中显示的过滤器。您可能想尝试此操作以了解是否从sonata_type_model_list窗口中调用实体管理员:

protected function configureDatagridFilters(DatagridMapper $filterMapper)
{
    $request = $this->getRequest();
    if ($request->query->get('pcode') == '_entity_b_code_') {
        ...
    }
}

然后根据上下文相应地添加或不添加所需的筛选器字段。

相关内容

最新更新