如何在services.yaml中为服务方法调用配置集合类型参数列表
你只需在现有配置的calls节点下新增setTemplates方法调用即可,XML中的collection类型集合对应YAML的关联数组,转换后的完整配置如下:
sonata.media.admin.media: class: App\Application\Sonata\MediaBundle\Admin\ORM\MediaAdmin arguments: - '' - '%sonata.media.admin.media.entity%' - '%sonata.media.admin.media.controller%' - '@sonata.media.pool' - '@sonata.media.manager.category' tags: - { name: sonata.admin, manager_type: orm, group: admin, label: Seiten } public: true calls: - [ setModelManager, [ "@sonata.media.admin.media.manager" ] ] - [ setTranslationDomain, [ "%sonata.media.admin.media.translation_domain%" ] ] # 新增的setTemplates方法调用 - method: setTemplates arguments: - inner_list_row: '@SonataMedia/MediaAdmin/inner_row_media.html.twig' outer_list_rows_mosaic: '@SonataMedia/MediaAdmin/list_outer_rows_mosaic.html.twig' base_list_field: '@SonataAdmin/CRUD/base_list_flat_field.html.twig' list: '@SonataMedia/MediaAdmin/list.html.twig' edit: '@SonataMedia/MediaAdmin/edit.html.twig'
如果你偏好更紧凑的短语法,也可以写成如下格式,功能完全一致:
calls: # 保留原有其他调用 - [ setTemplates, [ { inner_list_row: '@SonataMedia/MediaAdmin/inner_row_media.html.twig', outer_list_rows_mosaic: '@SonataMedia/MediaAdmin/list_outer_rows_mosaic.html.twig', base_list_field: '@SonataAdmin/CRUD/base_list_flat_field.html.twig', list: '@SonataMedia/MediaAdmin/list.html.twig', edit: '@SonataMedia/MediaAdmin/edit.html.twig' } ] ]
展开式写法可读性更高,后续修改模板路径也更方便。
内容的提问来源于stack exchange,提问作者Mayor of the Plattenbaus
相关产品推荐
相关产品推荐

