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



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

用例

"我想显示一个链接以在列表表中显示页面">

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

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

我相信您有 2 个解决方案:

  1. 如果 url 存储在您的对象中,则有一个自定义类型:https://symfony.com/doc/2.x/bundles/EasyAdminBundle/book/list-search-show-configuration.html#url-data-type

它允许您显示一个网址:

# config/packages/easy_admin.yaml
easy_admin:
    entities:
        Product:
            class: AppEntityUser
            list:
                fields:
                    - { property: 'blogUrl', type: 'url' }
  1. 如果您没有完整的网址,则可以尝试使用自定义模板: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'] }

最新更新