为 EasyAdmin 创建新的列表字段类型
Create new list field type for EasyAdmin
使用 EasyAdmin Symfony 包,使用 Symfony 4.2,如何创建新的列表字段类型?
用例
"I want to display a link to show page in the list table"
(不是表单类型,列表类型):
easy_admin:
entities:
offer:
class: App\Entity\Offer
list:
fields:
- { property: name, type: MY_TYPE??? }
我相信你有 2 个解决方案:
- 如果 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: App\Entity\User
list:
fields:
- { property: 'blogUrl', type: 'url' }
- 如果您没有完整的 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: App\Entity\Product
list:
fields:
# ...
- { property: 'tags', template: 'admin/tag_collection.html.twig',
label_colors: ['primary', 'success', 'info'] }
使用 EasyAdmin Symfony 包,使用 Symfony 4.2,如何创建新的列表字段类型?
用例
"I want to display a link to show page in the list table"
(不是表单类型,列表类型):
easy_admin:
entities:
offer:
class: App\Entity\Offer
list:
fields:
- { property: name, type: MY_TYPE??? }
我相信你有 2 个解决方案:
- 如果 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: App\Entity\User
list:
fields:
- { property: 'blogUrl', type: 'url' }
- 如果您没有完整的 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: App\Entity\Product
list:
fields:
# ...
- { property: 'tags', template: 'admin/tag_collection.html.twig',
label_colors: ['primary', 'success', 'info'] }