2017-03-08 2 views
0

Ich weiß, dass Sie Felder einer Kindansicht in Sonate admin hinzufügen können, indem Sie point verweisen child.field in der Showansicht, aber das funktioniert nur für eins zu eins Beziehungen. Ich habe eine Ein-Eltern-Kind-Beziehung. Und das funktioniert nicht:wie man ein zu viele Sonata admin Kind Ansichten einbindet

<?php $showMapper->add('child', 'sonata_type_model',array(), array(
       'edit' => 'inline', 
       'inline' => 'table', 
       )) 

Obwohl es für die formMapper große Werke. Wie soll das gemacht werden? Wenn es durch die Zweigansicht ist, gib mir bitte ein Beispiel.

Antwort

1

Für die ShowMapper Sie gerade tun $showMapper->add('child');

Allerdings wird es die meiste Zeit nur einen Link zu dem Kind Objekt anzuzeigen.

Wie Sie Sie vorgeschlagen können auch direkt untergeordneten Felder mit

$formMapper->add('child.field'); 

machen aber es funktioniert nicht für Sammlungen

die Wiedergabe anzupassen, wenn eine Sammlung Haben Sie Ihre eigene Vorlage erstreckt machen SonataAdminBundle:CRUD:base_show_field.html.twig

In der Vorlage befinden sich Ihre untergeordneten Objekte in der Variablen value, die Sie zur Anzeige jedes Elements

schleifen können

Dann wird Ihr Feld die Vorlage

$showMapper->add('children', null, array('template' =>'MyBundle:CRUD:MyCustomTemplate.html.twig')); 
+0

danke Angabe hinzufügen, fand ich, dass auch aus. Ich bin mit einer Zweigvorlage wie dieser gelandet, da ich auch Kinderdaten benötigt habe: {% erweitert 'SonataAdminBundle: CRUD: base_show_field.html.twig'%} {% Blockfeld%} {% für val in value %} {{}} val.field1
{{}} val.field2
{{}} val.field3 {% für ein Kind in val.childrenschildren%} {{child.datefrom | date ('Ym-d')}} - {{child.dateto | date ('Ym-d')}} {{}} child.name T/W
{% endfor%}

{% endfor%} {% endblock%} – reptilex

Verwandte Themen