Las funciones charger()
(cargar) y traiter()
(tratar) pueden indicar en su respuesta que el formulario es editable o no. Esto se traduce por la recepción de un parámetro editable
en el esqueleto, que puede servir a esconder o no el formulario (pero no los mensajes de error o de éxito).
Se utiliza así : [(#ENV{editable}) ... contenido de <form> ... ]
:
<div class="formulaire_spip formulaire_demo">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#ENV{editable})
<form method='post' action='#ENV{action}'><div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul>
...
</ul>
<p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
</div></form>
]
</div>
En caso de un bucle en el formulario
Si un bucle SPIP está presente dentro de la escritura [(#ENV{editable}) ... ]
(o cualquier otra baliza), el compilador SPIP devuelve un error (o no devuelve correctamente la página) porque esto no está previsto en el actual lenguaje de esqueletos.
Como paliativo a esto, se puede:
- ya sea poner el bucle en una inclusión llamada entonces por
<INCLURE{fond=mi/inclusion} />
- ya sea utilizar el plugin Bonux y su bucle CONDITION de esta manera:
<div class="formulaire_spip formulaire_demo"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] <BOUCLE_editable(CONDITION){si #ENV{editable}}> <form method='post' action='#ENV{action}'><div> #ACTION_FORMULAIRE{#ENV{action}} <ul> ... </ul> <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> </div></form> </BOUCLE_editable> </div>