Fork me on GitHub

Rapport de message :*
 

Intégrer le choix d'un éditeur de texte dans un module

Titre du sujet : Intégrer le choix d'un éditeur de texte dans un module
par lionhell sur 01/04/2014 10:16:44

Afin d'éviter des heures de recherche et d'essais je vous fais part de mes conclusions pour intégrer un éditeur de texte (déjà installé dans xoops) dans un module ...

Les étapes :

Déclarer l'option editeur dans xoops_version.php :
/* LionHell éditeurs: les éditeurs de xoops, l'éditeur par défaut */
xoops_load('XoopsEditorHandler');
$editor_handler XoopsEditorHandler::getInstance();
$editorList array_flip($editor_handler->getList());
$i++;
$modversion['config'][$i]['name'] = 'editeur';
$modversion['config'][$i]['title'] = '_MI_SPARTNER_EDITOR';
$modversion['config'][$i]['description'] = '_MI_SPARTNER_EDITOR_DSC';
$modversion['config'][$i]['formtype'] = 'select';
$modversion['config'][$i]['valuetype'] = 'text';
$modversion['config'][$i]['options'] = $editorList;
$modversion['config'][$i]['default'] = 'tinymce';
$modversion['config'][$i]['category'] = 'submit';
/* l'option category est facultative mais si vous l'utilisez
   il semble qu'elle doive avoir la valeur submit */


Dans le formulaire souhaité déclarer le champs html comme suit :
// Variable globale pour récupérer les options du module dans xoops_version
global $xoopsModuleConfig;
...
... 
// Appel de la classe nécessaire au traitement desformulaires
include_once XOOPS_ROOT_PATH '/class/xoopsformloader.php';
...
...
...
// Déclaration du formulaire
$monFormulaire = new XoopsThemeForm(blabla,bla,...);
...
...
...
// CREATION CHAMPS ASSOCIE A UN EDITEUR  <<< Modifié par LionHell
// Editeur défini dans les préférences
$editor $xoopsModuleConfig['editeur'];
// Paramètres de l'éditeur - cf (2)
$editor_configs=array(); 
   
$editor_configs["rows"] = 20
   
$editor_configs["cols"] = 80
   
$editor_configs["width"] = "100%"
   
$editor_configs["height"] = "400px"
   
$editor_configs["editor"]= $editor
$monChamps = new XoopsFormEditor("Label_du_champs""nom_du_champs"$editor_configs); 
$monChamps->setDescription("Texte_additionnel_du label");
// Ajout du champs dans le formulaire
$monFormulaire->addElement($monChampsfalse);
...
...
...
// Afficher le formulaire
$monFormulaire->display();


(1) L'éditeur défini dans les préférences est récupéré dans $editor. Pour cela ne pas oublier de déclarer avant la variable globale: global $xoopsModuleConfig.

(2) Les options $editor_configs sont dans l'exemple fixées dans le formulaire, mais elles peuvent être définies dans les préférences et récupérées comme l'éditeur.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

49 Personne(s) en ligne (37 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 49 | Plus ...