Pear Etant un fervent utilisateur des nombreuses librairies d'objets disponibles sur le repository PEAR, j'utilise très souvent la classe HTML Quickform. Elle permet, comme son nom l'indique, de générer très rapidement des formulaires complets autant au niveau de la présentation [1] que sur le contrôle (les validations peuvent se faire client side en Javascript et/ou server side en PHP).

Je ne vais pas ici vous exposer comment utiliser cette classe. La documentation officielle fournie quelques exemples et les deux tutoriaux suivants permettent également d'aborder le sujet :

Ce qu'il me manquait, en plus des classiques champs HTML text, select, textarea, checkbox etc... C'était la possibilité d'ajouter aussi facilement un champ permettant en wysiwyg la saisie de type WiKi. Ce n'est donc qu'une adapatation de la classe de gestion des textarea que j'ai réalisé.

Me basant sur la classe Wiki2xhtml d'Olivier Meunier (le site n'est plus disponible) et de la barre d'outils qu'il lui est associée dans Dotclear, je génére avec la simple ligne suivante, un maaaagnifique champ de saisie "richtext".

<?php
$form->addElement('richtext', 'texte', 'Contenu');
?>

Voici une petite capture d'écran au cas où ca ne serait pas clair.

J'ai très rapidement (excusez donc le côté très simpliste) mis tout celà dans une archive avec, en prime, une petite documentation pour ceux qui souhaiterait l'essayer.

Bien entendu, toutes les méthodes de Quickform sont utilisables avec cette classe.

Et en plus produit je vous offre la petite todo list :

  • Utiliser la classe Text Wiki disponible dans PEAR pour plus de cohérence
  • Faire himself le Javascript et les boutons associés et envisager une prévisualisation directe en Ajax
  • Proposer cet ajout au projet HTML Quickform

Commentaires, corrections et améliorations bienvenues ;)

Notes

[1] On peut aussi utiliser Quickform avec un système de template si on le souhaite. Par exemple, HTML Template Flexy