[英]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.