显示视图
现在您的管理后台允许您创建、编辑和列出博客文章和分类。但是,如果您只想查看一篇博客的详细视图呢?本章将教您如何使用显示视图。
如果您仍然在 https://127.0.0.1:8000/admin/app/blogpost/list 页面,您会在每篇博客文章行上看到一个显示按钮。但是当您点击它时,您会看到“没有可用的表单”消息。这是因为 Sonata 不知道要显示哪些字段,现在让我们配置一些。
配置显示映射器
如果您现在熟悉 FormMapper
和 ListMapper
,那么 ShowMapper
看起来会非常相似
1 2 3 4 5 6 7 8 9 10 11 12 13
// src/Admin/BlogPostAdmin.php
use Sonata\AdminBundle\Show\ShowMapper;
protected function configureShowFields(ShowMapper $show): void
{
$show
->add('id')
->add('title')
->add('body')
->add('category.name')
;
}
使用组和标签页
与 FormMapper
类似,ShowMapper
也支持将字段分组在一起
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// src/Admin/BlogPostAdmin.php
protected function configureShowFields(ShowMapper $show): void
{
$show
->tab('Post')
->with('Content', ['class' => 'col-md-9'])
// ...
->end()
->with('Meta data', ['class' => 'col-md-3'])
// ...
->end()
->end()
->tab('Publish Options')
// ...
->end()
;
}
这项工作,包括代码示例,均根据 Creative Commons BY-SA 3.0 许可协议获得许可。