CKEditor & elFinder - Corrections

Problèmes corrigés


Toutes les corrections ont été appliquées avec succès.
1. CKEditor version et licence
  • ✅ Installé CKEditor 4.22.1 (version libre)
  • ✅ Supprimé CKEditor 5 de package.json (conflit de version)
  • ✅ Configuration via composer.json avec --tag=4.22.1
2. Erreur template Twig `widget_attributes`
  • ✅ Corrigé l'ordre des form_themes dans twig.yaml
  • ✅ Bootstrap 5 d'abord, puis CKEditor
  • ✅ Supprimé la duplication dans fos_ckeditor.yaml
3. Routes elFinder 404
4. Chemins assets mal préfixés
  • ✅ Problème : Double préfixe /bundles/fmelfinder/bundles/fmelfinder/
  • ✅ Solution : Supprimé assets_path de fm_elfinder.yaml
  • ✅ Chemins corrects maintenant
5. Assets manquants
  • ✅ Copié manuellement depuis vendor/studio-42/elfinder/
  • ✅ JS, CSS, images et sons copiés dans public/bundles/fmelfinder/

Fichiers de configuration modifiés


composer.json
"scripts": {
    "auto-scripts": {
        "ckeditor:install --tag=4.22.1": "symfony-cmd"
    }
}
config/packages/twig.yaml
twig:
    form_themes: 
        - 'bootstrap_5_layout.html.twig'
        - '@FOSCKEditor/Form/ckeditor_widget.html.twig'
config/packages/fm_elfinder.yaml

Supprimé assets_path pour éviter le double préfixe

Structure des assets


public/bundles/
├── fmelfinder/
│   ├── css/
│   │   ├── elfinder.min.css ✓
│   │   ├── elfinder.full.css
│   │   └── theme.css
│   ├── js/
│   │   ├── elfinder.min.js ✓
│   │   ├── elfinder.full.js
│   │   ├── extras/editors.default.min.js ✓
│   │   └── i18n/elfinder.fr.js ✓
│   ├── img/ (53 images)
│   ├── sounds/
│   └── tinymceElfinder.js ✓
└── fosckeditor/
    ├── ckeditor.js ✓ (v4.22.1)
    ├── config.js
    ├── plugins/
    └── skins/

Scripts PowerShell disponibles


Les scripts de correction sont dans /scripts/ :

fix-ckeditor-4.22.1.ps1

Installe CKEditor 4.22.1 et copie les assets

cd scripts
.\fix-ckeditor-4.22.1.ps1
fix-ckeditor-elfinder.ps1

Copie les assets elFinder manquants

cd scripts
.\fix-ckeditor-elfinder.ps1

Vérification de l'installation


1. CKEditor

Vérifiez que CKEditor s'affiche dans les formulaires avec éditeur de texte (articles, pages, newsletters).

2. elFinder

Testez l'accès direct : http://127.0.0.1:8000/elfinder/default

3. Intégration CKEditor + elFinder
  1. Ouvrez un formulaire avec CKEditor (ex: créer un article)
  2. Cliquez sur le bouton "Image" dans la barre d'outils
  3. Cliquez sur "Parcourir le serveur"
  4. elFinder devrait s'ouvrir dans une popup

Commandes utiles


Réinstaller CKEditor
php bin/console ckeditor:install --tag=4.22.1
Copier les assets des bundles
php bin/console assets:install --symlink
Vider le cache
php bin/console cache:clear

Dépannage


CKEditor ne s'affiche pas
  • Vérifiez que public/bundles/fosckeditor/ckeditor.js existe
  • Ouvrez la console navigateur (F12) pour voir les erreurs JavaScript
  • Videz le cache navigateur (Ctrl+F5)
elFinder retourne 404
  • Vérifiez que public/bundles/fmelfinder/ contient les assets
  • Vérifiez la configuration dans config/packages/fm_elfinder.yaml
  • Videz le cache Symfony
Images ne s'affichent pas dans elFinder
  • Vérifiez les permissions du dossier public/uploads/
  • Créez le dossier si nécessaire : mkdir public/uploads
  • Sous Windows, pas besoin de chmod
Note : Ces corrections ont été testées avec Symfony 7.2 et sont stables.