157 Posts
Hableur
9 years ago
11
Topic

Bonjour,

soit un champ d'article en select, avec 3 valeurs valeur1=val1, valeur2=val2, valeur3=val3.

J'utilise ce champ select en filtre dans une recherche. Au départ, la liste contient tous les articles. Quand je clique sur une valeur, seuls les articles ayant le champ à la valeur cliquée s'affichent dans la liste. Ensuite, si je veux réafficher l'ensemble de la liste, il faudrait que je "déclique" la valeur choisie, ce qui n'est pas possible.

J'ai donc créé une valeur supplémentaire Tous=   (value vide), et que je sélectionne cette valeur, tous les articles sont à nouveau affichés. Ok.

Maintenant, mon problème est que cette valeur Tous apparaît dans le formulaire de création de contenu, ce que je ne souhaite pas du tout. Une idée serait de mettre une classe à cette valeur afin que grâce au CSS elle ne s'affiche pas. J'imagine que je peux le faire via les attributs personnalisés de chaque option dans la fenêtre d'administration du champ. Malheureusement, je n'arrive pas à savoir comment fonctionnent ces attributs personnalisés.

D'autre part, il y a peut-être une méthode plus simple pour obtenir ce que je souhaite ?

Avec mes remerciements

ps: désolé, je n'ai pas mis ce post dans le bon topic...

Get a Book for SEBLOD
9 years ago
2
Level 1

Bonjour Hableur,

la solution est de créer un deuxième champ (un alias du premier), avec un stockage totalement identique au premier.

Pas besoin d'ajouter un option vide, mais simplement mettre un label au select, du style "Tous les articles..."

Bien créer ce champ depuis le type de contenu. Une fois créé, sortir le champ du formulaire.

Et dans la recherche, utiliser ce dernier à la place de l'original.


Cordialement.

Lionel

157 Posts
Hableur
9 years ago
1
Level 2

Merci Lionel,

je comprends le principe, mais ça ne me convient pas car j'ai 40 champs de ce type, et je n'ai guère envie de jongler avec 40 alias, d'autant que je n'ai pas vu d'interacteur permettant de dupliquer un champ (et quand bien même).

Je peux aussi faire un JavaScript qui cache mon select dont la valeur est vide, mais je préférerais ma première solution CSS. Où puis-je me renseigner sur les attributs personnalisés des options d'un select ?

Cordialement

PS : et finalement, je ne comprends pas bien l'expression "Mettre un label au select". J'avais compris ajouter une option "Tous les articles", mais si je ne lui mets pas une valeur vide, elle prend la valeur "Tous les articles", et elle ne permet pas l'affichage de tous les articles justement...

157 Posts
Hableur
9 years ago
0
Level 3

Bonjour,

je n'ai pas eu de réponse à mon précédent mail. Je voudrais savoir comment on utilise les champs de paramétrage des options (flèche bleue). 

Euh, en fait, je ne sais pas non plus comment joindre une image...

Merci.

9 years ago
4
Level 1

Bonjour Hableur,

désole, mais je ne vois pas de quelle flèche bleu vous voulez parler.

Le "select label" est l'option par défaut et sa value est vide. Le "select label" est souvent du style "Sélectionner une option.."


Cordialement.

Lionel

157 Posts
Hableur
9 years ago
3
Level 2

Ah oui, merci de votre réponse. Malheureusement, il s'agit de select multiple, et il n'y a pas de select label pour ce type de champ (je ne sais pas pourquoi d'ailleurs ?).

Vous n'avez pas vu la flèche bleue car j'ai eu du mal à mettre une image dans ce post, mais ça y est !

Cordialement

157 Posts
Hableur
9 years ago
2
Level 3

Bonsoir,

un petit up car je n'ai pas eu de réponse à ma question concernant l'utilisation des champs situés sous les options d'un select.

Merci.

9 years ago
1
Level 4

Bonjour,

Les champs sous les options d'un select permettent d'ajouter des atributs html à chaque option d'un select.

Cordialement,
Mehdi

157 Posts
Hableur
9 years ago
0
Level 5

Bonjour et merci pour cette réponse.

J'ai essayé de multiples combinaisons, mais je ne dois pas utiliser une bonne syntaxe. Comment faut-il faire pour donner un attribut class par exemple ? Que faut-il exactement entrer. class="myclass" par exemple, ne fonctionne pas et n'est pas mémorisé.

Cordialement

157 Posts
Hableur
9 years ago
2
Level 1

Bon, alors personne ne sait à quoi servent ces champs ?

9 years ago
1
Level 2

Bonjour,

Normalement l'attribut class (pour le css) est attribué à la balise "select".

To add a css class to a field, you can click on the arrow under the storage setting block at the bottom right.
In the appeared area, you have an input called "class (CSS)".

You can use the attribute of each option to implement a specific javascript code, a conditional state (SEBLOD feature), a webservice feature, ...
The syntax is to fill the name of an attribute after the options set. Under each option, in the same column you can fill a specific value for the atribute defined earlier.

Regards,
Mehdi

157 Posts
Hableur
9 years ago
0
Level 3

Thanks for your response.

It can be interesting to have a class on a option, to not display it in frontoffice for exemple. But the problem is that I don't arrive to give an attribut like class to an option, I don't know what I have to write in the cases under the option. Anything I write is not saved. See the jpg for exemple. None of the option has finally class="hello".

Sincerely

Get a Book for SEBLOD