VarianteContribUtiliser-l-editeur-WYSIWYG

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Utilisation de l’éditeur Xinha pour le champ texte de l’article

[Erreur...3]Il s’agit de la procédure générale et tout n’est pas traité ici :
-  problème du texte scindé (personnellement j’ai juste augmenté la taille limite)
-  problème de déplacement des zones de saisie lorque l’on utilise l’éditeur avec Mozilla uniquement (si quelqu’un à une idée pour résoudre cela*)
-  je désactive aussi les raccourcis spip pour le texte (dans le squelette et dans la partie privée)

[Erreur...5]Ce rajout fixe la largeur de façon contraignante et évite le déplacement de la zone de saisie, car sinon le cadre principal (< div class="cadre-formulaire" > dans la page générée) voit sa largeur augmenter à chaque clic.}

   .cadre-formulaire {
/*  border: 1px solid <?php echo $couleur_foncee; ?>;
    background-color: #dddddd;*/
    color: #444444;
    font-family: verdana, arial, helvetica, sans;
    font-size: 11px;
    width: 640px
}

[Erreur...8]Copier le code qui suit dans le fichier my_config.js dans le repertoire xinha :

xinha_editors = null;
xinha_init    = null;
xinha_config  = null;
xinha_plugins = null;

[Erreur...11]      xinha_plugins = xinha_plugins ? xinha_plugins :
      [
       	'[->CharacterMap]',
       	'[->ContextMenu]',
       	'[->[->SuperClean]]'
        ];
             // THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING  :)
             if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;

      /** STEP 2 ***************************************************************
       * Now, what are the names of the textareas you will be turning into
       * editors?
       ************************************************************************/

      xinha_editors = xinha_editors ? xinha_editors :
      [
        'text_area'
    
      ];

      /** STEP 3 ***************************************************************
       * We create a default configuration to be used by all the editors.
       * If you wish to configure some of the editors differently this will be
       * done in step 5.
       *
       * If you want to modify the default config you might do something like this.
       *
       *   xinha_config = new HTMLArea.Config();
       *   xinha_config.width  = '640px';
       *   xinha_config.height = '420px';
       *
       *************************************************************************/
	

       xinha_config = xinha_config ? xinha_config() : new HTMLArea.Config();

xinha_config.width  = '640px';
xinha_config.height = '420px';


[Erreur...18][Erreur...19]    xinha_editors   = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);

      /** STEP 5 ***************************************************************
       * If you want to change the configuration variables of any of the
       * editors,  this is the place to do that, for example you might want to
       * change the width and height of one of the editors, like this...
       *
       *   xinha_editors.myTextArea.config.width  = '640px';
       *   xinha_editors.myTextArea.config.height = '480px';
       *
       ************************************************************************/



      /** STEP 6 ***************************************************************
       * Finally we "start" the editors, this turns the textareas into
       * Xinha editors.
       ************************************************************************/

      HTMLArea.startEditors(xinha_editors);
    }

    window.onload = xinha_init;

[Erreur...25][Erreur...26]

// Modifications pour utilisation xinharea

	//echo "<br>"._T('texte_enrichir_mise_a_jour');
	//echo aide("raccourcis");
	//echo $textes_supplement;
	//echo "<BR>";
	//echo afficher_barre('document.formulaire.texte');
	//echo "<TEXTAREA id='text_area' NAME='texte' ".$GLOBALS['browser_caret']." CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>";
	//echo $texte;
	//echo "</TEXTAREA>n";

[Erreur...30][Erreur...31]// Fin des modifications

echo "<TEXTAREA id='text_area' NAME='texte' ".$GLOBALS['browser_caret']." CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>";
echo $texte;
echo "</TEXTAREA>n";

Complément : un répertoire image pour chaque rédacteur

[Erreur...35]Ces modifications impliquent de rajouter une variable de session dans « ecrire/article_edit.php3 » et dans "/xinha/plugins/[->[->[->[->[->[-&gt...]]]]]]/config.inc.php" et de rajouter un peu de code... :

  • dans le repertoire principal du spip :
    • Créer un répertoire « [->[->UserFiles]] » (ou tout autre nom) pour le répertoire images des utilisateurs
    • Autoriser ce répertoire en écriture (sous Linux : chmod 0777)
  • dans « ecrire/article_edit.php3 » :
    • ajouter à la ligne 2 (après "
      <?php") : <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c2Vzc2lvbl9zdGFydCgpOzwvY29kZT4="></span>
      -** ajouter avant les modifications précédemment citées {(ligne 500 environ)} : <div class="base64" title="PGRpdiBjbGFzcz0icHJlY29kZSI+PHByZSBjbGFzcz0ic3BpcF9jb2RlIHNwaXBfY29kZV9ibG9jayIgZGlyPSJsdHIiIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PGNvZGU+JF9TRVNTSU9OWydpZF9hdXRldXInXSA9ICRjb25uZWN0X2lkX2F1dGV1cjsJDQokX1NFU1NJT05bJ3N0YXR1dF9hdXRldXInXSA9ICRjb25uZWN0X3N0YXR1dDs8L2NvZGU+PC9wcmU+PC9kaXY+"></div>
      
      [Erreur...39][Erreur...40]$pos_xinha_dir = strpos($_SERVER['SCRIPT_FILENAME'],'xinha');
      $xinha_dir = substr($_SERVER['SCRIPT_FILENAME'],0, $pos_xinha_dir).'[->[->[->UserFiles]]]/';
      
      if ($statut_auteur == "0minirezo")    $IMConfig['images_dir'] = $xinha_dir ;
      else $IMConfig['images_dir'] = $xinha_dir."/".$id_auteur ;
      
      if (!is_dir($IMConfig['images_dir'])) mkdir($IMConfig['images_dir'], 0777 ) ;
      
      [Erreur...44][Erreur...45]$pos_xinha_url = strpos($_SERVER['REQUEST_URI'],'xinha');
      $xinha_url = substr($_SERVER['REQUEST_URI'],0, $pos_xinha_url).'[->[->[->UserFiles]]]/';
      
      if ($statut_auteur == "0minirezo") $IMConfig['images_url'] = $xinha_url ;
      else $IMConfig['images_url'] = $xinha_url."/".$id_auteur ;
      
      // -------------------------------------------------------------------------
      </code>
      
      ----
      
      {patch pour autoriser la création de répertoire avec [->[->[->[->[->[->[->ImageManager]]]]]]] :}
      -* {{dans "/xinha/plugins/[->[->[->[->[->[->[->ImageManager]]]]]]]/newFolder.html"}} (la création de répertoire est actuellement impossible suite à une modification de la strucuture de [->[->[->[->[->[->[->ImageManager]]]]]]] - les boutons du popup sont inactifs - et le patch n'est pas dans la distribution de xinha) :
      -** ajouter ligne 18 : <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+Jmx0O3NjcmlwdCB0eXBlPSZxdW90O3RleHQvamF2YXNjcmlwdCZxdW90OyBzcmM9JnF1b3Q7Li4vLi4vcG9wdXBzL3BvcHVwLmpzJnF1b3Q7Jmd0OyZsdDsvc2NyaXB0Jmd0OzwvY29kZT4="></span>
      
      {GD et IM :}
      -* par défaut, [->[->[->[->[->[->[->ImageManager]]]]]]] est paramètré avec la librairie GD, qui fonctionne toujours, mais n'est pas très performante. Il vaut mieux lui préférer [->ImageMagick] qui autorise bien plus de transformations et de manipulations d'images (retailler, pivoter...). Il faut cependant penser à bien indiquer le chemin ou Apache pourra y accéder...

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom