symfony - 在 Sonata 管理列表中使用自定义列

标签 symfony sonata-admin sonata

我使用 Symfony 4.1 创建了一个项目,并安装了 Sonata Admin Bundle。

在我的类别列表中,我尝试添加与类别字段不相关的列

所以我就这么做了

/* Admin/CategoryAdmin.php */

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
        ->addIdentifier('name')
        ->add('test_column', 'string', [
            'template' => 'template_test.html.twig',
        ]);
}

还有我的模板。

{# templates/template_test.html.twig #}

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
    TEST
{% endblock %}

该列已创建,但为空。我做错了什么? 这是我的测试项目:https://github.com/AntoineLemaire/sonata-admin-issue/commits/master

我有一个使用 Symfony 3.4 的其他大项目,它运行没有问题,所以我在 3.4 中创建了一个新的项目,但我遇到了同样的问题。

没有错误消息,我的专栏只是空白

---------- 编辑 -----------

我仔细一看,编译后的模板与我的模板不匹配

enter image description here

在我的旧大型Symfony3.4项目上,编译的模板与模板相同。

但我还是不知道为什么

最佳答案

Ad yceruto 在评论中说,我的 twig extends 的表示法不好:

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

而不是

{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}

关于symfony - 在 Sonata 管理列表中使用自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50995176/

相关文章:

php - Doctrine @OneToMany 关系不返回集合

php - 在 Symfony 中将实体转换为数组

symfony - 在configureDatagridFilters中创建自定义类型字段 - Sonata Admin

sonata-admin - Sonata Admin 中的默认排序 - Mediabundle

PHPUnit 测试写入文件的函数并将内容检查到创建的文件中

symfony - sonata_type_collection 字段仅适用于现有的父对象

php - 验证未映射到 symfony2 表单中的实体的复选框

Symfony - 在 Doctrine EntityRepository 中注入(inject)和访问 DIC 服务

symfony - 索纳塔异常注册了太多管理员

symfony - 为 Sonata Admin 包配置自定义模板