2016-01-13 1 views
4

Я хочу показать список нескольких атрибутов Name => значения в таблице перекрывая единого поля только для PortsAdmin в ShowMapperКак переопределить поле Показать в сонатном администраторе

Ports Entity сопоставляется с PortsAttributes Entity.

Отношение объекта OneToMany Порты с несколькими атрибутами.

Admin Посмотреть (Edit Action)

Edit View of attributes listing

Показать Действие

Show list of attributes

Я хочу, чтобы изменение атрибутов смотреть так же, как редактировать действий.

ответ

10

Вы можете создать собственный шаблон для PostAttributes:

Пример:

/* ShowMapper in admin */ 
$showMapper->add('attributes', null, array(
    'template' => 'YOUR_TEMPLATE.html.twig' // <-- This is the trick 
)); 

В шаблоне, вы можете расширить поле базы шоу (SonataAdminBundle:CRUD:base_show_field.html.twig) и переопределить field блок. Переменная с именем value хранит данные в ветке.

Пример:

YOUR_TEMPLATE.html.twig

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

{% block field %} 
    {% for val in value %} 
     {{ val.name }} - {{ val.value }} {# I'm just guessing the object properties #} 
     <br/> 
    {% endfor %} 
{% endblock %}