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