1. Installation¶
If you are using Symfony4 you will need to make some adjustments, if not you can skip to “Install SonataFormatterBundle”.
First you will need to add a line to your composer.json:
1 2 3 | "replace": {
"egeloen/ckeditor-bundle": "*"
}
|
And after that you need to install FOSCKEditorBundle.
Install SonataFormatterBundle:
1 | composer require sonata-project/formatter-bundle
|
Register the bundles in bundles.php
file:
// config/bundles.php
return [
// ...
Knp\Bundle\MarkdownBundle\KnpMarkdownBundle::class => ['all' => true],
FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],
Sonata\FormatterBundle\SonataFormatterBundle::class => ['all' => true],
];
You have to install Ckeditor:
1 | bin/console ckeditor:install
|
and install Symfony assets:
1 | bin/console assets:install
|
2. Configuration¶
Add Twig configuration:
1 2 3 4 5 6 7 8 | # config/packages/twig.yaml
twig:
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
form_themes:
- '@SonataFormatter/Form/formatter.html.twig'
|
Now add SonataFormatter configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # config/packages/sonata.yaml
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
|