Ich benutze symfony2 und SonataAdminBundle. Ich habe eine einfache Entität namens Post, in der ich ein Inhaltsfeld habe, das im Grunde HTML-Text ist (von einem CKeditor für den Datensatz). Ich muss das Inhaltsfeld in der Beitragsliste als unformatiertes HTML anzeigen, ohne es zu maskieren. Hacking base_list_field Vorlage wie folgt
{% block field %}{{ value|raw }}{% endblock %}
funktioniert, aber es ist eindeutig nicht der richtige Weg. Irgendwelche Hinweise?
edit: Gelöst! Ich habe in der config.yml einen benutzerdefinierten HTML-Typ für sonata_doctrine_orm_admin definiert:
sonata_doctrine_orm_admin:
templates:
types:
list:
html: MyBundle:Default:list_html.html.twig
Und erstellte die benutzerdefinierte Vorlage list_html.html.twig, in der ich HTML nicht entkomme:
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
{% block field%}
{{value|raw}}
{% endblock %}
Jetzt kann ich im PostAdmin das Verhalten des Feldes in der configureListFields-Methode definieren:
$listMapper
->add('content', 'html')
Die Lösung:
Ich habe in der config.yml einen benutzerdefinierten HTML-Typ für sonata_doctrine_orm_admin definiert:
sonata_doctrine_orm_admin:
templates:
types:
list:
html: MyBundle:Default:list_html.html.twig
Und erstellte die benutzerdefinierte Vorlage list_html.html.twig, in der ich HTML nicht entkomme:
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
{% block field%}
{{value|raw}}
{% endblock %}
Jetzt kann ich im PostAdmin das Verhalten des Feldes in der configureListFields-Methode definieren:
$listMapper
->add('content', 'html')
Ich weiß, es ist ein alter Beitrag, der eine akzeptierte Antwort hat, aber jetzt können Sie auch die Option safe verwenden, um Symfony anzuweisen, die Ausgabe nicht zu bereinigen.
$mapper->add('content', null, [
'safe' => true,
]);