SonataAdminBundle显示字段作为标签

Bas*_*sit 2 view symfony symfony-sonata sonata-admin

我有枚举字段status,我想在label label-infoHTML中显示.就像它显示的布尔值(红色或绿色).

在那里演示他们有很多标签,但我找不到如何添加它们.

在此输入图像描述

cha*_*asr 5

您必须为要自定义渲染的字段创建自定义模板.

对于您的status字段,请创建如下模板:

// src/AcmeBundle/Resources/views/CRUD/status_field.html.twig

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

{% block field %}
    {% set status = object.status == 1 ? 'success' : 'danger' %}
    <div>
        <span class="label label-{{ status }}">{{ object.status }}</span><br />
    </div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

在管理类中将其配置为模板:

$listMapper
    // ...
    ->add('status', null, array(
        'template' => 'AcmeBundle:CRUD:status_field.html.twig'
    ))
Run Code Online (Sandbox Code Playgroud)

文档的小部分但有用的部分进行了解释.