Référence des saisies

Sauter à : Toutes les saisies, Toutes les options

Utilisation des options


Champ libreChoix restreintStructureContenu éditorialDivers
Options \ Saisiestextareainputemaildateradiocasecheckboxselectiondestinataireschoix_grillefieldsetexplicationselecteur_articleselecteur_rubrique_articleauteursselecteur_documentmotselecteur_rubriquehidden
afficher_art_dans_langue_interface------------XX-----
afficher_langue------------XX---X-
afficher_rub_dans_langue_interface-------------X---X-
afficher_siXXXXXXXXXXXXXXXXXXX
afficher_si_avec_postXXXXXXXXXXXXXXXXXXX
afficher_si_remplissage_uniquementXXXXXXXXXXXXXXXXXXX
attentionXXXXXXXXXXX-XXXXXX-
attribut_title------X------------
autocomplete-XX----------------
cacher_option_intro-------X------X-X--
choix_alternatif------X------------
choix_alternatif_label------X------------
choix_destinataires--------X----------
classXXXXXXXX-X------X-X
colsX------------------
conteneur_classXXXXXXXX-XXX------X
data----X-XX-----------
data_cols---------X---------
data_rows---------X---------
defautXXXXXXXX------X-X-X
disableXXXXXXXX----XXX-XX-
disable_avec_postXXXXXXXX----XXX-XX-
disable_choix----X-XX-----------
erreur_obligatoireXXXXXXXXXX--XXXXXX-
explicationXXXXXXXXXXX-XXXXXX-
forcer_select----------------X--
heure_pas---X---------------
horaire---X---------------
id_groupe----------------X--
info_obligatoireXXXXXXXXXX--XXXXXX-
inserer_barreX------------------
labelXXXXXXXXXXX-XXXXXXX
label_case-----X-------------
label_non-----X-------------
label_oui-----X-------------
limite_branche------------X----X-
longueur_maxX------------------
masquer-----------X-------
maximum_choix------X------------
maxlength-XX----------------
multiple-------X-X--XXX-XX-
obligatoireXXXXXXXXXX--XXXXXX-
onglet----------X--------
option_intro-------XX-----X-X--
option_statut--------------X----
placeholderXXX----------------
pliable----------X--------
plie----------X--------
previsualisationX------------------
readonlyXXXX-X------XX---X-
rowsX------------------
size-XX----X------X-X--
statut--------------X----
tagfield----------X--------
texte-----------X-------
titre-----------X-------
type-XX----------------
type_choix--------X----------
valeur_non-----X-------------
valeur_oui-----X-------------

Toutes les saisies, par catégories

Champ libre

Bloc de texte (textarea)

Description : Un champ de texte sur plusieurs lignes.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, class, cols, conteneur_class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, inserer_barre, label, longueur_max, obligatoire, placeholder, previsualisation, readonly, rows

Ligne de texte (input)

Description : Une simple ligne de texte, pouvant être visible ou masquée (mot de passe).

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, autocomplete, class, conteneur_class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, maxlength, obligatoire, placeholder, readonly, size, type

Adresse email (email)

Description : Permet d’avoir un champ de type email en HTML5.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, autocomplete, class, conteneur_class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, maxlength, obligatoire, placeholder, readonly, size, type

Date (date)

Description : Permet de saisir une date à l’aide d’un calendrier

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, class, conteneur_class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, heure_pas, horaire, info_obligatoire, label, obligatoire, readonly

Choix restreint

Boutons radios (radio)

Description : Permet de choisir une option parmi plusieurs disponibles.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, class, conteneur_class, data, defaut, disable, disable_avec_post, disable_choix, erreur_obligatoire, explication, info_obligatoire, label, obligatoire

Case unique (case)

Description : Permet d’activer ou de désactiver quelque chose.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, class, conteneur_class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, label_case, label_non, label_oui, obligatoire, readonly, valeur_non, valeur_oui

Cases à cocher (checkbox)

Description : Permet de choisir plusieurs options avec des cases.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, attribut_title, choix_alternatif, choix_alternatif_label, class, conteneur_class, data, defaut, disable, disable_avec_post, disable_choix, erreur_obligatoire, explication, info_obligatoire, label, maximum_choix, obligatoire

Liste déroulante (ou sélection) (selection)

Description : Choisir une option dans une liste déroulante.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, cacher_option_intro, class, conteneur_class, data, defaut, disable, disable_avec_post, disable_choix, erreur_obligatoire, explication, info_obligatoire, label, multiple, obligatoire, option_intro, size

Destinataires (destinataires)

Description : Permet de choisir des destinataires parmi des comptes pré-sélectionnés.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, choix_destinataires, erreur_obligatoire, explication, info_obligatoire, label, obligatoire, option_intro, type_choix

Grille de questions (choix_grille)

Description : Permet de poser une série de questions à choix multiple d’une manière uniformisé et sous forme de grille

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, class, conteneur_class, data_cols, data_rows, erreur_obligatoire, explication, info_obligatoire, label, multiple, obligatoire

Structure

Groupe de champs (fieldset)

