Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] PLugin TINYMCE

Posted by djanke on 01/09/2008 17:35

Aprés avoir suivi le tutorial tinymce à l'affichage le code javascript n'est pas appelé.

Dans /myapp/plugins/tpl/html/function.tinymce.php

 <?php
 
 /**
 * function plugin :  ajoute et initialise TinyMce
 *    
 * @param jTpl $tpl template engine
 */
 function jtpl_function_html_tinymce($tpl) {
    $rep = $GLOBALS['gJCoord']->response;
    $rep->addJSLink('js/tinymce/tiny_mce.js');
    $rep->addJSCode('tinyMCE.init({');
    $rep->addJSCode('    mode : "textareas",');
    $rep->addJSCode('    theme : "simple"');
    $rep->addJSCode('});');	
 }
 
 ?>

defaultconfig.ini.php

  pluginsPath = lib:jelix-plugins/,app:plugins/;
  modulesPath = lib:jelix-modules/,app:modules/

  tplpluginsPath = "app:plugins/tpl/";

Dans le template

 <h1>Intégration de TinyMCE</h1>
 
 {tinymce}
 
 <form action="{formurl 'essai~default:index'}" method="POST">
 {formurlparam 'essai~default:index'}
 <div>
    <textarea name="mon_texte" id="mon_texte" cols="50"  rows="15">{$monTexte|eschtml}</textarea><br/>
    <input type = "submit" value="Valider" />
 </div>  
 </form>

Dans default.classic.php

  $rep->bodyTpl = 'demo_tinymce';  
  $rep->body->assign('monTexte', "BONJOUR, mon nom est : Dominique");

La page affiche bien le textarea mais tinymce n'est pas appelé le code javascript n'est pas inséré dans le source

  [Opened] Re: PLugin TINYMCE

Reply #1 Posted by laurentj on 01/09/2008 21:08

C'est certainement que le lien js/tinymce/tiny_mce.js n'est pas bon. Essaye de mettre un lien absolu.

  [Opened] Re: PLugin TINYMCE

Reply #2 Posted by djanke on 01/10/2008 09:47

Je remplace

   $rep->addJSLink('js/tinymce/tiny_mce.js');

par

  $rep->addJSLink('/tutoriel.tinymce/wwww/js/tinymce/tiny_mce.js');

Même résultat, si le lien n'est pas bon le code javascript ne devrait il pas apparaitre dans le source de la page ???

  [Opened] Re: PLugin TINYMCE

Reply #3 Posted by laurentj on 01/10/2008 10:04

Pourquoi ? il n'y a pas de balise <link> correspondante dans le source de la page ?

  [Opened] Re: PLugin TINYMCE

Reply #4 Posted by djanke on 01/10/2008 10:33

Non extrait du source :

  ...
  <head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
  <title></title>
  </head><body >
  ...

Je pense que le problème vient de du default.config.ini

Pourtant j'ai rajouté la ligne

  tplpluginsPath = app:plugins/tpl/

  [Opened] Re: PLugin TINYMCE

Reply #5 Posted by djanke on 01/10/2008 10:58

Jai essayé

  pluginsPath = lib:jelix-plugins/,app:plugins/
  modulesPath = lib:jelix-modules/,app:modules/
  tplpluginsPath = app:plugins/

ou

  pluginsPath = lib:jelix-plugins/,app:plugins/
  modulesPath = lib:jelix-modules/,app:modules/
  tplpluginsPath = app:plugins/tpl/

comme indiqué dans le wiki

Pas de link ajouté dans le head

Le cooordinateur trouve bien la fonction si dans le template je remplace {tinymce} par {tinymce2} j'ai la réponse La fonction tinymce2 est inconnue

  [Opened] Re: PLugin TINYMCE

Reply #6 Posted by djanke on 01/10/2008 11:56

J'arrive au réultat voulu en utilisant la méthode response

Création d'un fichier myHtmlresponse dans le repertoire response contenant les instructions

 ..
 $this->addJSLink('js/tinymce/tiny_mce.js');  
 $this->addJSCode('tinyMCE.init
 ..

Et déclaratation dans le config.ini de l'index mais cela n'est pas la bonne méthode.

  [Opened] Re: PLugin TINYMCE

Reply #7 Posted by laurentj on 01/10/2008 12:45

tplpluginsPath est un truc obsolète depuis longtemps et non pris en compte.

Sinon pour ton problème, ça me revient. Il faut faire un plugin non pas de type function, mais cfunction. C'est à dire que ce plugin ne va pas être appelé lors de la génération du contenu, mais avant, lors de la compilation du template. Il devra donc générer du code php qui sera alors executé lors de la génération du contenu.

Enfin bref, j'ai corrigé et mis à jour le tutoriel. N'oublie pas de supprimer ton vieux plugin.

  [Opened] Resolu: PLugin TINYMCE

Reply #8 Posted by djanke on 01/10/2008 14:20

Merci ça marche pour moi sauf au premier chargement de la page :

  Warning: Unexpected character in input: ''' (ASCII=39) state=1 in
 D:\www_dpi\e107\tutoriel.tinymce\plugins\tpl\html\cfunction.tinymce.php on line 18

Qui disparait en enlevant le quote devant la variable $codesource

  $compiler->addMetaContent('$codesource);

  $compiler->addMetaContent($codesource);
 
Page
  1. Resolu: PLugin TINYMCE