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="PGNvZGU+c2Vzc2lvbl9zdGFydCgpOzwvY29kZT4="></span>
      -** ajouter avant les modifications précédemment citées {(ligne 500 environ)} : <div class="base64" title="PGRpdiBjbGFzcz0ncHJlY29kZSc+PHByZSBkaXI9J2x0cicgc3R5bGU9J3RleHQtYWxpZ246IGxlZnQ7Jz48Y29kZT4kX1NFU1NJT05bJ2lkX2F1dGV1ciddID0gJGNvbm5lY3RfaWRfYXV0ZXVyOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyANCiRfU0VTU0lPTlsnc3RhdHV0X2F1dGV1ciddID0gJGNvbm5lY3Rfc3RhdHV0OzwvY29kZT48L3ByZT48L2Rpdj4="></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="PGNvZGU+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...

Dernière modification de cette page le 9 octobre 2007

Discussion

Aucune discussion

Ajouter un commentaire

Qui êtes-vous ?

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