Carnet Wiki

Astuces Actions et Boutons

Version 6 — May 2018 — raptor

Pour gérer des actions dans des pages de l’espace public et/ou des formulaires, si l’utilisateur connecté dispose des autorisations adéquates -bien sûr- on utilise souvent :
-  des #URL_ACTION(?) ou mieux
-  des #BOUTON_ACTION

Brouillon en-cours de saisie

Rappel de syntaxe

d’après http://www.spip.net/fr_article4583.html

<cadre class=“spip”>#BOUTON_ACTIONlibellé

#BOUTON_ACTION{libellé , url, class ,message de confirmation,title,callback}&lt;/cadre confirmation,title,callback}&lt;/code >}}


voir aussi: http://files.spip.org/Balises-Bonux http://autodoc.magraine.net/spip/balises.html


Sources :
-* https://code.spip.net/autodoc/tree/ecrire/inc/filtres.php.html#function_bouton_action
-* https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/filtres.php#L4114


| {{Paramètre}} | {{Description}} |
| $libelle | texte du bouton |
| $url | url d'action |
| $class | class css a  ajouter  |
| $confirm | message de confirmation oui/non avant l'action |
| $title | info-bulle au survol  |
| $callback | callback js a appeler lors de l'evenement action (apres confirmation eventuelle si $confirm est non vide) et avant execution de l'action. Si la callback renvoie false, elle annule le declenchement de l'action |


{{{Quelques exemples}}}


<h4>Utilisation du callback</h4>


<cadre class='spip'>
[(#BOUTON_ACTION{Demande de publication,
          #URL_ACTION_AUTEUR{demande_publi,#ENV{id_professionnel}},
          ajax btn-demande_publi,'','','(function(){jQuery(".btn-demande_publi").hide("slow", function(){jQuery(".demande_publi_ok").show(500);});return true;})()'})]
</cadre>
  
{souvent extraits de forum.spip.net }


- la gestion "forcée" du statut d'un article dès la saisie (passer un<code> hidden

dans le formulaire) [1]

-  voilà l’url à utiliser pour une suppression d’article [2]:

#URL_ACTION_AUTEUR{instituer_article,[(#ENV{id_article})]/poubelle,#URL_AUTEUR{#SESSION{id_auteur}}}

-  Pour supprimer un document depuis l’espace public [3]rajouter dans une boucle documents :

[(#BOUTON_ACTION{<:tonplugin:supprimer:>,
        #URL_ACTION_AUTEUR{documenter,
                -#ID_ARTICLE/article/#ID_DOCUMENT,
                #SELF|parametre_url{var_mode,calcul}
        }
})]

-  pour télécharger une image ou un document dans l’espace public [4]:
un plugin fait le boulot :
http://plugins.spip.net/formulaireupload.html

PS : une astuce hors-sujet, mais : Spip généralise un parametre FORM-ID dans le nom de formulaire, pour pouvoir appeler plusieurs fois le meme formulaire dans une meme page...