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> ... ] :

  1. <div class="formulaire_spip formulaire_demo">
  2.  
  3. [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
  4. [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
  5.  
  6. [(#ENV{editable})
  7. <form method='post' action='#ENV{action}'><div>
  8. #ACTION_FORMULAIRE{#ENV{action}}
  9. <ul>
  10. ...
  11. </ul>
  12. <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
  13. </div></form>
  14. ]
  15. </div>

Descargar

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:
    1. <div class="formulaire_spip formulaire_demo">
    2.  
    3. [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    4. [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    5.  
    6. <BOUCLE_editable(CONDITION){si #ENV{editable}}>
    7. <form method='post' action='#ENV{action}'><div>
    8. #ACTION_FORMULAIRE{#ENV{action}}
    9. <ul>
    10. ...
    11. </ul>
    12. <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
    13. </div></form>
    14. </BOUCLE_editable>
    15. </div>

    Descargar

Autor o autora dani Publicado el:

Traducciones: English, Español, français