Fork me on GitHub




« 1 (2)


Re: template smarty xoops éditeur
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Je comprends maintenant ton explication, mais comment faire pour insérer l'éditeur dans mon template écrit en HTML6 ? Et faire qu'il soit possible de le modifier lors de la config des éditeurs de xoops, comme pour les autres ?

Posté le : 22/02/2013 18:43
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
HTML6 ?

Tu veux dire HTML5, car HTML6 je ne connais pas.

Si c'est sur un module existant, tu peux utiliser la surcharge des templates, comme cela Xoops utilise des copies des templates originaux, tu peux voir un exemple de fonctionnement ici.

Tu insères ton formulaire en HTML5 et tu supprimes la variable smarty qui insère le formulaire Xoops, (sur certains modules faudra juste commenter
$form->display();

dans le script PHP, tout dépend comment le module a été écrit). Faudra juste prendre soin d'utiliser les bonnes variables a transmettre par la méthode $_POST

Lors des prochaines mise à jour de Xoops, pas de problème, vu que tu utilises les templates en surcharge, pour les modules cela dépendra de la méthode que tu a utilisé pour désactiver le formulaire.

Et pour l'éditeur tout dépend lequel tu utilises, le plus simple suffit de faire copier/coller du code HTML générer par le formulaire provenant de xoopsform. Il y aura une partie en HTML, l'autres en Javascript

Posté le : 22/02/2013 18:55
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Je deviens bigleux, j'ai pensé hTML5 et écrit 6 ...

Merci pour toutes tes infos, mais moi mon soucis c'est dans le module, que je développe, de pouvoir choisir un éditeur dans les préférences du module. Puis d'afficher correctement le formulaire dans un template en lieu et place du système habituel xoopsform() ...

J'ai bien fait ce que tu me dis, de regarder le code HTML généré pour l'affichage d'un éditeur, mais ceci ne me sert pas car si je veux pouvoir en changer et tenir compte de l'évolution des éditeurs embarqués ... Mon affaire resterait alors figée, sur l'éditeur copié.

En d'autre terme, il me faudrait vraiment pouvoir instancier un des éditeurs installés class/xoopseditor/ dans le formulaire "templatisé" ...

J'ai bien un formulaire qui tourne avec un template, mais pas d'éditeur ad hoc, hélas ...

A+
Bruno

Posté le : 22/02/2013 19:22
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
La configuration des éditeurs se font a part ./class/xoopseditor/ (chaque éditeur a sa configuration), mais ils sont configurer pour fonctionner avec xoopsform.
Il te faudra peut être le ré-intégrer directement avec une configuration qui s'adapte avec ton formulaire.
Ensuite pour avoir la possibilité de choisir tel ou tel éditeur dans les préférences, dans xoops_version.php tu ajoute ceci dans la section config

$i++;
$modversion['config'][$i]['name'] = 'form_options';
$modversion['config'][$i]['title'] = "_MI_NEWS_FORM_OPTIONS";
$modversion['config'][$i]['description'] = '_MI_NEWS_FORM_OPTIONS_DESC';
$modversion['config'][$i]['formtype'] = 'select';
$modversion['config'][$i]['valuetype'] = 'text';
$modversion['config'][$i]['default'] = 'dhtml';
xoops_load('xoopseditorhandler');
$editor_handler XoopsEditorHandler::getInstance();
$modversion['config'][$i]['options'] = array_flip($editor_handler->getList());

Et les define 'title' et 'description' sont a mettre dans ./modules/nomtonmodule/language/french/modinfo.php.
Cet exemple est si tu utilise les éditeurs présents dans Xoops.

pour des éditeurs que tu gère toi même :
$i++;
$modversion['config'][$i]['name'] = 'form_options';
$modversion['config'][$i]['title'] = "_MI_NEWS_FORM_OPTIONS";
$modversion['config'][$i]['description'] = '_MI_NEWS_FORM_OPTIONS_DESC';
$modversion['config'][$i]['formtype'] = 'select';
$modversion['config'][$i]['valuetype'] = 'text';
$modversion['config'][$i]['default'] = 'dhtml';
$modversion['config'][$i]['options'] = array('code editeur1'=>'nom editeur1'etc...);


Mais j'apporte quand même une précision, les formulaires gérés par xoopsform sont protégés contre les injections entre autre par PROTECTOR, le fait que tu créés tes propres formulaires ne te fait pas bénéficier de PROTECTOR donc dans la réalisation du script de contrôle de ton formulaire, il te faudra être très rigoureux pour éviter les problèmes de piratage.

Posté le : 22/02/2013 20:07
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour,

Jour nouveau, solution nouvelle ... Merci, pour tes explications; je pense avoir trouvé et résolu le problème. En me penchant sur le code de xoopsform(), j'y ai vu que l'on pouvait envoyer le tout à un template via un assign(&tpl). Bref, je me dis alors que c'est surement possible d'envoyer une partie d'un formulaire à un template smarty ...

La solution dans le code PHP :
/* EDITORS */
        
$editor_configs=array();
        
$editor_configs["name"] ="description_main";
        
$editor_configs["value"] = $this->getVar('description_main''e');
        
$editor_configs["rows"] = 20;
        
$editor_configs["cols"] = 100;
        
$editor_configs["width"] = "100%";
        
$editor_configs["height"] = "300px";
        
$editor_configs["editor"] = $xoopsModuleConfig['editor'];
        
$ed1 = new XoopsFormEditor(_AM_YOGATISSIMO_FORMTEXTMAIN"description_main"$editor_configs);
    
$editor1 $ed1->render();


Puis pour l'envoyer au template :
// ASSIGNATION DU TEMPLATE
    
$xoopsTpl->assign(array(
            
"lang_module_description_main"  => _AM_YOGATISSIMO_FORMTEXTMAIN,
            
"vareditor1"  => $editor1);


Enfin le template :
<tr valign="top" align="left">
          <
td class="head"><div class="xoops-form-element-caption-required"><span class="caption-text"><{$lang_module_description_main}></span><span class="caption-marker">*</span></div></td>
          <
td class="even">
            <{
$vareditor1}>    
           </
td>
          </
tr>


Voilà, j'ai plusieurs éditeurs à positionner dans mon template, et pour l'instant tout semble fonctionner ! Je peux modifier dans les préférences l'éditeur choisi ...

Bien cordialement,
Bruno

Posté le : 23/02/2013 07:37
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837


Si c'est tout ok, pense a éditer ton premier post pour le passer a résolu, merci.

Posté le : 23/02/2013 09:21
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonsoir,

Ok, tout fonctionne ... Merci ...

A+
Bruno

Posté le : 24/02/2013 16:51
Partager Twitter Partagez cette article sur GG+
Re: template smarty xoops éditeur
Admin Frxoops
Inscrit: 16/03/2009 16:40
De Tende (06)
Messages: 3528
Merci pour ce partage d'informations bguegan

Posté le : 24/02/2013 17:31

Open in new window

Xoopseuse Mai 2012 | Responsable équipe internationale | Recherche avancée en bas de page !
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2)



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.

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

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