Description : Un cadre qui pourra englober plusieurs champs.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, conteneur_class, explication, label, onglet, pliable, plie, tagfield

Explication (explication)

Description : Un texte explicatif général.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, conteneur_class, masquer, texte, titre

Contenu éditorial

Article (selecteur_article)

Description : Affiche un navigateur de sélection d’article

Options :
afficher_art_dans_langue_interface, afficher_langue, afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, limite_branche, multiple, obligatoire, readonly

Article ou rubrique (selecteur_rubrique_article)

Description : Affiche un navigateur de sélection d’article ou de rubrique

Options :
afficher_art_dans_langue_interface, afficher_langue, afficher_rub_dans_langue_interface, afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, multiple, obligatoire, readonly

Autrices et auteurs (auteurs)

Description : Permet de sélectionner un auteur, une autrice, ou plusieurs

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, cacher_option_intro, defaut, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, multiple, obligatoire, option_intro, option_statut, size, statut

Document (selecteur_document)

Description : Affiche un sélecteur de document

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, erreur_obligatoire, explication, info_obligatoire, label, obligatoire

Mot-clé (mot)

Description : Des mots-clés d’un groupe de mot

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, cacher_option_intro, class, defaut, disable, disable_avec_post, erreur_obligatoire, explication, forcer_select, id_groupe, info_obligatoire, label, multiple, obligatoire, option_intro, size

Rubrique (selecteur_rubrique)

Description : Affiche un navigateur de sélection de rubrique

Options :
afficher_langue, afficher_rub_dans_langue_interface, afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, attention, disable, disable_avec_post, erreur_obligatoire, explication, info_obligatoire, label, limite_branche, multiple, obligatoire, readonly

Divers

Champ caché (hidden)

Description : Un champ pré-rempli que l’internaute ne pourra pas voir.

Options :
afficher_si, afficher_si_avec_post, afficher_si_remplissage_uniquement, class, conteneur_class, defaut, label

Toutes les options

Affichage multilingue (afficher_art_dans_langue_interface)

Description : Afficher uniquement les articles de la langue de l’internaute

Utilisée par :
selecteur_article, selecteur_rubrique_article

Afficher la langue (afficher_langue)

Description : Affiche la langue de l’article ou rubrique sélectionné devant le titre

Utilisée par :
selecteur_article, selecteur_rubrique, selecteur_rubrique_article

Affichage multilingue (afficher_rub_dans_langue_interface)

Description : Afficher uniquement les rubriques de la langue de l’internaute

Utilisée par :
selecteur_rubrique, selecteur_rubrique_article

Affichage conditionnel (afficher_si)

Description : Indiquez les conditions pour afficher le champ en fonction de la valeur des autres champs. L’identifiant des autres champs doit être mis entre @.
Exemple @selection_1@=="Toto" conditionne l’affichage du champ à ce que le champ selection_1 ait pour valeur la clé Toto.
Il est possible d’utiliser les opérateurs booléens || (ou) et && (et).
Vous trouverez la documentation complète de la syntaxe sur SPIP-contrib.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, explication, fieldset, hidden, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Poster tout de même — Poster la valeur en cas de masquage de saisie (afficher_si_avec_post)

Description : Par défaut les valeurs des saisies masquées par l’affichage conditionnel ne sont pas postées, donc pas enregistrées. Cochez cette case pour changer ce comportement.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, explication, fieldset, hidden, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Uniquement lors du remplissage — Masquer la saisie uniquement lors du remplissage (afficher_si_remplissage_uniquement)

Description : En cochant cette case, l’affichage conditionnel s’appliquera uniquement lors du remplissage du formulaire, pas lors de l’affichage des résultats.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, explication, fieldset, hidden, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Avertissement (attention)

Description : Un message plus important que l’explication.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, fieldset, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Valeur en attribut title — Mettre un attribut title dans le label, contenant la valeur technique du champ. À utiliser avec modération. (attribut_title)

Description : Mettre un attribut title dans le label, contenant la valeur technique du champ. À utiliser avec modération.

Utilisée par :
checkbox

Pré-remplissage du champ (autocomplete)

Description : Au chargement de la page, votre navigateur peut pré-remplir le champ en fonction de son historique

Utilisée par :
email, input

Choix possibles :

  • “defaut” : Laisser par défaut
  • “on” : Activer
  • “off” : Désactiver

Cacher le premier choix vide — Cacher le premier choix vide (cacher_option_intro)

Utilisée par :
auteurs, mot, selection

Proposer un choix alternatif (choix_alternatif)

Utilisée par :
checkbox

Label de ce choix alternatif (choix_alternatif_label)

Utilisée par :
checkbox

Destinataires possibles (choix_destinataires)

Description : Liste d’auteurs et d’autrices pour une sélection de destinataires par l’internaute, à défaut ce sera la personne qui a installé le site.

Utilisée par :
destinataires

Classes CSS supplémentaires (class)

Utilisée par :
case, checkbox, choix_grille, date, email, hidden, input, mot, radio, selection, textarea

Largeur (cols)

