Utiliser CKEditor dans symfony

Voici un petit tutoriel pour vous expliquer comment installer CKEditor dans symfony.

Installer le plugin sfCKEditorPlugin

La première étape consiste à installer le plugin sfCKEditorPlugin qui va grandement nous faciliter les choses. L’installation de ce plugin est légèrement différente des plugins classiques car il n’est pas encore stable.


plugin:install -r 0.1.2 sfCKEditorPlugin

Récupérer la dernière version de CKEditor

Vous avez installez le plugin, c’est bien mais maintenant il faudrait récupérer l’ensemble des fichiers qui permettent à CKEditor d’afficher votre formulaire wysiwyg.
Pour cela allez sur le site de CKEditor à la page download et récupérez la dernière version.
Décompressez l’archive obtenue et copiez le dossier ckeditor dans web/js.

Configurer le fichier autoload.yml

Dans le dossier config ajouter le fichier autoload.yml et placez-y le code suivant:


autoload:
ckeditor:
name: ckeditor
path: %SF_WEB_DIR%/js/ckeditor
recursive: on

Configurer le fichier app.yml

Dans le fichier apps/mon_app/config/app.yml ajoutez le code suivant:


all:
ckeditor:
basePath: '/js/ckeditor/'

Appeler le widget sfWidgetFormCKEditor

Il ne vous reste plus qu’à appeler le widget sur votre champ de formulaire comme ceci:


$this->widgetSchema['mon_champ'] = new sfWidgetFormCKEditor();

FAQ

  • J’ai l’erreur « CKEditor class not found »:
    C’est le chemin spécifié dans autoload.yml qui est faux, vérifiez la variable path.
  • ckeditor.js n’est pas trouvé, j’ai une erreur 404:
    C’est le chemin spécifié dans app.yml qui est faux, vérifiez la variable basePath
  • Comment personnaliser la barre d’outil de CKeditor ?
    Dans un premier temps vous allez modifier l’appel de votre widget pour qu’il prenne en compte le fichier de configuration que vous aurez définie:

    
    $this->widgetSchema['mon_champ'] = new sfWidgetFormCKEditor(array(
    'jsoptions'=>array(
    'config' =>'fckeditor/config.js'
    )
    ));
    
    

    Ensuite, allez dans www/js/ckeditor/config.js puis appliquez les modifications que vous désirez. (Voir la doc de ckeditor sur le sujet)

Si vous rencontrez des problèmes, n’hésitez pas à utiliser les commentaires, j’essaierai de vous aider et je compléterai au passage la FAQ.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *