ARNO*

Geek dilettante habitant une belle et grande propriété sur la Côte d’améthyste

  • Difficulté avec les #champs_extra pour #SPIP : j’essaie l’« Affichage conditionnel » (dans mon cas : afficher un bouton de sélection pour un document uniquement si son extension est « jpg ».

    J’ai donc rempli ainsi :

    (résultat identifique en remplissant plutôt « Affichage conditionnel lors du remplissage »).

    Et ça ne fait rigoureusement rien. Je vois bien que le pipeline de Champs extra envoie une valeur « affichage_si » à Saisies ; mais si je cherche « affichage_si » dans le plugin #Saisies, je n’arrive pas à piger si c’est branché sur quoi que ce soit.

    • Dans inc/saisies_afficher.php, ça a l’air de se jouer dans la fonction saisies_verifier_afficher_si().

      Et dans mon cas, ça vérifie :

      $env["valeurs"]['extension']=="jpg"

      Mais $env["valeurs"] ne contient à ce moment que les valeurs liées aux champs extra. Pas aux valeurs des autres champs (natifs SPIP) de la table.

    • Ça c’est la vérification php de sécurité (car ce n’est pas bien d’avoir des vérif que JS si désactivé), et effectivement cette partie là est sûrement pété pour ce qui concerne les champs extras car on a pas tout le contexte (le constructeur de formulaires de saisies et ces fonctions sont utilisés aussi pur Formidable par exemple et là ça marche car tout le contexte).

      En revanche dans la page là c’est tout en javascript et là ce n’est rien sensé changer puis qu’il n’y a pas d’histoire de contexte, c’est tout en JS. Normalement le plugin génère une fonction javascript dédié à chaque champ où on a configuré ça. Est-ce qu’elle est présente, est-ce qu’il y a une erreur JS dans la console ?

      (Sinon ya un forum sous Saisies ou Champs Extras pour signaler les bugs, afin que ça profite à tout le monde quand on répond, car les utilisateurices c’est là qu’il vont chercher s’illes ont un problème similaire.) :)

    • Pas sûr que afficher_si fonctionne avec les champs extras...
      Il me semble que ça ne fonctionne que lors d’une génération d’un tableau de saisies, ou avec Formidable par exemple.