Description : Largeur du bloc en nombre de caractères. Cette option n’est pas toujours appliquée car les styles CSS de votre site peuvent l’annuler.

Utilisée par :
textarea

Classes CSS supplémentaires sur le conteneur (conteneur_class)

Utilisée par :
case, checkbox, choix_grille, date, email, explication, fieldset, hidden, input, radio, selection, textarea

Liste des choix possibles (data)

Description : Vous devez indiquez un choix par ligne sous la forme “cle|Label du choix”.
La clé doit être unique, brève, claire et ne doit plus être modifiée par la suite.

Utilisée par :
checkbox, radio, selection

Réponses possibles (en colonne) (data_cols)

Description : Vous devez indiquez un choix par ligne sous la forme “cle|Label du choix”.
La clé doit être unique, brève, claire et ne doit plus être modifiée par la suite.

Utilisée par :
choix_grille

Questions (en ligne) (data_rows)

Description : Vous devez indiquez un choix par ligne sous la forme “cle|Label du choix”.
La clé doit être unique, brève, claire et ne doit plus être modifiée par la suite.

Utilisée par :
choix_grille

Valeur par défaut (defaut)

Utilisée par :
auteurs, case, checkbox, date, email, hidden, input, mot, radio, selection, textarea

Désactiver le champ (disable)

Description : Le champ ne peut plus obtenir le focus.

Utilisée par :
auteurs, case, checkbox, date, email, input, mot, radio, selecteur_article, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Désactiver mais poster (disable_avec_post)

Description : Identique à l’option précédente mais poste quand même la valeur dans un champ caché.

Utilisée par :
auteurs, case, checkbox, date, email, input, mot, radio, selecteur_article, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Désactiver certains choix (disable_choix)

Description : Indiquer les choix séparés par une virgule, exemple : choix1,choix3

Utilisée par :
checkbox, radio, selection

Message d’erreur pour l’obligation (erreur_obligatoire)

Description : Vous pouvez personnaliser le message d’erreur affiché pour indiquer l’obligation (sinon laisser vide).

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Explication (explication)

Description : Si besoin, une courte phrase décrivant l’objet du champ.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, fieldset, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Forcer l’utilisation d’un select — Forcer l’utilisation d’un select (forcer_select)

Description : Si un groupe de mots est sélectionné, par défaut il s’agira d’une saisie radio. Vous pouvez forcer l’utilisation d’un select.

Utilisée par :
mot

Intervalle des minutes dans le menu d’aide à la saisie (heure_pas)

Description : Lorsque vous utilisez l’horaire, un menu s’affiche pour aider à saisir heures et minutes. Vous pouvez ici choisir l’intervalle de temps entre chaque choix (par défaut 30min).

Utilisée par :
date

Choix possibles :

  • “0” : 1 minute
  • “1” : 2 minutes
  • “2” : 5 minutes
  • “3” : 15 minutes
  • “4” : 30 minutes

Horaire — Permettre de saisir aussi l’horaire (horaire)

Description : Permettre de saisir aussi l’horaire

Utilisée par :
date

Groupe de mots (id_groupe)

Utilisée par :
mot

Indication d’obligation (info_obligatoire)

Description : Vous pouvez modifier l’indication d’obligation par défaut : [Obligatoire]. Pour garder l’information par défaut, ne rien mettre. Pour ne rien afficher, mettre un texte composé uniquement d’espace.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Insérer une barre d’outils (inserer_barre)

Description : Insère une barre d’outils du porte-plume si ce dernier est activé.

Utilisée par :
textarea

Choix possibles :

  • “edition” : barre d’édition complète
  • “forum” : barre des forums

Label (label)

Description : Le titre qui sera affiché.

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, fieldset, hidden, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Label placé à côté de la case (label_case)

Utilisée par :
case

Label si la case n’est pas cochée (label_non)

Description : Sera visible lors de l’affichage des résultats.

Utilisée par :
case

Label si la case est cochée (label_oui)

Description : Sera visible lors de l’affichage des résultats.

Utilisée par :
case

Limiter à une branche (limite_branche)

Description : Limitera le choix à une branche spécifique du site

Utilisée par :
selecteur_article, selecteur_rubrique

Nombre de caractères maximum (longueur_max)

Description : L’internaute ne pourra pas saisir plus de caractères que ce nombre.

Utilisée par :
textarea

Ajouter un bouton afficher/masquer l’explication (masquer)

Utilisée par :
explication

Limiter le nombre de choix (maximum_choix)

Description : Nombre de choix maximum ?

Utilisée par :
checkbox

Nombre de caractères maximum (maxlength)

Description : L’internaute ne pourra pas saisir plus de caractères que ce nombre.

Utilisée par :
email, input

Sélection multiple (multiple)

Description : L’internaute pourra sélectionner plusieurs valeurs

Utilisée par :
auteurs, choix_grille, mot, selecteur_article, selecteur_rubrique, selecteur_rubrique_article, selection

Champ obligatoire — Champ obligatoire (obligatoire)

