|
XoopsFormEditor |
|
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
|
Petit défi pour les devs du coin. Je suis en train de mettre à jour mes modules pour la nouvelle version de Xoops. Je découvre avec bonheur (et certainement beaucoup de retard), l'existence d'éditeurs wysiwyg inclus dans la version 2.3.x. Très bien, donc je cherche le code pour activer ces merveilleuses choses. Je trouve donc le fichier 'class/xoopsedito/sampleform.inc.php' qui me propose un exemple de code pour activer tout cela. Je test, mais, bien évidemment, ça marche pô. 2 problèmes : - les éditeurs ne s'activent que si je les place dans la valeur 'onfailure'... et non dans $option['editor']. - les valeurs $options['name'] et $options['value'] ne semblent pas avoir le moindre impact sur le contenu de mon formulaire (ni en lecture ni en écriture. Voici pour exemple le code développé pour le module edito :
$options['editor'] = $xoopsModuleConfig['wysiwyg'];
$options['name'] = 'block_text';
$options['value'] = $block_text;
//optional configs
$options['rows'] = 25; // default value = 5
$options['cols'] = 60; // default value = 50
$options['width'] = '100%'; // default value = 100%
$options['height'] = '400px'; // default value = 400px
$sform->addElement(new XoopsFormEditor(_MD_EDITO_BLOCKTEXT, $options['name'], $options, $nohtml = false, $onfailure = 'textarea'), true);
Une idée ?
Posté le : 06/02/2009 12:07
|
|
|
Re: XoopsFormEditor |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Bonsoir, J'ai désosser mes modules pour voir ceux qui prennent en compte et mpmanager de venon m'en a sortie toutes une liste. Est-ce que tous ceci est parlant pour toi... car pour moi, c'est du tawanais Citation : [mpmanager\include\form.inc.php] Line 153 : $editor = WysiwygForm(_MP_MESSAGEC, "message", $message, '100%', '400px', $formtype); [mpmanager\include\functions.php] Line 156 : function WysiwygForm($caption, $name, $value, $width = '100%', $height = '400px', $formtype) Line 178 : $isWysiwyg = true; Line 186 : if (is_readable(XOOPS_ROOT_PATH . "/class/wysiwyg/formwysiwygtextarea.php")) { Line 186 : if (is_readable(XOOPS_ROOT_PATH . "/class/wysiwyg/formwysiwygtextarea.php")) { Line 187 : $mp_module_header= include_once XOOPS_ROOT_PATH . '/class/wysiwyg/formwysiwygtextarea.php'; Line 187 : $mp_module_header= include_once XOOPS_ROOT_PATH . '/class/wysiwyg/formwysiwygtextarea.php'; Line 188 : $wysiwyg_text_area_01= new XoopsFormWysiwygTextArea( $caption, $name, $value, '100%', '400px',''); Line 188 : $wysiwyg_text_area_01= new XoopsFormWysiwygTextArea( $caption, $name, $value, '100%', '400px',''); Line 189 : $wysiwyg_text_area_01->setUrl("/class/wysiwyg"); Line 189 : $wysiwyg_text_area_01->setUrl("/class/wysiwyg"); Line 190 : $wysiwyg_text_area_01->setSkin("default"); Line 191 : $editor = $wysiwyg_text_area_01; Line 192 : $isWysiwyg = true; Line 203 : $isWysiwyg = true; Line 214 : $isWysiwyg = true; Line 225 : $isWysiwyg = true; Line 236 : $isWysiwyg = true; Line 256 : if (is_readable(XOOPS_ROOT_PATH . "/class/wysiwyg/formwysiwygtextarea.php")) { Line 256 : if (is_readable(XOOPS_ROOT_PATH . "/class/wysiwyg/formwysiwygtextarea.php")) { [mpmanager\language\english\modinfo.php] Line 58 : define("_MP_WYSIWYG","Choose a Wysiwyg Editor"); Line 58 : define("_MP_WYSIWYG","Choose a Wysiwyg Editor"); Line 59 : define("_MP_WYSIWYG_DESC","The user will be able to choose between the editors to select."); [mpmanager\language\french\modinfo.php] Line 53 : define("_MP_WYSIWYG","Choisir l'éditeur Wysiwyg"); Line 53 : define("_MP_WYSIWYG","Choisir l'éditeur Wysiwyg"); Line 54 : define("_MP_WYSIWYG_DESC","L'utilisateur pouras choisir entre les editeurs séléctionner."); [mpmanager\language\french\modinfo.php~] Line 53 : define("_MP_WYSIWYG","Choisir l'éditeur Wysiwyg"); Line 53 : define("_MP_WYSIWYG","Choisir l'éditeur Wysiwyg"); Line 54 : define("_MP_WYSIWYG_DESC","L'utilisateur pouras choisir entre les editeurs séléctionner."); [mpmanager\language\nederlands\modinfo.php] Line 58 : define("_MP_WYSIWYG","Kies WYSIWYG-editor"); Line 58 : define("_MP_WYSIWYG","Kies WYSIWYG-editor"); Line 59 : define("_MP_WYSIWYG_DESC","De grbuiker zal kunnen kiezen tussen de geslecteerde editors."); [mpmanager\msgbox.php] Line 381 : foreach($xoopsModuleConfig['wysiwyg'] as $option){ [mpmanager\optionbox.php] Line 110 : foreach($xoopsModuleConfig['wysiwyg'] as $option){ [mpmanager\Root\pmlite.php] Line 233 : $editor = WysiwygForm(_MP_MESSAGEC, "message", '', '100%', '400px', $formtype); [mpmanager\Root\pmlite.php~] Line 233 : $editor = WysiwygForm(_MP_MESSAGEC, "message", '', '100%', '400px', $formtype); [mpmanager\xoops_version.php] Line 163 : $modversion['config'][11]['name'] = 'wysiwyg'; Line 164 : $modversion['config'][11]['title'] = '_MP_WYSIWYG'; Line 165 : $modversion['config'][11]['description'] = '_MP_WYSIWYG_DESC'; [mpmanager\xoops_version.php~] Line 161 : $modversion['config'][11]['name'] = 'wysiwyg'; Line 162 : $modversion['config'][11]['title'] = '_MP_WYSIWYG'; Line 163 : $modversion['config'][11]['description'] = '_MP_WYSIWYG_DESC'; [mpmanager\xoops_version.php~~] Line 196 : $modversion['config'][16]['name'] = 'wysiwyg'; Line 197 : $modversion['config'][16]['title'] = '_MP_WYSIWYG'; Line 198 : $modversion['config'][16]['description'] = '_MP_WYSIWYG_DESC';
Excuses moi si cela ne t'aide pas. Bonne soirée
Posté le : 06/02/2009 17:59
|
eparcyl... tranquille.
|
|
Re: XoopsFormEditor |
|
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
|
Il y beaucoup plus simple, si on ne cherche pas à être compatible avec les versions antérieures à la 2.3.x
$editor_configs=array();
$editor_configs['name'] = "name";
$editor_configs['value'] = "value";
$editor_configs['rows'] = 35;
$editor_configs['cols'] = 60;
$editor_configs['width'] = "100%";
$editor_configs['height'] = "400px";
$editor_configs['editor'] = "editor_name";
avec la 2.3.2 editor_name peut prendre les valeurs suivantes : dhtmltextarea, fckeditor, koivi, textarea, tinymceavec la 2.3.3rc (en cours de test), d'autres éditeurs sont "ajoutés" : spaw2, wymeditor, xinhaMais, je pense comme d'autres qu'il faudra bien à un moment faire le choix d'un éditeur standard à xoops. Pour en revenir au post, deux méthodes peuvent servir à utiliser un éditeur Wysiwyg : 1ère méthode plus proche des versions antérieures à la 2.3.x
new XoopsFormDhtmlTextArea(caption, name, value, 7, 50, [b]"xoopsHiddenText"[/b], [color=cc0000][b]$editor_configs[/color][/b]):
Ne me demandez pas à quoi sert xoopsHiddenText, je n'ai pas encore trouvé, d'autant plus que l'on ne retrouve jamais cette valeur dans le code html de la page !!! 2ème méthode
new XoopsFormEditor(caption, name, [color=cc0000][b]$editor_configs[/color][/b])
En conclusion, avec la 2.3.x, si on ne cherche pas à rester compatible avec les versions antérieures, plus besoin de fonction "personnelle" pour initialiser l'éditeur. Ce qui est plutôt une bonne chose. Une autre possibilité, car en règle général un éditeur ne sert pas qu'à un seul module, C'est de laisser le choix aux webmasters de définir un éditeur par défaut.Et c'est assez simple à faire, puisqu'il suffit d'éditer le fichier xoops_data/configs/xoopsconfig.php, et de modifier la ligne (ne pas oublier de supprimer les // devant $editor, afin que la modification soit prise en compte) :
"editor" => "nom_de_l_editeur",
Posté le : 07/02/2009 03:47
|
|
|
Re: XoopsFormEditor |
|
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
|
Ca me semble une trend d'avoir de plus en plus des fichiers de configuration. Et proposer ca comme une maniere simple, c'est aussi une peu pousser le bouchon trop loin. Mieux c'est que tous ce parametres de configuration sont mis en, et accesible par, des preferences en admin. Et je ne comprends pas pourqoi on ajoute encore des editeurs (Est-ce-que quelq'un attends pour ca?) et ne reussit pas a offrir une voie de compatibilitee par supporter ce part d'API du 2.x:
$sform->addElement(new XoopsFormEditor(_MD_EDITO_BLOCKTEXT, $options['name'], $options, $nohtml = false, $onfailure = 'textarea'), true);
.
Posté le : 07/02/2009 12:21
|
|
|
Re: XoopsFormEditor |
|
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
|
Entièrement d'accord avec Ghia... De plus, il n'est pas possible de désactiver l'éditeur Wysiwyg pour les anonymes et laisser le DHTML par défaut... Ca serait vraiment un plus pour Xoops si il était possible de paramétrer les éditeurs directement depuis l'administration... De plus, il n'est pas possible non plus de paramétrer depuis l'administration le SecurityImages (Captcha)... aucun rapport avec le sujet me direz-vous...
Posté le : 07/02/2009 20:35
|
Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
|
|
Re: XoopsFormEditor |
|
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
|
Merci pour les explications Laurent, je vais tester tout ça. [EDIT] : Ca marche !!! J'avais bêtement oublié de déclarer le array(). Faudrait d'ailleur modifier le fichier de démo dans le core.Pour ce qui est de la "politique" de programmation et/ou de choix des éditeurs, voici mon opinion. 1. Offrir différents types d'éditeurs dans le core Xoops, c'est une très bonne idée. Ca permet à chacun d'utiliser celui qu'il préfère par défaut, devrait garantir un suivi d'évolution. 2. Imposer un éditeur, n'est pas un bon plan. Selon l'utilisation faite du module, le webmaster souhaitera opter pour tel ou tel système. Pour ma part, je laisse toujours le choix dans les préférences du module. Et avoir maintenant une liste de choix proposée par la core, ça va grandement faciliter les choses. En conclusion, donner aux développeurs de module un maximum d'outils qui leur permettront de choisir (en utilisant les paramétrages du module ou non) ceux qu'ils souhaitent utiliser, fait la force de Xoops. Imposer des choix, c'est jamais un bon plan.
Posté le : 09/02/2009 09:14
|
|
|
Re: XoopsFormEditor |
|
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
|
Allez un petit bout de code supplémentaire pour le fichier xoops_version.php Objectif : obtenir directement la liste des éditeurs présents dans le dossier /class/xoopseditor
include_once XOOPS_ROOT_PATH . "/class/xoopslists.php";
$i++;
$modversion["config"][$i]["name"] = "editor";
$modversion["config"][$i]["title"] = "_MI_EDITOR";
$modversion["config"][$i]["description"] = "";
$modversion["config"][$i]["formtype"] = "select";
$modversion["config"][$i]["valuetype"] = "text";
$modversion["config"][$i]["default"] = "dhtmltextarea";
$modversion["config"][$i]["options"] = XoopsLists::getDirListAsArray(XOOPS_ROOT_PATH . "/class/xoopseditor");
$modversion["config"][$i]["category"] = "global";
Posté le : 09/02/2009 12:14
|
|
|
Re: XoopsFormEditor |
|
Régulier
Inscrit: 26/12/2007 10:27
|
Bonjour,
Ma version de xoops est sans doute ancienne (2.0.17) et j'hésite à changer de peur de tout dérègler.
Mon souci : je créé une page en htlm avec un éditeur de scipt (ici, script edit), elle est parfaite. Je colle ça dans un article sous html et tout est dérèglé, des interlignes qui sautent, des marges changeantes, des <> en génération spontanée etc...
Je ne sais pas s'il y a une solution mais s'il y en a une je suis preneur parce que j'avoue que je commence à m'user.
Merci d'avance.
Cordialement Martin
Posté le : 27/11/2009 14:29
|
Cordialement Martin
|
|
Re: XoopsFormEditor |
|
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
|
Bonjour,
Quel éditeur utilises-tu ? dans le module news, il faut supprimer tout retour à la ligne dans ton code html, sinon tu auras des "br" en plus
@+
Posté le : 27/11/2009 14:41
|
La connaissance s'accroît quand on la partage ...
|
|
Re: XoopsFormEditor |
|
Régulier
Inscrit: 26/12/2007 10:27
|
Bonjour,
J'utilise SCRIPT EDIT et il s'agit d'articles publiés dans smartsections > articles.
Merci
Posté le : 28/11/2009 15:38
|
Cordialement Martin
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|