[spip-dev] personnalisation formulaires espace prive

Bonjour à tous,

je voudrais “personnaliser” en fonction des rubriques certains formulaires, dont le formulaire “editer_article”…

et oh surprise dans la présentation de spip 2.0 () à propos des formulaires de l’espace privé :

"prive/contenu/ contient les squelettes de rendu des objets éditoriaux, et prive/editer/ les squelette d’édition correspondants, qui font appels à la série des #FORMULAIRE_EDITER_... situés dans prive/formulaires. Il devient possible de personnaliser ces pages en fonction des numeros de rubrique avec un suffixe -xx.html comme pour tout autre squelette."

pile-poil… je m’exécute aussitôt mais…

en créant un editer_article-1.html cela me retourne une erreur :
Warning: array_shift() [function.array-shift]: The argument should be an array in /var/www/webdev/girodet/spip/ecrire/balise/formulaire_.php on line 67
Debug : au sein de la function balise_FORMULAIRE__dyn($form)
j’ai $post_form = _request(‘formulaire_action’) ayant pour valeur “editer_article-1”
et decoder_contexte_ajax($post_args,$post_form); return false au lieu d’un array , $post_args est false…

j’ai lu ça sur le trac et j’avoue n’avoir pas tout pigé…
il y a longtemps que j’avais décroché de spip… et le projet à été transfiguré depuis la 1.7 !!! alors je ne retrouve plus mes petits… si quelqu’un pouvait m’aiguillé un peu… pour résoudre cela proprement plutôt que de rentrer dans le core et surcharger…

apparemment c'est la function balise_ACTION_FORMULAIRE qui est en cause... mais pas le temps aujourd'hui de creuser +

Pour résoudre mon pb, j'ai patché comme suit mon "editer_article-x.html":

[(#ENV{editable})
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
[(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ]
#ACTION_FORMULAIRE{#ENV{action}}

++ <input type='hidden' name='formulaire_action' value='editer_article' />

<input type='hidden' name='id_article' value='#ENV{id_article}' />
<ul>
...

c'est pas prop' mais ça marche...

si les spipeurs-fous ont une idée... du pourquoi du comment dans quelle étagère....

@+

dandrea wrote:

normalement, tu peux faire
#ACTION_FORMULAIRE{#ENV{action},editer_article}
pour preciser le nom de l'action en lieu et place du nom du fichier qui est pris par defaut
Cédric

Ah bah vi...
Bien vu ! merci Cédric ! c'est plus propre...
il faut vraiment que je me replonge dans la doc spip...
@+