====== Intégration de TinyMCE ======
Nous apprendrons ici comment intégrer l'éditeur javascript [[http://tinymce.moxiecode.com/|TinyMCE]] dans Jelix.
Pour faciliter l'intégration tout le code sera fourni.
Ce tutoriel n'est pas destiné à décrire le "comment configurer TinyMCE". Pour obtenir ces informations je vous recommande de consulter le [[http://wiki.moxiecode.com/index.php/TinyMCE:Index|wiki]] de TinyMCE.
Enfin, ce tutoriel est basé sur le tutoriel [[fr:tutoriels:fckeditor|Intégration de FCKeditor]].
===== Pré-requis =====
Vous devez avoir fait le Mini Tutoriel et le Tutoriel principal et/ou être à l'aise avec Jelix.
Dans un premier temps on crée une application et un module.
Après vous être positionné dans le répertoire lib/jelix-scripts/ vous devez créer une nouvelle application nommée **tutoriel.tinymce** et un module nommé **essai** en utilisant les commandes :
php jelix.php --tutoriel.tinymce createapp -nodefaultmodule
php jelix.php --tutoriel.tinymce createmodule essai
Votre fichier de configuration defaultconfig.ini.php devrait avoir les valeurs suivantes:
startModule = "essai"
startAction = "default:index"
[urlengine]
engine = simple
multiview = off
===== Installation de TinyMCE =====
Téléchargez le logiciel [[http://tinymce.moxiecode.com/download.php|TinyMCE]].
Dans votre application, créez un répertoire contenant l'ensemble des bibliothèques Javascript histoire d'être ordonné ! Nommez-le **js** et ajoutez-le dans le répertoire **/tutoriel.tinymce/www/**.
Ajoutez-y maintenant le répertoire destiné à accueillir TinyMce : **tinymce**
Décompressez l'archive et recherchez le répertoire contenant les sources Javascript. Par exemple, pour la version sur laquelle je me base pour la rédaction de ce tutoriel le chemin est : tinymce/jscripts/tiny_mce/
Copiez le contenu de ce répertoire dans le répertoire **/tutoriel.tinymce/www/js/tinymce/** précédemment créé.
===== Création du plugin de template =====
* Dans le répertoire **/tutoriel.tinymce/plugins/** créez le répertoire **tpl/html**.
* Dans ce répertoire, créez un fichier nommé **cfunction.tinymce.php** .
Copiez-collez le code suivant :
response;
if($rep!=null) {
$rep->addJSLink(\'js/tinymce/tiny_mce.js\');
$rep->addJSCode(\'tinyMCE.init({ mode : "textareas", theme : "simple"});\');
} ';
$compiler->addMetaContent($codesource);
}
?>
Cette fonction charge le code Javascript de TinyMCE puis définit une configuration. On pourrait l'améliorer en permettant de prendre en paramètre la chaine du code source js à donner à tinyMCE.init.
Pour en savoir plus sur les templates lisez l'article [[http://docs.jelix.org/fr/manuel-1.0/templates|"Le moteur de template jTpl"]] et sa section "Les plugins de templates".
===== Appel de TinyMCE =====
Rien de plus simple !
Il suffit désormais d'ajouter la ligne de code suivante dans un template :
{tinymce}
Le comportement par défaut de TinyMCE tel que configuré plus haut dans ce tutoriel consiste à remplacer les éléments HTML **textarea** par un éditeur de texte.
Créez un template **demo_tinymce.tpl** dans **/tutoriel.tinymce/plugins/modules/essai/templates/**
Intégration de TinyMCE
{tinymce}
Le texte par défaut est contenu entre les balises de l'élément **textarea** :
.
===== Modification de l'action par défaut (le controleur) =====
Ouvrez le fichier **/tutoriel.tinymce/plugins/modules/essai/controllers/default.classic.php**
Ajouter le code suivant après la ligne $rep = $this->getResponse('html');
$rep->bodyTpl = 'demo_tinymce';
$rep->body->assign('monTexte', "BONJOUR, mon nom est : Dominique");
===== Voir le résultat !=====
Dans la barre d'adresse :
http://localhost/jelix/tutoriel.tinymce/www/index.php?module=essai&action=default:index
Dans un template :
{jurl 'essai~default:index'}
----
* [[fr:tutoriels:|Retour au sommaire des tutoriels]]