Mostrar condicionalmente

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>
    

Autor o autora dani Publicado el: Actualizado: 12/03/23

Traducciones: English, Español, français