Создать новый тип поля списка для EasyAdmin - PullRequest
0 голосов
/ 14 апреля 2019

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

Вариант использования

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

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

easy_admin:
  entities:
    offer:
      class: App\Entity\Offer
      list:
        fields:
          - { property: name, type: MY_TYPE??? }

1 Ответ

1 голос
/ 15 апреля 2019

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

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

Позволяет отобразить URL:

# config/packages/easy_admin.yaml
easy_admin:
    entities:
        Product:
            class: App\Entity\User
            list:
                fields:
                    - { property: 'blogUrl', type: 'url' }

2) Если у вас нет полного URL, вы можете попробовать использовать собственный шаблон: https://symfony.com/doc/master/bundles/EasyAdminBundle/tutorials/custom-property-options.html#using-custom-property-options-in-templates

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

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