我使用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中创建了一个新的projet,但是遇到了同样的问题。
没有错误消息,我的专栏只留空
----------编辑-----------
我的外观更好,它表明已编译的模板与我的模板不匹配
在我的旧的大型Symfony3.4 Projet上,编译后的模板与模板相同。
但是我仍然不知道为什么
答案 0 :(得分:2)
Ad yceruto在评论中说,我的树枝延伸符号不好:
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
代替
{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}
答案 1 :(得分:1)
这很可能是路径问题。棘手的是,configureList函数不会给您任何错误(其他类似configureForm中的错误)。它显示该列,尝试匹配对象中的属性,但如果没有属性,则将其留空。仔细检查您的路径。我认为您指向的文件路径错误。
您写
{# templates/template_test.html.twig #}
但是你指向
'template' => 'template_test.html.twig',
奏鸣曲正在寻找app/Resources/view/template_test.html.twig
但是您的评论说它在app/Resources/view/templates/template_test.html.twig
或其他任何地方。