0

SonataAdminBundle のリスト ビュー テーブルに改行を追加するにはどうすればよいですか?

次のようにエンティティに関数を追加しました。

getTest() {
    return "test 1 \n test 2";
}

そして、私のconfigureListFields関数では、この方法でフィールドを追加します:

$listMapper->add('test', null, array('label' => 'Test'))

また、タイプをtextstringおよびdoctrine_orm_textに変更しようとしましたが、役に立ちません。

出力が html エンティティに変換されるため、<br />代わりに使用しても役に立ちません。\n

4

2 に答える 2

0

可能性を見つけました:テキストテンプレートのbase_list_field.html.twigテンプレートをオーバーライドします:nl2brブロックfieldが定義されたときにフィルターを追加します:

list_text_field.html.twig

<td class="sonata-ba-list-field sonata-ba-list-field-{{ field_description.type }}" objectId="{{ admin.id(object) }}">
{% if
        field_description.options.identifier is defined
    and field_description.options.route is defined
    and admin.isGranted(field_description.options.route.name == 'show' ? 'VIEW' : field_description.options.route.name|upper, object)
    and admin.hasRoute(field_description.options.route.name)
%}
    <a href="{{ admin.generateObjectUrl(field_description.options.route.name, object, field_description.options.route.parameters) }}">
        {%- block field %}{{ value|nl2br }}{% endblock -%}
    </a>
{% else %}
    {{ block('field') }}
{% endif %}
</td>

あなたのconfig.yml

sonata_doctrine_orm_admin:
    templates:
        types:
            list:
                text: YourBundle:Admin:list_text_field.html.twig

configureListFields

$listMapper->add('test', 'text', array('label' => 'Test'))
于 2013-01-31T15:43:05.180 に答える