diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index ca2b14a..f49548d 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -36,9 +36,9 @@ public function getConfigTreeBuilder() ->arrayNode('templates') ->addDefaultsIfNotSet() ->children() - ->scalarNode('layout')->defaultValue('CoopTilleulsCKEditorSonataMediaBundle::layout.html.twig')->cannotBeEmpty()->end() - ->scalarNode('browser')->defaultValue('CoopTilleulsCKEditorSonataMediaBundle:MediaAdmin:browser.html.twig')->cannotBeEmpty()->end() - ->scalarNode('upload')->defaultValue('CoopTilleulsCKEditorSonataMediaBundle:MediaAdmin:upload.html.twig')->cannotBeEmpty()->end() + ->scalarNode('layout')->defaultValue('@CoopTilleulsCKEditorSonataMedia/layout.html.twig')->cannotBeEmpty()->end() + ->scalarNode('browser')->defaultValue('@CoopTilleulsCKEditorSonataMedia/MediaAdmin/browser.html.twig')->cannotBeEmpty()->end() + ->scalarNode('upload')->defaultValue('@CoopTilleulsCKEditorSonataMedia/MediaAdmin/upload.html.twig')->cannotBeEmpty()->end() ->end() ->end() ; diff --git a/Resources/config/services.xml b/Resources/config/services.xml index c3553df..b7c9ccc 100644 --- a/Resources/config/services.xml +++ b/Resources/config/services.xml @@ -6,6 +6,7 @@ CoopTilleuls\Bundle\CKEditorSonataMediaBundle\Admin\MediaAdminExtension + CoopTilleuls\Bundle\CKEditorSonataMediaBundle\Controller\MediaAdminController diff --git a/Resources/doc/install.md b/Resources/doc/install.md index 4f3a7ca..58adc32 100644 --- a/Resources/doc/install.md +++ b/Resources/doc/install.md @@ -2,9 +2,13 @@ If not already done, install and configure [SonataMediaBundle](http://sonata-project.org/bundles/media/master/doc/index.html). -Then, use [Composer](https://getcomposer.org/) to install CoopTilleulsCKEditorSonataMediaBundle and IvoryCKEditorBundle: +Then, use [Composer](https://getcomposer.org/) to install CoopTilleulsCKEditorSonataMediaBundle and FOSCKEditorBundle: - composer require tilleuls/ckeditor-sonata-media-bundle egeloen/ckeditor-bundle + composer require tilleuls/ckeditor-sonata-media-bundle friendsofsymfony/ckeditor-bundle + +If you use Symfony <3.4 and PHP <7.1 do + + composer require tilleuls/ckeditor-sonata-media-bundle friendsofsymfony/ckeditor-bundle:1.2 Register the bundle in your AppKernel: @@ -16,11 +20,23 @@ public function registerBundles() return array( // ... new CoopTilleuls\Bundle\CKEditorSonataMediaBundle\CoopTilleulsCKEditorSonataMediaBundle(), - new Ivory\CKEditorBundle\IvoryCKEditorBundle(), + new FOS\CKEditorBundle\FOSCKEditorBundle(), // ... ); } ``` +or + +```php +// config/bundles.php + +return [ + // ... + CoopTilleuls\Bundle\CKEditorSonataMediaBundle\CoopTilleulsCKEditorSonataMediaBundle::class => ['all' => true], + FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true], + // ... +]; +``` Install bundles: @@ -28,12 +44,22 @@ Install bundles: $ composer update ``` -Configure IvoryCKEditorBundle to use the bundle as file browser: +Add form theme to render the editor: + +Symfony 2/3: app/config/config.yml +Symfony 4: config/packages/twig.yaml +``` +twig: + form_themes: + - '@FOSCKEditor/Form/ckeditor_widget.html.twig' +``` + +Configure FOSCKEditorBundle to use the bundle as file browser: ```yaml # app/config/config.yml -ivory_ck_editor: +fos_ck_editor: default_config: default configs: default: @@ -72,9 +98,9 @@ Then update your ApplicationSonataMediaBundle: } ``` -If you want to customize `MediaAdminController` you must extends `CoopTilleuls\Bundle\CKEditorSonataMediaBundle\Controller\MediaAdminController` in your bundle. +If you want to customize `MediaAdminController` you must extends `CoopTilleuls\Bundle\CKEditorSonataMediaBundle\Controller\MediaAdminController` in your bundle, and set parameter `sonata.media.admin.media.controller` to match your controller. -## Usage without IvoryCKEditorBundle +## Usage without FOSCKEditorBundle This bundle can be used with a custom install of CKEditor. Read the [file browser (uploader)](http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader)) doc of CKEditor and the [architecture](architecture.md) of this bundle. diff --git a/Resources/views/layout.html.twig b/Resources/views/layout.html.twig index f94c304..293b0a0 100644 --- a/Resources/views/layout.html.twig +++ b/Resources/views/layout.html.twig @@ -25,6 +25,20 @@ file that was distributed with this source code. {% endblock %} + + {% block stylesheets %} {% for stylesheet in admin_pool.getOption('stylesheets', []) %} @@ -34,16 +48,6 @@ file that was distributed with this source code. {% endblock %} {% block javascripts %} - {% for javascript in admin_pool.getOption('javascripts', []) %} diff --git a/Tests/DependencyInjection/ConfigurationTest.php b/Tests/DependencyInjection/ConfigurationTest.php index ad06221..a82b3cc 100644 --- a/Tests/DependencyInjection/ConfigurationTest.php +++ b/Tests/DependencyInjection/ConfigurationTest.php @@ -27,8 +27,8 @@ public function testOptions() $this->assertArrayHasKey('browser', $config['templates']); $this->assertArrayHasKey('upload', $config['templates']); - $this->assertEquals('CoopTilleulsCKEditorSonataMediaBundle::layout.html.twig', $config['templates']['layout']); - $this->assertEquals('CoopTilleulsCKEditorSonataMediaBundle:MediaAdmin:browser.html.twig', $config['templates']['browser']); - $this->assertEquals('CoopTilleulsCKEditorSonataMediaBundle:MediaAdmin:upload.html.twig', $config['templates']['upload']); + $this->assertEquals('@CoopTilleulsCKEditorSonataMedia/layout.html.twig', $config['templates']['layout']); + $this->assertEquals('@CoopTilleulsCKEditorSonataMedia/MediaAdmin/browser.html.twig', $config['templates']['browser']); + $this->assertEquals('@CoopTilleulsCKEditorSonataMedia/MediaAdmin/upload.html.twig', $config['templates']['upload']); } } diff --git a/composer.json b/composer.json index 20b0bbe..bbaac17 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ ], "require": { "sonata-project/media-bundle": "~3.0", - "sonata-project/admin-bundle": "~3.1" + "sonata-project/admin-bundle": "~3.40" }, "require-dev": { "symfony/phpunit-bridge": "~2.7|~3.0",