我想删除一些只有在其他字段具有一定值时才相关的显示字段,但实体不能从管理类访问
解决方案是重写管理控制器的preShow动作:
// FooAdminController.php
/**
* @param Request $request
* @param Foo $object
*
* @return null|'Symfony'Component'HttpFoundation'Response
*/
protected function preShow(Request $request, $object)
{
$ret = parent::preShow($request, $object);
/** @var FieldDescriptionCollection $show */
$show = $this->admin->getShow();
if ($object->isBar()) {
$show->remove('baz');
}
return $ret;
}