2012-04-20 8 views
1

SonataAdminテンプレートを変更しようとしています。私は、pathプロパティを持つImageエンティティを持っています。私はImageAdminクラスを作成し、これはsonataAdminに統合されています。画像が実際に表示されるように、imgタグ内のパスをラップするようにadmin-list-viewを変更したいと思います。私はこれをどのようにすることができるか誰にも分かりますか?Symfony SonataAdminテンプレート

ありがとうございます!

答えて

4

独自のテンプレートを使用するには2通りの方法があります。設定ファイルで

<?php 
      namespace ...; 

      use Sonata\AdminBundle\Admin\Admin; 
      use Sonata\AdminBundle\Form\FormMapper; 
      use Sonata\AdminBundle\Datagrid\DatagridMapper; 
      use Sonata\AdminBundle\Datagrid\ListMapper; 
      use Sonata\AdminBundle\Show\ShowMapper; 

      class ImageAdmin extends Admin 
      { 
       protected function configureShowField(ShowMapper $showMapper) 
       { 
        $showMapper 
         ... 
         ->add('image', 'image') 
         ... 
        ; 
       } 
      } 
     ?> 

OR第二の方法:

<?php 
     namespace ...; 

     use Sonata\AdminBundle\Admin\Admin; 
     use Sonata\AdminBundle\Form\FormMapper; 
     use Sonata\AdminBundle\Datagrid\DatagridMapper; 
     use Sonata\AdminBundle\Datagrid\ListMapper; 
     use Sonata\AdminBundle\Show\ShowMapper; 

     class ImageAdmin extends Admin 
     { 
      protected function configureShowField(ShowMapper $showMapper) 
      { 
       $showMapper 
        ... 
        ->add('image', 'string', array('template' => 'YourBundle:YourFolder:yourtemplate.html.twig')) 
        ... 
       ; 
      } 
     } 
    ?> 

そして、以下のコードをコピーし

sonata_doctrine_orm_admin: 
    entity_manager: 

    templates: 
     form: 
      - SonataDoctrineORMAdminBundle:Form:form_admin_fields.html.twig 
     filter: 
      - SonataDoctrineORMAdminBundle:Form:filter_admin_fields.html.twig 
     types: 
      list: 
       ... 

      show: 
       ... 
       image: YourBundle:YourFolder:yourtemplate.html.twig 

やフィールド定義ファイルで

あなたのテンプレートに:

HuyVu と同じ
{% extends 'SonataAdminBundle:CRUD:base_show_field.html.twig' %} 


{% block field %} 
    <img src="{{ asset('uploads/media/') }}{{ value|nl2br }}"/> 
{% endblock %} 
1

しかし、私は、カスタムテンプレート

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

{% block field %} 
    {% thumbnail value, 'small' %} 
{% endblock %} 
のためにこれを使用
関連する問題