【发布时间】:2016-05-27 13:54:45
【问题描述】:
【问题讨论】:
标签: view sonata-admin symfony-sonata symfony
【问题讨论】:
标签: view sonata-admin symfony-sonata symfony
您必须为要自定义呈现的字段创建自定义模板。
为您的 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 中进行了解释。
【讨论】:
我实际上用奏鸣曲管理包版本 2.3.3 进行了测试,就这么简单:
/**
* @param ListMapper $listMapper
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('status', 'boolean');
}
在您的管理课程中。
自定义模板有效,但在这种情况下没有必要,因为它已经实现。供应商模板位于vendor/sonata-project/admin-bundle/Resources/views/CRUD/list_boolean.html.twig。
【讨论】: