TemplateAdmin.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace TemplateBundle\Admin;
  3. use Base\AdminBundle\Admin\BaseAdmin;
  4. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Show\ShowMapper;
  8. use TemplateBundle\Entity\Template;
  9. class TemplateAdmin extends BaseAdmin
  10. {
  11. public function getTemplate($name)
  12. {
  13. switch ($name) {
  14. case 'edit':
  15. return 'TemplateBundle:Template:template_edit.html.twig';
  16. break;
  17. default:
  18. return parent::getTemplate($name);
  19. break;
  20. }
  21. }
  22. function getNewInstance()
  23. {
  24. return new Template($this->get('security.token_storage'));
  25. }
  26. /**
  27. * @param DatagridMapper $datagridMapper
  28. */
  29. protected function configureDatagridFilters(DatagridMapper $datagridMapper)
  30. {
  31. $datagridMapper
  32. ->add('name');
  33. }
  34. /**
  35. * @param ListMapper $listMapper
  36. */
  37. protected function configureListFields(ListMapper $listMapper)
  38. {
  39. $listMapper
  40. ->add('name')
  41. ->add('content', 'string', array('template' => 'TemplateBundle:CRUD:content_field.html.twig','data' => 'list'))
  42. ->add('_action', null, array(
  43. 'actions' => array(
  44. 'show' => array(),
  45. 'edit' => array(),
  46. 'delete' => array(),
  47. )
  48. ));
  49. }
  50. /**
  51. * @param FormMapper $formMapper
  52. */
  53. protected function configureFormFields(FormMapper $formMapper)
  54. {
  55. $formMapper
  56. ->add('name')
  57. ->add('content', null, array('attr' => array('style' => 'height: 300px')));
  58. }
  59. /**
  60. * @param ShowMapper $showMapper
  61. */
  62. protected function configureShowFields(ShowMapper $showMapper)
  63. {
  64. $showMapper
  65. ->add('name')
  66. ->add('content','string', array(
  67. 'template' => 'TemplateBundle:Template:show_template.html.twig',
  68. ));
  69. }
  70. }