Vous êtes ici : Accueil / Développement / Symfony 1.0 / Intégrer TinyMCE à un projet Symfony

Intégrer TinyMCE à un projet Symfony

Par Pierre-Yves Landuré Dernière modification 08/09/2011 18:57

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"',
)) ?>

Remerciements

  • Merci aux développeurs de TinyMCE.
  • Merci aux développeurs de Symfony.