【发布时间】:2018-09-27 02:37:51
【问题描述】:
代码
我的奏鸣曲管理类代码:
class UsersAdmin extends AbstractAdmin
{
.....
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('getSummaryTimeInGame','string',[
'label' => 'Summary time in game',
'template' =>'AdminBundle::get_summary_time_in_game.html.twig'
])
->add('getPercentTasksDone', 'string', [
'label' => 'Percents tasks done',
'template' => 'AdminBundle::get_percent_tasks_done.html.twig'
])
}
public function getExportFields()
{
return [
'Name' => 'name',
'Surname' => 'surname',
'Summary time in game' => 'getSummaryTimeInGame',
'Percents tasks done' => 'getPercentTasksDone',
];
}
.....
}
问题
字段“getSummaryTimeInGame”和“getPercentTasksDone”在数据网格列表视图中可见,但在导出到 XLS 时,它们是空白的。
如何在 XLS 导出时正确列出这些字段?
【问题讨论】:
-
getSummaryTimeInGame 和 getPercentTasksDone 都是链接实体上的现有方法?
-
@AirBair 这些方法在链接实体中不存在。这些字段的值的自定义逻辑在树枝模板中(在 $listMapper 中作为参数“模板”给出)
-
这就是为什么它不起作用!导出操作独立于列表配置。导出字段中的值必须与链接实体中的属性或方法的名称相对应。根据文档:sonata-project.org/bundles/admin/3-x/doc/reference/…
-
@AirBar 那么,如何在导出的字段中包含自定义逻辑值?我想在树枝模板中使用我的服务来获得价值。向实体注入服务不是一个好习惯。
标签: symfony sonata-admin sonata symfony3.x