Formulaire responsive
Grégory M
Grégory M

Formulaire responsive

Grégory M 183
22/03/2021 20:54
#1
Grégory M 183
22/03/2021 20:54
Ouverture d'un sujet pour traiter des formulaires
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Grégory M
Grégory M

Re : Formulaire responsive

Grégory M 183
22/03/2021 21:06
#2
Grégory M 183
22/03/2021 21:06
Pour ouvrir le débat, la méthode que tu propose n'est à mon sens pas la bonne:

Si les formulaires sont correctement utilisés il n'y a pas de problème par exemple poster un commentaire sur une news:

Image redimensionnée

Image redimensionnée

Je ne sais pas comment fonctionne le formulaire de newbb mais pour le reste cela fonctionne.

Pour les formulaire dans les templates, ce n'est pas forcément mieux.

L'avantage des forms généré c'est que un seul endroit dans xoops doit être modifié pour tous les formulaires.

Depuis 2.5.10 on peut créer un rendu personnalisé , donc mieux pour maintenir un site que de bidouiller dans les templates.
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Grégory M
Grégory M

Re : Formulaire responsive

Grégory M 183
22/03/2021 21:11
#3
Grégory M 183
22/03/2021 21:11
Newbb n'utilise pas le système de génération des formulaire de xoops, c'est pour cette raison que l'affichage est mauvais... Je pensais que ce module était mieux suivi, une petite mise à jour du template devrait corriger ce problème.
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Grégory M
Grégory M

Re : Formulaire responsive

Grégory M 183
22/03/2021 21:26
#4
Grégory M 183
22/03/2021 21:26
Le code est à changer dans le templates "newbb_edit_post.tpl" (surcharge dans le thème). Il faut modifier le code suivant:
<table width='100%' class='outer' cellspacing='1'>
        <{foreach 
item=element from=$form_post.elements}>
        <{if 
$element.hidden != true}>
            <
tr valign="top">
                <
td class="head">
                    <
div class="xoops-form-element-caption<{if $element.required}>-required<{/if}>"><span
                                
class="caption-text"><{$element.caption}>span><span class="caption-marker">*span>
                    div>
                    <{if 
$element.description != ''}>
                        <
div class="xoops-form-element-help"><{$element.description}>div>
                    <{/if}>
                td>
                <
td class="odd" style="white-space: nowrap;"><{$element.body}>td>
            tr>
        <{/if}>
        <{/foreach}>
    table>
Par
<div class="form-group row">
        <{foreach 
item=element from=$form_post.elements}>
        <{if 
$element.hidden != true}>
            <
label class="col-xs-12 col-sm-2 col-form-label text-sm-right">
                <{
$element.caption}>
                <{if 
$element.required}><span class="caption-required">*span><{/if}>
            label>
            <
div class="col-xs-12 col-sm-10">
                <{
$element.body}>
                <{if 
$element.description != ''}>
                    <
class="form-text text-muted"><{$element.description}>p>
                 <{/if}>
            div>
        <{/if}>
        <{/foreach}>
        div>
Il n'y aurait pas eu de problème avec une génération 100% xoops...
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Lou86
Lou86

Re : Formulaire responsive

Lou86 38
22/03/2021 22:29
#5
Lou86 38
22/03/2021 22:29
Ah bah parfait :)

J'ai le problème avec d'autres modules, j'avais donc (à tort) pensé que c'était lié aux forms xoops.

Maintenant j'ai un correctif propre et en échange vous avez une optim pour monXoops à prévoir
Re : Formulaire responsive
Grégory M
Grégory M

Re : Formulaire responsive

Grégory M 183
23/03/2021 08:32
#6
Grégory M 183
23/03/2021 08:32
Merci pour ton retour!

en postant mon code, j'ai corrigé pour monxoops.fr. On avait jamais remarqué...
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Lou86
Lou86

Re : Formulaire responsive

