Skip to main content Help Control Panel

Login   A+   A-

Development «   Development blog «  

Choix de l'éditeur à utiliser pour l'article.

J'ai souvent ce besoin de changer d'éditeur pour rédiger mes articles. Je préfère le bbcode pour les forums, mais fck ou tiny pour les textes plus travaillés.

J'ai donc développer un petit bout de code qui permet de choisir son éditeur lors de la rédaction de l'article.

A vous de voir si cela peut être mis en standard ou pas.

Fichiers modifiés : shared/surfer.php, articles/edit.php

surfer.php : au début de la fonction get_editor :

// editor
$editor = $_REQUEST['preferred_editor']?$_REQUEST['preferred_editor']:$_SESSION['surfer_editor'];
$text = '<select name="preferred_editor" onChange="return document.getElementById(\'main_form\').submit();">';
if(isset($editor))
;
elseif(!isset($context['users_default_editor']))
$editor = 'yacs';
else
$editor = $context['users_default_editor'];
$text .= '<option value="yacs"';
if($editor == 'yacs')
$text .= ' selected="selected"';
$text .= '>'.i18n::s('Textarea with YACS codes')."</option>\n";
$text .= '<option value="fckeditor"';
if($editor == 'fckeditor')
$text .= ' selected="selected"';
$text .= '>'.i18n::s('WYSIWYG interface (FCKEditor)')."</option>\n";
$text .= '<option value="tinymce"';
if($editor == 'tinymce')
$text .= ' selected="selected"';
$text .= '>'.i18n::s('WYSIWYG interface (TinyMCE)')."</option>\n";
$text .= '</select>';

edit.php : ajouter le code en gras.

// an error occured
} elseif(count($context['error'])) {
$item = $_REQUEST;
$with_form = TRUE;

// change editor
} elseif ($_REQUEST['preferred_editor'] && $_REQUEST['preferred_editor'] != $_SESSION['surfer_editor']) {
$_SESSION['surfer_editor'] = $_REQUEST['preferred_editor'];
$item = $_REQUEST;
$with_form = TRUE;


// process uploaded data
} elseif(isset($_SERVER['REQUEST_METHOD']) && ($_SERVER['REQUEST_METHOD'] == 'POST')) {

Je laisse les testeurs vérifier que je n'ai rien oublier, sachant que j'ai fait d'autres modifs que je vous proposerai très bientôt ici (intégration d'un éditeur wysiwyg de dessin...)

Files

7 4 Select Editor.zip 90,028 bytes, 108 downloads
Edited by GnapZ on May 23 2007
Zoom
Editor patch.zip 21,222 bytes, 122 downloads
Edited by Tof on May 23 2007
Zoom

Comments

1- Moi-meme on May 21 2007

Très bonne idée, j'ai le même genre de besoin parfois.

Faut que je teste.

2- ThierryP on May 22 2007

L'idée est même excellente.

Par contre, j'ai personnellement abandonné tout travail sous FCKeditor au vue du code source chaotique qu'il générait il y a quelques version de cela (catastrophique pour... le référencement :p )
Je n'ai pas testé Tiny, peut être est-il plus propre ?

En tout cas, implémenter cette fonction nativement dans yacs serait un réel plus pour les éditeurs !
Bravo Tof.

3- Moi-meme on May 22 2007

D'accord sur l'importance de l'implémenter quand on souhaite un site à fort rendement de publication de qualité.

Quant à FCK, c'est vrai que je dois souvent reprendre le code à la main pour ne pas finir chauve avant l'heure.

4- GnapZ on May 22 2007

Tof: Pourrais-tu nous faire un petit Patch pour la 7.4 qui contient ces deux scripts modifiés ?

Je les rendrai disponibles pour la 7.5alpha22 dans le Dev Backlog.

6- GnapZ on May 23 2007

Tof : Merci, je le mets en place sur Yacs Info.

7- GnapZ on May 23 2007

Voici la version complète pour la 7.4 qui touche les edit.php de actions, articles, categories, comments, decisions, files, images, links, locations, sections et servers.

Ainsi que sections/new.php et bien sûr shared/surfer.php .

J'en ai fait une prépa pour la 7.5a22, Merci !

7 4 Select Editor.zip

9- Bernard on May 23 2007

J'ai inclus tout ça dans le code ce soir, en plaçant le select sous l'éditeur pour le rendre plus discret. Merci à Tof pour l'idée et à GnapZ pour l'implémentation. Grâce à vous, la liste des auteurs de YACS commence à prendre de l'ampleur...

Rate this page
Posted by Tof on May 21 2007, page edited by Bernard on Jan. 28, (popular)