簡體   English   中英

Symfony Sonata Admin-在listView中添加字段類型url不起作用

[英]Symfony Sonata Admin - add field type url in listView not working

我正在嘗試在實體的列表視圖中添加字段類型url,這是文檔中的鏈接-> https://symfony.com/doc/master/bundles/SonataAdminBundle/reference/field_types.html#url

這是我的代碼,我只復制了文檔:

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
            ->addIdentifier('name')
            ->add('url', 'url', [
                'url' => 'http://example.com'
            ]);
}

這似乎可行,但是“ Url”列始終為空。

在此處輸入圖片說明

我找到了負責渲染該字段的Sonata模板-> @ SonataAdmin / CRUD / list_url.html.twig。 這是代碼

{% extends get_admin_template('base_list_field', admin.code) %}

{% block field %}
{% spaceless %}
   {% if value is empty %}
      
   {% else %}
      {% if field_description.options.url is defined %}
   ...

問題是總是空的,我不知道這個變量是什么。 並且文檔沒有討論任何名為value的字段。

因此,您可以通過創建一個模板來實現此目的,該模板僅包含帶有您要鏈接的URL的按鈕。 見下文:

首先,我們在列表視圖上定義一個引用模板的字段,類型為null:

->add('foo', null, [
    'template' => 'example/foobar.html.twig',
])

在我們剛剛引用的模板中,我們可以執行以下操作:

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

{% block field %}
    <a class="btn btn-success" href="http://google.co.uk/">My Link</a>
{% endblock %}

現在您應該在列表視圖中看到按鈕顯示為一列。

如果有記錄的建議按預期工作,那將是很好的選擇,此解決方案可以解決。

暫無
暫無

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

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