src/Block/DocumentationBlockService.php line 21

Open in your IDE?
  1. <?php 
  2. // src/AdminBundle/Block 
  3. namespace App\Block
  4.  
  5. use Sonata\BlockBundle\Block\BlockContextInterface
  6. use Symfony\Component\HttpFoundation\Response
  7. use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface
  8. use Sonata\AdminBundle\Form\FormMapper
  9. use Sonata\AdminBundle\Admin\Pool
  10. use Sonata\BlockBundle\Block\BaseBlockService
  11. use Symfony\Component\Security\Core\SecurityContext
  12. use Symfony\Component\OptionsResolver\OptionsResolverInterface
  13. use Doctrine\ORM\EntityManager
  14.  
  15. use Sonata\BlockBundle\Model\BlockInterface;
  16. use Sonata\CoreBundle\Validator\ErrorElement;
  17. class DocumentationBlockService extends BaseBlockService 
  18.  
  19.     /** * @var EntityManager */
  20.     protected $em
  21.  
  22.     public function __construct(
  23.       $name
  24.       EngineInterface $templating
  25.       Pool $pool
  26.       EntityManager $em
  27.       ) { 
  28.         parent::__construct($name$templating); 
  29.         $this->pool $pool;
  30.         $this->em $em;
  31.     }
  32.  
  33.     /**
  34.      * {@inheritdoc}
  35.      */
  36.     public function getName()
  37.     {
  38.         return 'Statistique';
  39.     }
  40.  
  41.  
  42.     /**
  43.      * {@inheritdoc}
  44.      */
  45.     public function execute(BlockContextInterface $blockContextResponse $response null)
  46.     {
  47.         
  48.         
  49.  
  50.         // Votre code métier...
  51.  
  52.         // merge settings
  53.         $settings array_merge($this->getDefaultSettings(), $blockContext->getSettings());
  54.  
  55.         return $this->renderResponse($blockContext->getTemplate(), array(
  56.             'block'         => $blockContext->getBlock(),
  57.             'base_template' => $this->pool->getTemplate('layout'),         
  58.             'settings'      => $blockContext->getSettings()
  59.         ), $response);
  60.     }
  61.     /**
  62.      * {@inheritdoc}
  63.      */
  64.     public function setDefaultSettings(OptionsResolverInterface $resolver)
  65.     {
  66.         $resolver->setDefaults(array(
  67.             'title'    => 'Mes informations',
  68.             'template' => 'Block/Documentation.html.twig' // Le template à render dans execute()
  69.         ));
  70.     }
  71.  
  72.     public function getDefaultSettings()
  73.     {
  74.         return array();
  75.     }
  76.  
  77.     /**
  78.      * {@inheritdoc}
  79.      */
  80.     public function validateBlock(ErrorElement $errorElementBlockInterface $block) {}
  81.  
  82.     /**
  83.      * {@inheritdoc}
  84.      */
  85.     public function buildEditForm(FormMapper $formMapperBlockInterface $block) {}
  86. }