Sonata Admin 视图中自定义列上的 Concat 字段

Concat field on custom column in Sonata Admin view

我正在尝试将自定义字段添加到 Sonata Admin 的列表视图中,它将连接固定字符串 (http://www.example.com) 和如下所示的字段 slug,以便我可以访问特定的产品 url。该列显示在 table 中并创建了 link,但我不知道如何将 slug 变量传递给模板以使其工作。

我有以下配置:

 #ProductAdmin.php
    protected function configureListFields(ListMapper $listMapper)
        {

        $listMapper->addIdentifier('id')
            ->addIdentifier('name')
            ->add('date')
            ->add('slug', 'text', [
                'editable' => true
            ])
            ->add('link', 'string', [
                'template' => 'default/admin-link.html.twig',
            ])


#default/admin-link.html.twig
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
    <a href="https://www.wattdoesituse.com/{{ slug }}">Product link</a>
{% endblock %}

在模板中,您可以访问 object,它保存循环中当前迭代的数据,只需在模板中调用 {{object.slug}} 即可访问特定行的 slug,例如

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
    <a href="https://www.wattdoesituse.com/{{ object.slug }}">Product link</a>
{% endblock %}

或者如果您使用 route/path 方法生成您的 URL 会更好