2012-01-04 33 views
40

Tôi đang sử dụng symfony2 và SonataAdminBundle. Tôi có một thực thể đơn giản được gọi là Đăng trong đó tôi có trường nội dung về cơ bản là văn bản html (từ một ckeditor cho bản ghi). Tôi cần hiển thị trong danh sách Bài đăng trong trường nội dung dưới dạng html thô, mà không cần thoát nó. Hacking base_list_field mẫu như thế nàySonataAdminBundle hiển thị tùy chỉnh các trường văn bản trong danh sách

{% block field %}{{ value|raw }}{% endblock %} 

công trình, nhưng nó rõ ràng không phải là cách đúng đắn. Bất kỳ gợi ý nào?

chỉnh sửa: GIẢI PHÁP! Tôi đã xác định một kiểu tùy chỉnh html trong config.yml cho sonata_doctrine_orm_admin:

sonata_doctrine_orm_admin: 
    templates: 
     types: 
     list: 
      html: MyBundle:Default:list_html.html.twig 

Và tạo ra các tùy chỉnh list_html.html.twig mẫu, trong đó tôi không thoát khỏi HTML:

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

{% block field%} 
    {{value|raw}} 
{% endblock %} 

Bây giờ trong các PostAdmin tôi có thể xác định hành vi của lĩnh vực này trong phương pháp configureListFields:

$listMapper 
    ->add('content', 'html') 
+11

Bạn nên thêm câu trả lời của riêng mình và chấp nhận nó (sau một chút chậm trễ, tôi nghĩ o ngày để tự chấp nhận) thay vì chỉnh sửa câu trả lời của bạn bằng giải pháp. – Matt

Trả lời

24

giải pháp:

tôi đã xác định một kiểu tùy chỉnh html trong config.yml cho sonata_doctrine_orm_admin:

sonata_doctrine_orm_admin: 
    templates: 
     types: 
     list: 
      html: MyBundle:Default:list_html.html.twig 

Và tạo ra các tùy chỉnh list_html.html.twig mẫu, trong đó tôi không thoát khỏi HTML:

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

{% block field%} 
    {{value|raw}} 
{% endblock %} 

Bây giờ trong PostAdmin tôi có thể xác định hành vi của trường trong phương thức configureListFields:

$listMapper 
    ->add('content', 'html') 
Các vấn đề liên quan