2017-11-16 10 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 
関連する問題