如何将一些代码应用于管理员列表视图中显示的每个实体?
例如,如果我有一个TagManager
并且需要为每个显示的实体加载标签,我该怎么做?是否有一种方法可以覆盖实体的管理员,还是可以绑定到某些列表格式事件?我找不到一个可以做到的地方。
我不想绑定到实体的onLoad
事件。
答案 0 :(得分:5)
编辑:在您的entityAdminController中:
public function listAction()
{
if (false === $this->admin->isGranted('LIST')) {
throw new AccessDeniedException();
}
$datagrid = $this->admin->getDatagrid();
$formView = $datagrid->getForm()->createView();
foreach($datagrid->getResults() as $object)
{
//do what you want with $object
}
// set the theme for the current Admin Form
$this->get('twig')->getExtension('form')->renderer->setTheme($formView, $this->admin->getFilterTheme());
return $this->render($this->admin->getTemplate('list'), array(
'action' => 'list',
'form' => $formView,
'datagrid' => $datagrid
));
}