Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jForms : affichage

Posted by Mindiell on 03/15/2012 11:58

Voilà, j'ai créé un formulaire, et j'observe qu'un input en mode read-only est affiché en grisé (ce qui est moins visible).

J'ai donc préféré utilisé la balise output, mais je me retrouve face à un dilemme :

  • input readonly :
<label class="jforms-label" for="jforms_profile_profile_username" id="jforms_profile_profile_username_label">Identifiant</label>
  • output :
<span class="jforms-label" id="jforms_profile_profile_username_label">Identifiant</span>

Il se trouve que mes styles s'appliquant à la balise label, je perds mon style en utilisant la balise output. Il serait bon, je pense, de continuer d'utiliser une balise label, non ?


Mindiell

  [Opened] jForms : affichage

Reply #1 Posted by Mindiell on 03/15/2012 14:08

J'ai modifié le titre, car, plus généralement, il y a de grosses différences d'affichages suivant les options utilisées.

Pour le login, j'utilise le s2 champs identifiant et mot de passe. Pour le profil utilisateur, j'affiche tout un tas d'informations que je regroupe grâce à la balise groupe :

  • l'utilisation de la balise groupe génère un table qui n'affiche pas les informations de la même manière
  • de même, au niveau du template, passer par un groupe demande de ne pas utiliser la balise {ctrl_label} alors que ne pas y passer demande son utilisation pour afficher le label

Explications :

{formcontrols}
   {ctrl_control}
{/formcontrols}

et

{formcontrols}
   <p>{ctrl_label}: {ctrl_control}</p>
{/formcontrols}

Dans le premier cas, le control étant généré dans une table HTML, l'affichage est bien différent du cas paragraphe (présence d'espaces qui autorise un retour à la ligne intempestif dans mon cas)

Il serait bon de voir s'il est possible d'uniformiser au maximum le rendu du formulaire sans avoir à trifouiller trop dans les templates je pense...


Mindiell

  [Opened] jForms : affichage

Reply #2 Posted by laurentj on 03/15/2012 16:33

Bonjour,

j'observe qu'un input en mode read-only est affiché en grisé

Une règle CSS devrait regler ça...

Il se trouve que mes styles s'appliquant à la balise label, je perds mon style en utilisant la balise output

Une règle CSS devrait regler ça... (on peut faire plein de truc tu sais avec les sélecteurs CSS ;-))

Il serait bon, je pense, de continuer d'utiliser une balise label, non ?

Oui mais une balise label sans champs de saisie, c'est pas terrible terrible... D'où le span.

de même, au niveau du template, passer par un groupe demande de ne pas utiliser la balise {ctrl_label} alors que ne pas y passer demande son utilisation pour afficher le label

Il y a un {ifctrl} pour detecter quel est le champs courant dans la boucle. Et donc de faire un affichage en fonction.

  [Opened] jForms : affichage

Reply #3 Posted by Mindiell on 03/20/2012 12:49

Certes, je m'y connais assez bien en CSS, ne t'inquiète pas :)

Par contre, le souci que j'ai est celui-ci :

<p><label class="jforms-label jforms-required" for="jforms_authentication_login_username" id="jforms_authentication_login_username_label">Identifiant<span class="jforms-required-star">*</span></label>

: <input name="username" id="jforms_authentication_login_username" class="jforms-ctrl-input jforms-required" maxlength="50" value="" type="text"/>

Dans ce code source, la partie qui suit le nom de mon champ ( : ) ne fait pas partie du label.

<fieldset id="jforms_profile_profile_general"><legend>Informations générales</legend>

<table class="jforms-table-group" border="0">
<tr><th scope="row"><label class="jforms-label" for="jforms_profile_profile_username" id="jforms_profile_profile_username_label">Identifiant</label>
</th>
<td><input name="username" id="jforms_profile_profile_username" readonly="readonly" class="jforms-ctrl-input jforms-readonly" value="toto" type="text"/>
</td></tr>

Ici je n'ai pas le loisir de rajouter la partie avec les ":". Enfin, les champs étant compris dans une table, l'affichage n'est pas identique.

Tout ceci pour dire que l'affichage est vraiment différent suivant ce que l'on souhaite utiliser et a tendance à multiplier les "bidouilles" CSS et php pour arriver à un résultat plus cohérent en terme de présentation, c'est tout ce que je voulais dire.


Mindiell

  [Opened] jForms : affichage

Reply #4 Posted by laurentj on 03/20/2012 14:48

Tout ceci pour dire que l'affichage est vraiment différent suivant ce que l'on souhaite utiliser

Je dirais que c'est normal non ? Soit tu utilises l'affichage tout automatique, et il te génère alors un code HTML complet (mais bien sûr ça ne correspond pas forcément à 100% à ce que tu veux), soit il génère le strict minimum, et à toi de décorer autour.

Tu ne peux pas avoir un truc qui te génère tout automatiquement sans que tu n'ai rien à faire, et comme tu veux. Bref, l'histoire du beurre, de l'argent du beurre et de la crémière. Ou alors j'ai loupé un truc, et alors il faudrait me proposer une solution, parce que je ne vois pas.

  [Opened] jForms : affichage

Reply #5 Posted by laurentj on 03/20/2012 14:51

Cependant, comme je l'ai dit, beaucoup de choses se résolvent par CSS.

Ici je n'ai pas le loisir de rajouter la partie avec les ":"

.jforms-table-group .jforms-label:after { content:":" };
 
Page
  1. jForms : affichage