Создать новый тип поля списка для EasyAdmin

#php #symfony #easyadmin

#php #symfony #easyadmin

Вопрос:

С помощью пакета EasyAdmin Symfony, с Symfony 4.2, как создать новый тип поля списка?

Пример использования

«Я хочу отобразить ссылку на показ страницы в таблице списка»

(не тип формы, тип списка):

 easy_admin:
  entities:
    offer:
      class: AppEntityOffer
      list:
        fields:
          - { property: name, type: MY_TYPE??? }
  

Комментарии:

1. создайте тип поля для представления списка, я не могу сказать больше, чем это :/

Ответ №1:

Я считаю, что у вас есть 2 решения :

  1. Если URL-адрес хранится в вашем объекте, для этого есть пользовательский тип: https://symfony.com/doc/2.x/bundles/EasyAdminBundle/book/list-search-show-configuration.html#url-data-type

Это позволяет отображать URL-адрес :

 # config/packages/easy_admin.yaml
easy_admin:
    entities:
        Product:
            class: AppEntityUser
            list:
                fields:
                    - { property: 'blogUrl', type: 'url' }
  
  1. Если у вас нет полного URL-адреса, вы можете попробовать использовать пользовательский шаблон :
    https://symfony.com/doc/2.x/bundles/EasyAdminBundle/tutorials/custom-property-options.html#custom-property-options

Таким образом, вы можете определить пользовательский шаблон для генерации вашего URL-адреса и передать параметр, если вам нужно :

 # config/packages/easy_admin.yaml
easy_admin:
    entities:
        Product:
            class: AppEntityProduct
            list:
                fields:
                    # ...
                    - { property: 'tags', template: 'admin/tag_collection.html.twig',
                        label_colors: ['primary', 'success', 'info'] }
  

Комментарии:

1. вариант шаблона идеален! Сначала я должен был полностью прочитать документ:/ спасибо.

2. теперь ссылка не работает … вероятно, это: symfony.com/doc/2.x/bundles/EasyAdminBundle/tutorials /…