Lou86 38
23/03/2021 08:34
#7
Lou86 38
23/03/2021 08:34
C'est un des avantages à avoir une membre qui navigue à 80% sur son smartphone
Re : Formulaire responsive
Grégory M
Grégory M

Re : Formulaire responsive

Grégory M 183
23/03/2021 08:50
#8
Grégory M 183
23/03/2021 08:50
ça c'est vrai!

Pour expliquer un peu plus le problème avec newbb:

Dans le fichier : include/form.post.php à la fin, ils ont utilisé:

$forum_form->assign($xoopsTpl);


Avec ce code, tu peux personnaliser un peu l'affichage du formulaire en créant une boucle dans le template. C'est une solution pas complète pour maîtriser l'affichage car on ne peut pas gérer les champs qui sont toujours générés par xoops.

Si on utilise:
$forum_form->display();


alors c'est XOOPS qui gère complètement l'affichage et la depuis 2.5.10 c'est hyper puissant!

Dans le thème on met: "theme_autorun.php"

avec par exemple le code suivant pour bt4:

xoops_load('XoopsFormRendererBootstrap4');
XoopsFormRenderer::getInstance()->set(new XoopsFormRendererBootstrap4());


Et comment ça marche... Il faut aller dans "class/xoopsform/renderer" et là, tu as les rendus. Par exemple "XoopsFormRendererBootstrap4.php"

Ce fichier contient le code d'affichage des formulaires, tu le modifie et tous les formulaires sont modifiés!

Tu vas me dire, je ne veux pas hacker XOOPS donc je ne touche pas, pas besoin de faire un hack! Tu es en bt4 dans ton thème mais le rendu prévu par xoops ne te convient pas, tu copies le fichier "XoopsFormRendererBootstrap4.php" et tu donnes un nom qui te convient à ta copie (par ex. PersoFormRendererBootstrap4.php). Tu fais tes modifications à l'intérieur et tu mets ces lignes dans le fichier "theme_autorun.php":

xoops_load('PersoFormRendererBootstrap4');
XoopsFormRenderer::getInstance()->set(new PersoFormRendererBootstrap4());


Et ton thème utilise un système de rendu personnalisé qui ne sera pas écrasé lors de la mise à jour de xoops et ce n'est pas un hack.

Un petit tuto sur ce sujet serait peut-être intéressant?
--------------------
http://www.monxoops.fr
Re : Formulaire responsive
Lou86
Lou86

Re : Formulaire responsive

Lou86 38
23/03/2021 09:06
#9
Lou86 38
23/03/2021 09:06
Un tuto serait vraiment une super idée oui :)

Pour ma part j'ai toujours des soucis quand il faut s'attaquer aux formulaires, je commence seulement à comprendre comment ils sont générés sur xoops.

J'ai galéré à chercher comment virer les tableaux, j'ai galéré pour récupérer des IDs pour les for de mes nouveaux labels par exemple, etc.

Tous les modules ne sont pas encore optis niveau formulaires alors que ça reste une des parties les plus importantes côté utilisateur si on veut favoriser l'échange autour d'une communauté (j'utilise par exemple suico et alors qu'il génére de nombreux formulaires... ils sont tous en tableau
Re : Formulaire responsive
Alain T
Alain T

Re : Formulaire responsive

Alain T 681
23/03/2021 09:40
#10
Alain T 681
23/03/2021 09:40
Suico n'est pas un bon exemple, c'est clair.
Cet avis n'engage que moi.
Mais il faut aussi trouver des designers qui veulent bien passer du temps à reprendre les templates.

Citation :
Et ton thème utilise un système de rendu personnalisé qui ne sera pas écrasé lors de la mise à jour de xoops et ce n'est pas un hack.
Un petit tuto sur ce sujet serait peut-être intéressant?
Oui, on l'ajoute à la liste des tutos à produire (sans garantie de délai de disponibilité, bien sur)