为EasyAdmin创建新的列表字段类型

时间:2019-04-14 08:09:19

标签: php symfony easyadmin

使用EasyAdmin Symfony软件包和Symfony 4.2,如何创建新的列表字段类型?

用例

“我想显示一个链接以显示列表表中的页面”

(不是表单类型,列表类型):

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

1 个答案:

答案 0 :(得分:1)

我相信您有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)如果您没有完整的网址,则可以使用自定义模板进行尝试: https://symfony.com/doc/master/bundles/EasyAdminBundle/tutorials/custom-property-options.html#using-custom-property-options-in-templates

这样,您可以定义一个自定义模板来生成您的网址并在需要时传递参数:

# 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'] }