Несколько полей (типа url) в одном столбце списка в SonataAdmin

У меня есть объект symfony, который (необязательно) включает в себя файл «вложения». Я хотел бы представить две разные ссылки на вложение (одну для «загрузки», одну для «просмотра») в столбце Один представления списка сущностей списка. Пока у меня есть это:

class MyEntityAdmin extends AbstractAdmin
{
  /*...*/
    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
        /*...*/
            ->add('attachmentDownloadTitle', 'url', [
                'label' => 'download',
                'route' => [
                    'name' => 'get-my-entity-attachment',
                    'parameters' => ['disposition'  => 'download'],
                    'identifier_parameter_name' => 'id',
                    'absolute' => false,
                    ],
                ])
            ->add('attachmentViewTitle', 'url', [
                'label' => 'view',
                'route' => [
                    'name' => 'get-my-entity-attachment',
                    'parameters' => ['disposition'  => 'view'],
                    'identifier_parameter_name' => 'id',
                    'absolute' => false,
                    ],
                ])
        /*...*/
        ;
    }
}

который работает так, как ожидалось, за исключением того, что он (конечно) создает два столбца (один со ссылкой «скачать», другой со ссылкой «просмотр»). Есть ли способ «объединить» несколько полей под одним столбцом в представлении списка? Или я должен использовать тип поля «html» и сам создать полное содержимое поля?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что самый простой способ - использовать любой тип с настраиваемым шаблоном, который выводит две ссылки.

->add('filename', 'text', array(        
     'template' => '@AppBunle/Admin/CRUD/attachment_field.html.twig'
))

attachment_field.html.twig

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

{% block field %}
    <a href = "#">{{ object.attachmentViewTitle }}</a>
    <a href = "#">{{ object.attachmentDownloadTitle }}</a> 
{% endblock %}

Другие вопросы по теме