簡體   English   中英

在Sonata管理員列表中使用自定義列

[英]Use custom column in Sonata Admin list

我用Symfony 4.1創建了一個項目,並安裝了Sonata Admin Bundle。

在我的類別列表中,我嘗試添加一個與Category字段無關的列

所以我做了

/* 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中創建了一個新的項目,但我遇到了同樣的問題。

沒有錯誤消息,我的專欄空白

----------編輯-----------

我有一個更好的外觀,它接縫編譯模板與我的模板不匹配

在此輸入圖像描述

在我的舊的大型Symfony3.4項目中,編譯的模板與模板相同。

但我還是不知道為什么

Ad yceruto在評論中說,我的枝條延伸的符號並不好:

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

代替

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

這很可能是路徑問題。 棘手的是,configureList函數不會給你任何錯誤(其他類似於configureForm)。 它顯示列,嘗試匹配對象中的屬性,但如果沒有屬性則將其保留為空。 仔細檢查你的路徑。 我認為你指的是錯誤的文件路徑。

你寫

{# templates/template_test.html.twig #}

但你指出

'template' => 'template_test.html.twig',

所以sonata正在尋找app/Resources/view/template_test.html.twig

但你的評論在app/Resources/view/templates/template_test.html.twig或其他任何地方都有說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM