Вы должны создать пользовательский шаблон для поля, которое вы хотите настроить визуализацию.
Для вашего 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 %}
настроить его в качестве шаблона в классе администратора:
$listMapper
// ...
->add('status', null, array(
'template' => 'AcmeBundle:CRUD:status_field.html.twig'
))
Разъяснение в небольшом, но полезном part of the documentation.
Я не предлагаю эту альтернативу, потому что я думаю, что владелец знает, что он может определить тип поля. Спасибо за дополнение. – chalasr