Utilisée par :
auteurs, case, checkbox, choix_grille, date, destinataires, email, input, mot, radio, selecteur_article, selecteur_document, selecteur_rubrique, selecteur_rubrique_article, selection, textarea

Onglet — Afficher sous forme d’onglet. (onglet)

Description : Afficher sous forme d’onglet.

Utilisée par :
fieldset

Label du premier choix vide (option_intro)

Utilisée par :
auteurs, destinataires, mot, selection

Afficher les statuts (option_statut)

Utilisée par :
auteurs

Placeholder (placeholder)

Utilisée par :
email, input, textarea

Pliable — Le groupe de champs pourra être replié. (pliable)

Description : Le groupe de champs pourra être replié.

Utilisée par :
fieldset

Déjà plié — Si le groupe de champs est pliable, il sera déjà plié à l’affichage du formulaire. (plie)

Description : Si le groupe de champs est pliable, il sera déjà plié à l’affichage du formulaire.

Utilisée par :
fieldset

Activer la prévisualisation (previsualisation)

Description : Si le porte-plume est activé, ajoute un onglet pour prévisualiser le rendu du texte saisi.

Utilisée par :
textarea

Lecture seule (readonly)

Description : Le champ peut être lu, sélectionné, mais pas modifié.

Utilisée par :
case, date, email, input, selecteur_article, selecteur_rubrique, selecteur_rubrique_article, textarea

Nombre de lignes (rows)

Description : Hauteur du bloc en nombre de ligne. Cette option n’est pas toujours appliquée car les styles CSS de votre site peuvent l’annuler.

Utilisée par :
textarea

Taille du champ (size)

Description : Largeur du champ en nombre de caractères. Cette option n’est pas toujours appliquée car les styles CSS de votre site peuvent l’annuler.

Utilisée par :
auteurs, email, input, mot, selection

Statut(s) particulier(s) (statut)

Utilisée par :
auteurs

Choix possibles :

  • “0minirezo” : Administrateurs
  • “1comite” : Rédacteurs
  • “6forum” : Visiteurs

Balise pour le label du groupe (tagfield)

Description : Balise pour le label du groupe. Pour des raisons d’accessibilité, il est vivement recommandé de laisser la valeur par défaut (balise legend).

Utilisée par :
fieldset

Texte de l’explication (texte)

Description : Un texte explicatif général.

Utilisée par :
explication

Titre de l’explication (titre)

Utilisée par :
explication

Texte masqué lors de la saisie (ex : mot de passe) — Texte masqué lors de la saisie (ex : mot de passe) (type)

Utilisée par :
email, input

Type de choix (type_choix)

Utilisée par :
destinataires

Choix possibles :

  • “tous” : Mettre toutes ces personnes en destinataires. L’internaute n’aura aucun choix.
  • “un” : Permettre à l’internaute de choisir une seule personne (sous forme de liste déroulante).
  • “un_radio” : Permettre à l’internaute de choisir une seule personne (sous forme de liste à puce).
  • “plusieurs” : Permettre à l’internaute de choisir plusieurs destinataires.

Valeur non (valeur_non)

Description : option valeur non explication

Utilisée par :
case

Valeur oui (valeur_oui)

Description : Valeur postée si la case est cochée. Attention, il s’agit d’une valeur technique et non d’une valeur affichée.

Utilisée par :
case

Addendum historique

  • L’option datas est encore supportée, mais on lui préferera l’option data.
  • La saisie oui_non ne doit plus être utilisée. On lui préférera la saisie radio, avec des libellés pouvant se comprendre hors contexte (“J’accepte telle action” / “Je refuse telle action”).
  • La saisie selection_multiple ne doit plus être utilisée. On lui préféra la saisie selection avec l’option multiple.

Discussion

