Intégrer TinyMCE à un projet Symfony
TinyMCE est un éditeur HTML Wysiwyg en ligne qui s'intègre parfaitement avec Symfony. Cependant, il est nécessaire de télécharger des paquets tierces pour pouvoir l'utiliser. Ce guide décrit cette procédure.
Ce guide est testé sur:
- Symfony 1.0
Remarque : Ce guide nécessite de disposer de la commande unzip. Pour Debian et Ubuntu, vous pouvez l'installer avec apt-get :
/usr/bin/sudo /usr/bin/apt-get install unzip
Installation de TinyMCE
En premier lieu, renseignez l'emplacement de votre projet Symfony :
PROJECT_HOME=/home/sfprojects/monProjet
Ainsi que l'application de votre projet que vous souhaitez configurer pour utiliser TinyMCE :
PROJECT_APP=frontend
Et la version de TinyMCE que vous souhaitez installer :
TINYMCE_VERSION=3.2.1.1
Nous retirons les '.' du numéro de version de TinyMCE :
TINYMCE_CLEANED_VERSION=$(echo ${TINYMCE_VERSION} | sed -e 's/\./_/g')
Téléchargez les sources de TinyMCE :
/usr/bin/wget http://ovh.dl.sourceforge.net/sourceforge/tinymce/tinymce_${TINYMCE_CLEANED_VERSION}.zip \
--output-document=/tmp/tinymce_${TINYMCE_VERSION}.zip
Nous décompressons les sources ainsi obtenues :
/usr/bin/unzip -o /tmp/tinymce_${TINYMCE_VERSION}.zip -d /tmp
Si vous le souhaitez, vous pouvez aussi télécharger les fichiers de traduction de TinyMCE :
/usr/bin/wget http://services.moxiecode.com/i18n/download.aspx?format=zip\&product=tinymce \
--output-document=/tmp/tinymce_language_pack.zip
Décompressez le fichier téléchargé à l'emplacement adéquat :
/usr/bin/unzip -o /tmp/tinymce_language_pack.zip -d /tmp/tinymce/jscripts/tiny_mce
Et nous déplaçons les dossiers nécessaire à l'intégration dans Symfony à l'emplacement adéquat :
/bin/cp -r /tmp/tinymce/jscripts/tiny_mce/ "${PROJECT_HOME}/web/js/"
Et configurez votre projet Symfony pour utiliser TinyMCE :
/bin/sed -i -e '/^ .settings:/a\
rich_text_js_dir: js/tiny_mce' "${PROJECT_HOME}/apps/$PROJECT_APP/config/settings.yml"
Attention: vérifiez votre fichier settings.yml pour avoir la certitude que tout s'est bien passé :
/usr/bin/vim "$PROJECT_HOME/apps/$PROJECT_APP/config/settings.yml"
Vous pouvez maintenant nettoyer les fichiers téléchargés :
/bin/rm -r /tmp/tinymce
/bin/rm /tmp/tinymce_language_pack.zip
/bin/rm /tmp/tinymce_$TINYMCE_VERSION.zip
Vous pouvez maintenant utiliser TinyMCE en utilisant des codes tels que :
<?php echo textarea_tag('name', 'default content', 'rich=true size=10x20') ?>
<?php echo textarea_tag('name', 'default content', array(
'rich' => true,
'size' => '10x20',
'tinymce_options' => 'language:"fr",theme_advanced_buttons2:"separator"',
)) ?>