Symfony Sonata Admin Bundle - 将带有twig模板的自定义字段导出到XLS

时间:2018-04-17 08:05:17

标签: symfony sonata-admin sonata symfony3.x

代码

我的Sonata管理员类代码:

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导出中正确列出这些字段?

1 个答案:

答案 0 :(得分:0)

在您的用户实体(链接到此管理类的实体)中创建这两个功能。

public function getSummaryTimeInGame{
    // return the desired calculated value.
}

public function getPercentTasksDone(){
    // return the desired calculated value.
}

导出后,您的工作表将在文件中获取这些值。