123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace TemplateBundle\Admin;
- use Base\AdminBundle\Admin\BaseAdmin;
- use Sonata\AdminBundle\Datagrid\DatagridMapper;
- use Sonata\AdminBundle\Datagrid\ListMapper;
- use Sonata\AdminBundle\Form\FormMapper;
- use Sonata\AdminBundle\Show\ShowMapper;
- use TemplateBundle\Entity\Template;
- class TemplateAdmin extends BaseAdmin
- {
- public function getTemplate($name)
- {
- switch ($name) {
- case 'edit':
- return 'TemplateBundle:Template:template_edit.html.twig';
- break;
- default:
- return parent::getTemplate($name);
- break;
- }
- }
- function getNewInstance()
- {
- return new Template($this->get('security.token_storage'));
- }
- /**
- * @param DatagridMapper $datagridMapper
- */
- protected function configureDatagridFilters(DatagridMapper $datagridMapper)
- {
- $datagridMapper
- ->add('name');
- }
- /**
- * @param ListMapper $listMapper
- */
- protected function configureListFields(ListMapper $listMapper)
- {
- $listMapper
- ->add('name')
- ->add('content', 'string', array('template' => 'TemplateBundle:CRUD:content_field.html.twig','data' => 'list'))
- ->add('_action', null, array(
- 'actions' => array(
- 'show' => array(),
- 'edit' => array(),
- 'clone' => array(
- 'template' => '@BaseAdmin/CRUD/list__action_clone.html.twig'
- ),
- 'delete' => array(),
- )
- ));
- }
- /**
- * @param FormMapper $formMapper
- */
- protected function configureFormFields(FormMapper $formMapper)
- {
- $formMapper
- ->add('name')
- ->add('content', null, array('attr' => array('style' => 'height: 300px')));
- }
- /**
- * @param ShowMapper $showMapper
- */
- protected function configureShowFields(ShowMapper $showMapper)
- {
- $showMapper
- ->add('name')
- ->add('content','string', array(
- 'template' => 'TemplateBundle:Template:show_template.html.twig',
- ));
- }
-
- /**
- * @param string $action
- * @param Template $object
- *
- * @return array
- */
- public function getActionButtons($action, $object = null)
- {
- $actions = parent::getActionButtons($action, $object);
- if ($this->isCurrentRoute('show')) {
- $actions['clone'] = [
- 'template' => '@BaseAdmin/CRUD/show__action_clone.html.twig',
- ];
- }
- return $actions;
- }
- }
|