使用EasyAdmin Symfony软件包和Symfony 4.2,如何创建新的列表字段类型?
用例
“我想显示一个链接以显示列表表中的页面”
(不是表单类型,列表类型):
easy_admin:
entities:
offer:
class: App\Entity\Offer
list:
fields:
- { property: name, type: MY_TYPE??? }
答案 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'] }