2017-08-03 18 views
1

私の管理の中にフォーマッタを追加しようとしています。Sonata FormatterとSonata管理者とSymfony 3との統合

(正常に動作します)とSonataFormatterBundleがインストールされています。ここで

は公式ドキュメントで(の一部)私config.yml

sonata_block: 
    default_contexts: [cms] 
    blocks: 
     # enable the SonataAdminBundle block 
     sonata.admin.block.admin_list: 
      contexts: [admin] 

sonata_formatter: 
    default_formatter: text 
    formatters: 
     markdown: 
      service: sonata.formatter.text.markdown 
      extensions: 
       - sonata.formatter.twig.control_flow 
       - sonata.formatter.twig.gist 
       - sonata.media.formatter.twig #keep this commented unless you are using media bundle. 
     text: 
      service: sonata.formatter.text.text 
      extensions: 
       - sonata.formatter.twig.control_flow 
       - sonata.formatter.twig.gist 
       - sonata.media.formatter.twig 
     rawhtml: 
      service: sonata.formatter.text.raw 
      extensions: 
       - sonata.formatter.twig.control_flow 
       - sonata.formatter.twig.gist 
       - sonata.media.formatter.twig 
     richhtml: 
      service: sonata.formatter.text.raw 
      extensions: 
       - sonata.formatter.twig.control_flow 
       - sonata.formatter.twig.gist 
       - sonata.media.formatter.twig 
     twig: 
      service: sonata.formatter.text.twigengine 
      extensions: [] # Twig formatter cannot have extensions 
    ckeditor: 
     templates: 
      browser: 'SonataFormatterBundle:Ckeditor:browser.html.twig' 
      upload: 'SonataFormatterBundle:Ckeditor:upload.html.twig' 

ivory_ck_editor: 
    configs: 
     default: 
      language: '%locale%' 
      toolbar: standard 

sonata_admin: 
    templates: 
     # default global templates 
     layout: SonataAdminBundle::layout.html.twig 

あり、app/Resources/SonataAdminBundle/views/layout.html.twigを追加するように求めています。 Symfony 3では、そのようなパスがないので、私は作成しました。

はArticleAdmin.phpでは、私は私のプレビューフィールドには、フォーマッタはありません、私も
->add('preview', 'sonata_simple_formatter_type', array(
        'format' => 'richhtml', 
        'ckeditor_context' => 'default', // optional 
       )) 

を試してみました。しかし、それは効果がありません

->add('preview', 'sonata_simple_formatter_type', array('format' => 'richhtml', 'attr' => array('class' => 'ckeditor')))

を追加しました。

私は「新しい」layout.html.twigbundles/sonataformatter/...bundles/ivoryckeditor/...ファイルを指しますがweb/bundles/に含めたivoryckeditorまたはsonataformatterがないことを指摘しました。

多分バージョンの問題です。だから、ここに私composer.jsonの一部を「必要」されています

"require": { 
     "php": ">=5.5.9", 
     "doctrine/doctrine-bundle": "^1.6", 
     "doctrine/orm": "^2.5", 
     "friendsofsymfony/rest-bundle": "^2.2", 
     "incenteev/composer-parameter-handler": "^2.0", 
     "nelmio/api-doc-bundle": "^2.13", 
     "sensio/distribution-bundle": "^5.0.19", 
     "sensio/framework-extra-bundle": "^3.0.2", 
     "sonata-project/admin-bundle": "^3.20", 
     "sonata-project/doctrine-orm-admin-bundle": "^3.1", 
     "sonata-project/easy-extends-bundle": "^2.2", 
     "sonata-project/formatter-bundle": "^3.2", 
     "sonata-project/google-authenticator": "^1.0", 
     "sonata-project/media-bundle": "^3.6", 
     "stof/doctrine-extensions-bundle": "^1.2.2", 
     "symfony/monolog-bundle": "^3.1.0", 
     "symfony/polyfill-apcu": "^1.0", 
     "symfony/swiftmailer-bundle": "^2.3.10", 
     "symfony/symfony": "3.3.*", 
     "twig/twig": "^1.0||^2.0" 

答えて

1
  1. 、ありがとうあなたがバンドルをインストールした後に資産をインストールしたことがありますか? 私はsymfonyのコンソールコマンドを意味しますbin/console assets:install
  2. あなたが話しているlayout.html.twigは確かですが、それはstandard_layout.htmlかもしれません。このレイアウトはAppBundleに追加する必要があります(SonataBundleを上書きしていない場合)。 私の場合、レイアウトへのパスはAppBundle/Resources/views/Admin/standard_layout.html.twigです。
    そして、あなたのconfig.ymlで、あなたの1でスタンダールソナタレイアウトを代用する必要があります。

    sonata_admin: 
    title: 'Yor title' 
    templates: 
        ## ... 
        layout: 'AppBundle::Admin/standard_layout.html.twig' 
        ## ... 
    
+0

はどうもありがとうございました。アセットをインストールすることは私の仕事です。 –

+0

常に2つのコマンドを使用することを忘れないでください: 'bin/console assets:install' - バンドルをインストールした後。 'bin/console cache:clear' - 問題が発生するたびに。 それはあなたのために多くの時間を節約します。 – staskrak

関連する問題