首页 > 解决方案 > EasyAdmin3:将其他变量传递给 twig-template(编辑页面)

问题描述

背景

我想在编辑页面中显示与实体无关的信息。根据官方文档可以用configureResponseParameters-function解决。

问题

所以我将该功能实现到我的 CRUD 控制器中。

知道为什么吗?

如何实现将数据传递到我的 EDIT-twig 模板?非常感谢!

我的文件

PersonCrudController.php

class PersonCrudController extends AbstractCrudController {
    public function configureCrud(Crud $crud): Crud {

        $crud->setFormThemes([
            'mystuff/person_edit_form.html.twig', '@EasyAdmin/crud/form_theme.html.twig'
        ]);

        return $crud;
    }

    public function configureFields(string $pageName): iterable {
        // ...
        yield TextField::new('specialDisplay')->setFormTypeOption('mapped', false);
        // ...
    }

    public function configureResponseParameters(KeyValueStore $responseParameters): KeyValueStore
    {
        $responseParameters->set('testtesttest', '123xyz');
        return $responseParameters;
    }
    // ...
}

mystuff/person_edit_form.html.twig

{% block _Person_specialDisplay_row %}
    {{ testtesttest }} {# throws: Variable "testtesttest" does not exist. #}
    {{ dump() }}       {# cannot find "testtesttest" anywhere in dump #}

    {# ... here comes the rest that is working perfectly ... #}
{% endblock %}

标签: symfonytwigparameter-passingcrudeasyadmin

解决方案


推荐阅读