36 discussions

  • 2

    Salut,

    Dans le sélecteur d’articles, est-il possible de ranger les titres de façon ante-chronologique?

    [(#SAISIEselecteur_article,ids_article,
    label=<:lettres_objets:label_choisir_articles:>,
    defaut=#ENVids_article,
    multiple=oui
    )]

    Merci de vos réponses.

    • Les articles et non les titres pardon, par ordre ante-chronologique. C’est pour sélectionner des articles d’actualités. Hors pour l’instant nous avons toujours les articles les plus récents en fin fond de pagination.

    • Salut.

      Je me demande s’il n’est pas possible de “surcharger” le code du sélecteur ;-)

    Reply to this message

  • 4

    Bonjour,
    avec le mode de saisie date, le format renvoyé est du type 12/04/2012.
    Lorsque je définie dans ma table sql le format date, il impose 2012-04-12.
    Du coup, il y a une erreur au moment de l’enregistrement.
    Y-a-t-il un moyen pour reccupérer ce bon format, ou modifier le format avant l’enregistrement dans la base?
    merci

    • Oui, depuis peu la vérification de date sait normaliser la valeur final avant traitement. Pour ça il faut mettre à jour Vérifier et Saisies, et utiliser la vérification de date avec son option de normalisation.

      Cf. : http://zone.spip.org/trac/spip-zone/changeset/57473/_plugins_/verifier/verifier/date.php

    • Merci ... j’ai eu récemment d’autres indications de votre part sur un autre forum!
      Si j’ai bien compris, je dois utiliser vérifier($valeur,’date’,array(’normaliser’ => ’date’);

      mais avec le plugin saisies, j’ai dans mon fichier de traitement php du formulaire quelquechose du type:

      function formulaires_editer_programme_colle_identifier_dist($id_programme_colle=’new’,$retour=’’, $config_fonc=’’, $row=array(), $hidden=’’)
      return serialize(array(intval($id_programme_colle)));

      function formulaires_editer_programme_colle_verifier_dist($id_programme_colle=’new’, $retour=’’, $config_fonc=’’, $row=array(), $hidden=’’)

      return formulaires_editer_objet_verifier(’programme_colle’, $id_programme_colle);

      function formulaires_editer_programme_colle_traiter_dist($id_programme_colle=’new’,$retour=’’,$config_fonc=’’, $row=array(), $hidden=’’)
      return formulaires_editer_objet_traiter(’programme_colle’,$id_programme_colle,$retour,$config_fonc,$row,$hidden);

      où alors insérer la vérification? (je me suis inspirer pour réaliser le plugin de l’exemple “chats”)
      d’avance merci

    • La vérification se fait dans la fonction... tin tin tin... verifier() ! :)

      $truc = _request('truc'); pour récupérer ce qui a été posté, suivant le nom du champ, et ensuite tu en fais ce que tu veux, donc le passer dans la fonction de l’autre plugin Vérifier (cf sa doc).

      Mais le plus simple, quand on a pas un formulaire horriblement compliqué, ça reste quand même de déclarer ses saisies en PHP. En effet ce plugin permet d’étendre CVT avec un S : function formulaire_montruc_saisies_dist($param1, $param2, etc)

      Cette fonction doit retourner un tableau de saisies valides, comme décrit dans la documentation (cf l’article de base de la doc de ce plugin).

      Avec cette fonction Saisies sait même faire les 2/3 du boulot : ça déclare les champs ET ça vérifie (pour peu qu’on ait décrit les vérifications à faire comme l’explique la doc de Vérifier).

      Ok ok un exemple complet serait bienvenu, je sais...

    • OK, merci.
      Une question qui n’a pas de lien direct, mais je ne vois pas où la poser:
      comment faire migrer une base de spip2 vers spip3? la démarche habituelle n’a pas fonctionné chez moi...
      merci

    Reply to this message

  • 6

    Bonjour,

    Avec une saisie ’sélection’, je ne parviens pas à faire en sorte que la valeur par défaut soit pré-sélectionnée.
    Voilà mon bout de squelette, je pécise que c’est dans une boucle DATA, ça a peut-être son importance :

    [(#SAISIE*{#VALEUR{type_saisie}, #VALEUR{parametre},
    	datas=#VALEUR*{datas},
    	defaut=#VALEUR*{defaut}
    })]

    Ce qui me rend perplexe, c’est qu’avec le même code ça marche bien pour une saisie radio (la valeur par défaut est bien cochée). Aurais-je loupé quelque chose ?

    • Là comme ça ça ressemble à un bug, mais j’ai pas eu le temps de regarder le code encore. Peut-être qu’il faut que ce soit un tableau ? À voir dans saisies/selection.html.

    • Ah oui, en changeant [(#CLE|=={#GET{valeur}}|oui)selected="selected"] en [(#CLE|=={#ENV{defaut}}|oui)selected="selected"] dans saisies/selection.html, ça marche.
      #GET{valeur} ne renvoie rien, il doit y avoir un souci avec le #SET.

    • As-tu essayé d’afficher le contenu du #GET pour savoir ce qu’il contient au final ? [(#GET{valeur}|var_dump)]

    • Ah oui avec |var_dump, la valeur est bien là : string(4) “fade”.
      Du coup en utilisant match à la place du ==, ça semble marcher :
      [(#CLE|match{#GET{valeur}}|oui)selected="selected"]

    • Ouais mais ça fait faire une regex pour rien alors que c’est juste une comparaison de chaîne toute bête (et en plus si ya “truc” dans “machin truc” ça le trouvera aussi avec ce que tu as mis :) ).

      Il doit y avoir un espace quelque part, un truc dans ce genre. Dans ton tout premier code ça fait quoi si tu fermes la balise #SAISIE juste après le defaut : defaut}})] ?

      Mais c’est bizarre car le dump trouve une chaîne sans espace donc c’est peut-être #CLE (donc ce que tu as mis dans “datas” qui contient des espaces superflues) ? Faudrait dumper #CLE aussi pour comparer.

    • Dans ton tout premier code ça fait quoi si tu fermes la balise #SAISIE juste après le defaut : defaut}})] ?

      Oh pétard, c’était ça ! Hum, j’étais pourtant sûr d’avoir vérifié avec et sans crochets auparavant.
      Désolé pour le bruit !

    Reply to this message

  • 1

    J’essaie de faire un formulaire en utilisant destinataires et type_choix ne me donne pas le résultat escompté. En revanche, multiple=oui produit l’effet attendu (comme mentionné dans l’article sur Saisies).

    :-)

    Reply to this message

  • 2

    Bonjour,

    Pour mettre à jour une table “categories” qui contient les champs suivants : id_categorie , nom, id_sup, infos, j’utilise une formulaire avec saisie. Pour le champ de la categorie parente, actuellement je fais ça :

    [(#SAISIE{input, id_sup,
    label=<:categories:label_parent:>})]

    Ce n’est pas très pratique puisqu’il faut renseigner l’id de la categorie voulue. J’ai essayé de faire un champ selection, pour pouvoir sélectionner le nom de la categorie parente et récupérer l’id, mais je n’y arrive pas. Ma dernière tentative était

    [(#SAISIE{selection, id_sup}
            {label=<:categories:label_parent:>}
            {option_intro=Sélectionnez une categorie parente}
            {datas=#INFO_NOM{categorie, #ID_SUP}}
    )]

    Mais bien sur ça ne va pas.
    Un coup de pouce serait bienvenue
    merci
    Fred

    • datas doit être un tableau PHP. Donc #ARRAY{cle1, valeur1, cle2, valeur2, etc} dans un squelette SPIP. À construire avec une boucle sur tes catégories avant d’afficher ta saisie selection.

    • Merci beaucoup.
      C’est presque bon, il reste juste un petit problème “option_intro” ne s’affiche plus par défaut, il est en deuxième choix dans la liste.

      Pour info :

      Ma boucle

      #SET{array_categories, #ARRAY}
      <B_crit>                
      <BOUCLE_crit(CATEGORIES)>
              #SET{array_categories,#GET{array_categories} |array_merge{#ARRAY{#NOM,#ID_CATEGORIE}}}       
      </BOUCLE_crit>
      #SET{array_categories, #GET{array_categories}|array_flip}      
      </B_crit>

      et mon champ selection :

      [(#SAISIE{selection, id_sup}
              {label=<:categories:label_parent:>}
              {option_intro=Sélectionnez une categorie parente}
              {datas=#GET{array_categories}}
                      )]                

    Reply to this message

  • 5

    Salut la compagnie !

    A quand une Saisie “DATE”, idéalement identique à celle implémentée dans Formidable ?
    C’est a dire un input de taille réduite (10 caractères), un picto “calendrier” sur la droite qui ouvre un calendrier, et remplit le champ automatiquement.

    Mojo

    • Euh... Formidable utilise UNIQUEMENT ce plugin Saisies. Donc elle y est. :)

      Mais faut mettre la doc à jour de temps en temps... :(

    • Damned, j’ai été eu ^^
      Dans un sens, tant mieux, c’est tellement pratique ce champ date !

    • Par contre, est-il actuellement possible de positionner le datepicker sur la date chargée ou entrée, ou en tout cas de l’initialiser à une certaine date ? Par défaut, il part du 1er janvier 1900 dans tous les cas.

    • Chez-moi-ça-marche. ©

      Si il n’y a rien, ça part d’aujourd’hui. Et s’il y a une date, ça part de celle-ci.

    • En effet, j’ai eu ce comportement sur des DATETIME à 0000-00-00 par defaut...
      Ca marche nickel Chrome© ^^

    Reply to this message

  • 3

    Bonjour,
    Concernant l’option datas, je ne comprends pas la mention :

    Vous devez indiquez un choix par ligne sous la forme “cle|Label du choix”

    Du coup, j’avais essayé de renseigner l’option de cette façon :

    datas=
    cle1|valeur1,
    cle2|valeur2,
    cle3|valeur3

    Qui n’avais pas marché. Mais j’ai trouvé dans selection_mutliple.html l’exemple suivant :

    datas=#ARRAY{cle1,valeur1,cle2,valeur2,cle3,valeur3}

    Si l’utilisation d’un tableau est systématique pour la saisie des valeurs de datas, ne vaudrait-il pas mieux le préciser ci-dessus ?

    • On peut soit mettre un #ARRAY, soit mettre un choix pas ligne, donc dans une chaine de caractères, ce qui n’est pas le cas de l’exemple ci-dessus avec les virgules. La chaine permet de passer ces valeurs depuis le résultat d’un textarea par exemple.

    • Quand vous dites “mettre un choix pas ligne, donc dans une chaine de caractères” cela signife-t-il qu’on peut écrire ? :

      datas="cle1|valeur1
      cle2|valeur2
      cle3|valeur3"

      En fait, je ne comprends pas très bien ce que vous entendez par “un choix par ligne”.

    • Une ligne comme dans dans toute chaine de caractère quoi. “\n”.

      La fonction qui récupère ça :
      http://zone.spip.org/trac/spip-zone/browser/_plugins_/saisies/inc/saisies.php#L746

      Mais quand on est dans un squelette, ça n’a pas d’intérêt, il faut utiliser #ARRAY évidemment.

    Reply to this message

  • 7

    bonjour,

    je découvre ce plugin fort utile et j’ai quelques remarques et questions :

    1. il me semble que l’attribut title n’est pas dispo, il serait utile comme option générique non ?
    2. ou, d’une manière plus générale, ne serait-il pas possible d’implémenter une option de saisie attributs qui serait une liste :
      'attributs' => array('attribut' => 'valeur')
    1. je ne trouve pas de références aux boutons (submit, image, reset) ... faut les traiter en dehors des saisies ?
    2. j’essaie d’afficher la saisie explication, sans succès. Une idée ? :

    dans formulaires/testou.php :

    function formulaires_testou_charger_dist() {
    $saisies = array(
        array(
          'saisie' => 'explication',
          'options' => array(
            'li_class' => 'laclass',
            'texte' =>  'Bablabla blaaablabla blabal'
          )
        ),
    );
      return array('_saisies'=>$saisies);
    }

    dans formulaires/testou.html :

    	<form ...><ul> #GENERER_SAISIES{#ENV{_saisies}} </ul></form>

    et dans mon squelette :

    #FORMULAIRE_TESTOU

    ma config : spip 2.0.11 / plugins yaml et bonux activés

      1. Oui pour le title ce serait intéressant
      2. Pour un tableau d’attribut ça serait plus compliqué car il faudrait alors gérer les collisions possible avec les attributs ayant leur option à part (comme la class, le title, etc). Et si on ne mettait QUE un tableau d’attributs pour qu’il n’y ait pas de collisions, c’est limite pire car c’est trop abstrait, contrairement aux options pour un attribut précis, ça n’aide pas les gens.
      3. Pour les boutons, ce n’est pas géré, en tout cas pour l’instant. Ça ne gère que le contenu du formulaire. Mais je suis d’accord que parfois pour des cas complexes on peut avoir besoin de boutons à l’intérieur même du formulaire et pas juste à la fin. Donc il faudrait effectivement rajouter les différentes possibilités de boutons existants. À ajouter à la todo.
      4. Pour la saisie explication... chez-moi-ça-marche :( Quel est le retour ? Une erreur, du vide complet, ou les balises <li> sans rien dedans ? Autre ?
    • merci pour ces réponses

      3. pour les boutons, j’ai créé un fichier submit.html dans squelettes/saisies/, en utilisant l’idée des attributs mais effectivement, ça reste délicats

      4. aucune erreur “visible”, et rien de rien dans la page (et idem avec spip 2.1.2 et les plugins utiles) . Voilà ce que je trouve dans spip.log :

      (pid 5100) COMPIL (3.070 ms) [plugins/auto/saisies/saisies/fieldset.html]
       html_f8281334c0aeba79e3eb43416c90f732.php
      (pid 5100) calcul (0.108 ms) [plugins/auto/saisies/saisies/_base] 
      type_saisie=explication, li_class=laclass, texte='Bablabla blaaablabla blabal', lang=fr,
       date='2010-12-24 15:52:03', date_default=1, date_redac='2010-12-24 15:52:03', 
      date_redac_default=1 (2 octets)
      (pid 5100) Creation du cache d/sai-bas-exp-lac-Bab-arr--20b30930 pour 3600 secondes
      (pid 5100) charset probable: utf-8
      (pid 5100) trouver_table: table inconnue '' 'POUR'
      (pid 5100) COMPIL (7.056 ms) [plugins/auto/saisies/saisies/input.html] 
      html_f6706ef3175657d041b7a2476997ef68.php
    • Trouvé ! (?)

      j’ai ajouté l’option ’nom’ et ça passe. la description sur cette page m’aurait induit en erreur ? cette option est-elle systématiquement obligatoire pour tous types de champs ? ou bien ... ?

       array(
          'saisie' => 'explication',
           'options' => array(
               'nom' => 'explik', 
               'li_class' => 'laclass',
               'texte' =>  'Bablabla blaaablabla blabal'
           )
      )

      Ceci dit, j’ai d’autres soucis ... (o:

      j’appelle saisies_verifier($form) dans la fonction de vérification CVT et j’ai une fatal error :

      Fatal error: Call to undefined function saisies_verifier()...

      la fonction est pourtant dans inc/saisies.php ... et si je la copie dans mon fichier CVT ... re-fatal error qui paraît plus logique :

      Fatal error: Cannot redeclare saisies_verifier() (previously declared in /www/dev/spip/squelettes/formulaires/testou.php:196) in /www/dev/spip/plugins/auto/saisies/inc/saisies.php on line 442

      bon, faut dire que j’en suis à mon premier jour sur Saisies et j’ai pas encore tout compris (o;

    • Oui il faut l’option nom à toutes les saisies, ça permet de les identifier même si ce ne sont pas des champs.

      Pour vérifier 1) il faut évidemment d’abord inclure le fichier où se trouve l’API des Saisies, cad include_spip('inc/saisies');, et 2) si c’est pour vérifier plus que l’option obligatoire=oui, cad avec les descriptions de vérifications, là il faut le plugin “Vérifier”. Ça permet plus de choses.

    • ok merci ... j’avais oublié d’includer pfff...

      par contre, j’ai passé le tableau ($formulaire) des saisies en global, hors fonctions CVT pour que saisies_verifier($formulaire) retourne bien les erreurs, sinon, ne retourne rien (je n’ai pas compris comment passer en argument $formulaire à formulaires_monForm_verifier())
      Est-ce la bonne méthode ?

      j’ai bien le plugin Verifier et ça vérifie bien ... Mais ... en retour sur erreur les champs sont tous retournés vides (même si verifier n’est pas défini dans la saisie).

      j’ai essayé en ajoutant l’option defaut à mes saisies mais n’ai pas trouvé comment l’utiliser pour que les champs gardent leur valeur après vérification ...

    • Euh ça ça n’a sûrement rien à voir avec Saisies mais avec CVT. Vous avez bien déclarer les champs autorisés dans charger() ? Seuls les champs autorisés sont envoyés.

      Quand on déclare les saisies avec un tableau PHP, et qu’on en a besoin dans les 3 fonctions CVT (car dans traiter() aussi on en a souvent besoin), le mieux est d’écrire une fonction qui renvoie le tableau des saisies, et de l’appeler ensuite dans C, puis V, puis T. C’est un peu plus propre qu’une globale...

      J’ai déjà quelques idées pour améliorer encore l’API de Saisies et rendre tout ça automatique avec les CVT (du genre chercher automatiquement une fonction formulaires_truc_saisies()). Encore un truc qui est dans la todo list...

    • -  «Vous avez bien déclarer les champs autorisés dans charger() ?»

      - «a ben... non. Je-croyais-que le tableau des saisies servait aussi à ça» :$

      j’ai donc écrit une fonction qui retourne le tableau des saisies et l’ai ajouté à mon tableau de valeurs autorisées dans charger() ... maintenant tout passe : Merci RastaPopoulos :) !

      J’ai aussi trouvé un petit bug : je vais poster un ticket sur la zone et je pense que je peux écrire un petit tuto du genre Un formulaire avec Saisies par l’exemple !

    Reply to this message

  • J’ai créé une page sur le carnet wiki pour compléter la documentation et noter quelques remarques ... et peut être des interrogations aussi :

    http://www.spip-contrib.net/Doc-Sai...

    Pour l’instant y figurent des notes sur le mode d’emploi des boutons radio, des ’select’,... et sur les vérifications avec le plugin verifier.

    Reply to this message

  • 2

    Mon but était de mettre 2 saisies côte à côte.

    Même en mettant les styles inline directement dans le formulaire.html qui appelle les saisies, je n’ai pas réussi.

    Pour que ça marche, il m’a fallu recopier localement TOUT le fichier habillage.css et en ajouter à la fin de ce fichier les propriétés ad hoc qui surchargent les valeurs spécifiées plus haut.

    Par exemple, pour un formulaire ’identite’ qui comporte une #saisie{input, prenom} immédiatement suivi d’une #saisie{input, nom}, pour que le nom apparaisse à droite du prénom, j’ai ajouté à la fin de habillage.css :

    .formulaire_identite .editer {
            float: left;
    }
    .formulaire_identite  .editer_prenom {
            clear: left; 
    }
    .formulaire_identite  .editer_nom {
            clear: right;
            margin-left: 10px;
    }

    Il faudrait peut être spécifier plus précisément pour faire plus générique, mais comme ça ça marche dans mon cas.

    Je m’étonne cependant de devoir recopier localement tout le habillage.css. ça me semble peu portable et je ne pense pas que ça soit la bonne pratique. En effet, dans le cas de la création d’un plugin ’identite’ (dans l’exemple), il est impossible de savoir si d’autres plugins n’ont pas déjà surchargé et modifié habillage.css, et dans un tel cas, le habillage.css fourni par ’identite’ sera en décalage...

    D’où ma question :
    Quelle est donc la bonne pratique pour personnaliser les CSS des saisies ?

    • Mais de quoi tu parles ? Quel rapport en habillage.css et Saisies ? Et de quel habillage.css tu parles ? de la dist ? d’un site à toi ? de zpip ? autre ?

      Ce plugin n’a aucun rapport avec des CSS, il ne fait que générer du HTML. Après chaque site à ses styles, ce n’est aucunement du ressort de ce plugin.

    • Désolé si ma question est un peu hors sujet, mais ya quand même un rapport puisque habillage.css (de zpip ou de la dist) style les formulaires spip, y compris ceux générés par SAISIE. D’ailleurs cet article l’évoque : Largeur (cols) : Largeur du bloc en nombre de caractères. Cette option n’est pas toujours appliquée car les styles CSS de votre site peuvent l’annuler. En effet, les indications CSS de habillage.css sont prioritaires par rapport aux attributs HTML générés par SAISIE.

      Or en CSS, il n’y a pas moyen d’annuler la valeur d’une propriété : on ne peut que la re-spécifier. En l’occurence, j’ai finalement trouvé comment faire sans recopier localement tout habillage : il suffit de créer un fichier perso.css et d’y mettre les propriétés CSS surchargées.

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom