首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出奏鸣曲管理中的“原样”列表视图

导出奏鸣曲管理中的“原样”列表视图
EN

Stack Overflow用户
提问于 2017-09-27 15:13:25
回答 1查看 1.1K关注 0票数 0

在奏鸣曲中,可以将列表视图导出为不同的文件格式,如excel、pdf或csv。

此导出基于后台运行的数据库查询。它不认为模板正在操作列表视图中的输出。例如,如果将时间戳保存在数据库中,并且通过

代码语言:javascript
复制
$listMapper->add('testdate', 'date', ['format' => 'y-m-d'])

在列表视图中,它正确地显示为"2017-10-01“,但在导出中,本专栏中有类似于"2489489289”的内容.

另一个示例:如果我根据当前对象的不同属性呈现一个表示状态的自定义列,则状态列将永远不会出现在导出的文件中。

对我来说,一个可能的解决方案可能是重写管理控制器,并添加一个自定义回调函数来呈现导出文件手册。

但这里有一个大问题:

我必须实现整个逻辑,以便在导出回调函数中以预期的格式显示列。

有一个优雅的方法来实现这一点吗?我真正想要的是导出当前列表视图的“原样”,而不是基于后台的数据库查询.

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 15:35:03

您可以在Admin类的getExportFields()方法中添加要导出的字段,或者可以添加函数并为字段执行自己的逻辑,而不是字段getter,阅读更多的这里

我在行政管理部门有这样的情况:

代码语言:javascript
复制
public function getExportFields()
{
    return array(
        $this->trans('export.createdAt') => 'CreatedAtForExport',
        $this->trans('export.OfferPage') => 'OfferPageNameForExport'
    );
}

在我的实体里,我有:

代码语言:javascript
复制
class Entity
{
        public function getCreatedAtForExport()
        {
            return $this->createdAt->format('d.m.Y H:i');
        }

        public function getOfferPageNameForExport()
        {
            return $this->isOfferPage ? 'OfferPage' : 'CalcPage';
        }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46451480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档