[spip-dev] probleme de formulaire, pas de champ texte

Bonjour,

Depuis que je suis passé de 1.9.3 en 2.0.2, il y a quelques jours, les formulaires forum ne permettent plus de saisir le texte. Voici les lignes où devrait se trouver le champ de saisie. On voit bien apparaître "Entrez votre texte ici" mais dans un <p>, pas dans un <input>

  <fieldset>
  <legend>Un message, un commentaire&nbsp;?</legend>
  <p><label for="titre">Titre :</label>

  <input type="text" class="forml" name="titre" id="titre" value="Forum infos" size="40" /></p>

  <label>Texte de votre message :</label>
  <p><small>(Pour cr&eacute;er des paragraphes, laissez simplement des lignes vides.)</small></p>
  Entrez votre texte ici
  </fieldset>

Le squelette est sur http://www.transactiv-exe.org/squelettes/forum.html

Est-ce un bug ou un changement de fonctionalité sur #FORMULAIRE_FORUM? Je n'ai pas vu dans la doc qu'il fallait modifier ses squelettes lors du changement de version.

Cordialement

Yves Grenier

Yves Grenier a écrit :

Est-ce un bug ou un changement de fonctionalité sur #FORMULAIRE_FORUM? Je n'ai pas vu dans la doc qu'il fallait modifier ses squelettes lors du changement de version.

compare
   squelettes/formulaires/forum.html
avec
   squelettes-dist/formulaires/forum.html

tu verras qu'il manque un
   <textarea name="texte" id="texte" rows="12"
   cols="60">[(#ENV{texte})]</textarea>

dans ton squelette perso...
(a-t-il jamais fonctionné ?)

denisb a écrit :

Yves Grenier a écrit :

Est-ce un bug ou un changement de fonctionalité sur #FORMULAIRE_FORUM? Je n'ai pas vu dans la doc qu'il fallait modifier ses squelettes lors du changement de version.

compare
  squelettes/formulaires/forum.html
avec
  squelettes-dist/formulaires/forum.html

tu verras qu'il manque un
  <textarea name="texte" id="texte" rows="12"
  cols="60">[(#ENV{texte})]</textarea>

dans ton squelette perso...
(a-t-il jamais fonctionné ?)

Merci pour cette indication fort pertinente.

Je confirme que ce squelette était parfaitement fonctionnel jusqu'au changement de version. La version que j'utilisais jusqu'ici (squelettes/formulaires/forum.html) reposait sur le formulaire en 1.9 et comporte la ligne:

[(#ENV**{texte}|sinon{"Entrez votre texte ici"}|barre_textarea{12,40})]

La fonction barre_textarea est maintenant obsolete et a disparu au passage en 2.0: elle se trouve maintenant dans ecrire/inc/vieilles_defs.php

Bref, pas de compatibilité avec la version 1.9.3 et obligation de basculer vers les formulaires CVT. Il suffit que je retrouve pourquoi et comment j'avais personnalisé le formulaire, et que je recommence avec le nouveau formulaire et tout va marcher à nouveau... Mais que j'aurais aimé en rester à ce qui fonctionnait sans être obligé de recommencer le boulot!

Cordialement

Yves Grenier

hum, ce serait un oubli, car les formulaires ont tous ete réécrits, et les anciens formulaires ne sont pas compatibles avec SPIP 2.0.
On espère vivement que la toute nouvelle api permettra d'éviter ce désagrément aux prochaines versions.
Cédric

cedric.morin@yterium.com a écrit :

ce serait un oubli, car les formulaires ont tous ete réécrits, et les anciens formulaires ne sont pas compatibles avec SPIP 2.0.

"Les anciens formulaires dynamiques de Spip reposant sur un squelette et une serie de fonction balise_formulaires_xxx, balise_formulaires_xxx_stat, et balise_formulaires_xxx_dyn restent fonctionnels, mais il est conseillé de les migrer progressivement vers le formalisme CVT."
   in : Les formulaires CVT de SPIP - SPIP

cedric.morin@yterium.com a écrit :

ce serait un oubli, car les formulaires ont tous ete réécrits, et les anciens formulaires ne sont pas compatibles avec SPIP 2.0.

"Les anciens formulaires dynamiques de Spip reposant sur un squelette et une serie de fonction balise_formulaires_xxx, balise_formulaires_xxx_stat, et balise_formulaires_xxx_dyn restent fonctionnels, mais il est conseillé de les migrer progressivement vers le formalisme CVT."
  in : Les formulaires CVT de SPIP - SPIP

Bon, la c'est techniquement exacte, mais la formulation induit en erreur :
les anciens formulaires restent fonctionnels du moment qu'on fournit le vieux fichier formulaires/xxx.html et la vieille fonction balise_xxx_dyn(), présente dans le vieux fichier balise/xxx.php

Les vieilles fonctions ayant été supprimées de spip 2.0, le vieux squelette de formulaire ne peut fonctionner en l'état.
Il faut donc :
- soit le supprimer et personaliser à nouveau son squelette de formulaire à partir de celui fournit dans squelettes-dist/formulaires/
- soit remettre le vieux fichier balise/xxx.php dans un sous répertoire balise/ de squelettes/

Le 1 est vivement conseillé, et le 2 vivement déconseillé.

Cédric

cedric.morin@yterium.com a écrit :