2017-11-16 13 views
0

symfony 3.3 및 소나타 블록 번들 3.2에서 작업하고 있습니다. 나는 백 오피스의 작곡가 페이지로 이동하면 나는 새로운 블록 서비스새로운 소나타 블록 : Symfony Bundle 클래스의 객체 TwigBundle TwigEngine을 문자열로 변환 할 수 없습니다.

namespace AppBundle\Block\Service; 

    use Sonata\AdminBundle\Form\FormMapper; 
    use Sonata\BlockBundle\Block\BlockContextInterface; 
    use Sonata\BlockBundle\Model\BlockInterface; 
    use Symfony\Component\HttpFoundation\Response; 
    use Symfony\Component\OptionsResolver\OptionsResolver; 
    use Sonata\BlockBundle\Block\Service\AbstractAdminBlockService; 
    use Sonata\CoreBundle\Model\Metadata; 

    class WysiwygBlockService extends AbstractAdminBlockService 
    { 
    /** 
    * {@inheritdoc} 
    */ 
    public function execute(BlockContextInterface $blockContext, Response $response = null) 
    { 
     return $this->renderResponse($blockContext->getTemplate(), [ 
      'block' => $blockContext->getBlock(), 
      'settings' => $blockContext->getSettings(), 
     ], $response); 
    } 

    /** 
    * {@inheritdoc} 
    */ 
    public function buildEditForm(FormMapper $formMapper, BlockInterface $block) 
    { 
     $formMapper->add('settings', 'sonata_type_immutable_array', [ 
      'keys' => [ 
       ['content', 'ckeditor', []], 
      ], 
     ]); 
    } 

    /** 
    * {@inheritdoc} 
    */ 
    public function configureSettings(OptionsResolver $resolver) 
    { 
     $resolver->setDefaults([ 
      'content' => 'Insert your custom content here', 
      'template' => 'SonataBlockBundle:Block:block_core_text.html.twig', 
     ]); 
    } 

    /** 
    * {@inheritdoc} 
    */ 
    public function getBlockMetadata($code = null) 
    { 
     return new Metadata($this->getName(), (!is_null($code) ? $code : $this->getName()), false, 'SonataBlockBundle', [ 
      'class' => 'fa fa-file-text-o', 
     ]); 
    } 

} 

을 만들었습니다,이 오류가 발생했습니다 :

예외가 템플릿의 렌더링 ("치명적인 캐치 할 동안 발생 된 오류 : Symfony \ Bundle \ TwigBundle \ TwigEngine 클래스의 개체를 문자열로 변환 할 수 없습니다 ").

아이디어가 있으십니까? 당신의 도움에 대한

감사

답변

0
내 서비스 선언에 인수 실종됐다

:

# Sonata block services 
app.block.service.wysiwyg: 
    class: AppBundle\Block\Service\WysiwygBlockService 
    arguments: 
     **- "Wysiwyg"** 
     - "@templating" 
    tags: 
     - { name: sonata.block } 
    public: true