Migration from IvoryCKEditorBundle to FOSCKEditorBundle
Edit this pageWarning: You are browsing the documentation for version 1.x which is not maintained anymore.
If some of your projects are still using this version, consider upgrading.
Migration from IvoryCKEditorBundle to FOSCKEditorBundle
Here we will explain the process of migration.
TL;DR: Check how we migrated SonataFormatterBundle
Update composer.json
1 2
composer remove egeloen/ckeditor-bundle
composer require friendsofsymfony/ckeditor-bundle
Update bundle definition
Replace:
1 2 3 4 5 6
<?php
// config/bundles.php
return [
Ivory\CKEditorBundle\IvoryCKEditorBundle::class => ['all' => true],
];
With:
1 2 3 4 5 6
<?php
// config/bundles.php
return [
FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],
];
If you are not using Symfony Flex, then replace this in your AppKernel.
Replace:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<?php
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
// ...
];
// ...
}
}
With:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<?php
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
new FOS\CKEditorBundle\FOSCKEditorBundle(),
// ...
];
// ...
}
}
Update configuration root key
Only the root key of the configuration is changed.
Replace:
1 2 3 4 5 6 7 8 9 10
# config/packages/ivory_ck_editor.yaml
ivory_ck_editor:
configs:
my_config:
toolbar: [ ["Source", "-", "Save"], "/", ["Anchor"], "/", ["Maximize"] ]
uiColor: "#000000"
filebrowserUploadRoute: "my_route"
extraPlugins: "wordcount"
# ...
With:
1 2 3 4 5 6 7 8 9 10
# config/packages/fos_ck_editor.yaml
fos_ck_editor:
configs:
my_config:
toolbar: [ ["Source", "-", "Save"], "/", ["Anchor"], "/", ["Maximize"] ]
uiColor: "#000000"
filebrowserUploadRoute: "my_route"
extraPlugins: "wordcount"
# ...
If you are not using Symfony Flex, then replace the root key in app/config/config.yml
.
Replace:
1 2 3 4 5 6 7 8 9
# app/config/config.yml
ivory_ck_editor:
configs:
my_config:
toolbar: [ ["Source", "-", "Save"], "/", ["Anchor"], "/", ["Maximize"] ]
uiColor: "#000000"
filebrowserUploadRoute: "my_route"
extraPlugins: "wordcount"
# ...
With:
1 2 3 4 5 6 7 8 9
# app/config/config.yml
fos_ck_editor:
configs:
my_config:
toolbar: [ ["Source", "-", "Save"], "/", ["Anchor"], "/", ["Maximize"] ]
uiColor: "#000000"
filebrowserUploadRoute: "my_route"
extraPlugins: "wordcount"
# ...
Update namespace
The main thing that changed is the namespace, so you will have to find
all occurrences of Ivory\CKEditorBundle\*
in your application and
replace them with FOS\CKEditorBundle\*
.
Before:
1 2 3 4 5
<?php
use Ivory\CKEditorBundle\Form\Type\CKEditorType;
$form->add('body', CKEditorType::Class)
After:
1 2 3 4 5
<?php
use FOS\CKEditorBundle\Form\Type\CKEditorType;
$form->add('body', CKEditorType::Class)
Update service definition
If you are fetching any of the services directly from the container you
will have to find all occurrences of ivory_ck_editor.*
in your application
and replace them with fos_ck_editor.*
.
Instead of doing:
1
$this->get('ivory_ck_editor.form.type');
You would do:
1
$this-get('fos_ck_editor.form.type');
Regenerate assets
First fetch ckeditor assets:
1
bin/console ckeditor:install
and then regenerate Symfony assets:
1
bin/console assets:install