You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 06:09:03