3.4 KiB
3.4 KiB
gamutable
Configuration
Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev
Utilisation
- Charger l'inclure (5 args possibles et facultatifs)
<INCLURE{fond=inclure/gamutable,env}>
Ou avec tous les arguments facultatifs
<INCLURE{fond=inclure/gamutable,
apiuri="spip.php?page=json_souscripteurs.json",
tparpage=[15,25,50,'Tous'],
champcsv="search",
delimitercsv=";",
namecsv="souscripteurs.csv",
env
}>
- Surcharcher
json_gamutable.json.html
en suivant son modele
pour le header c'est de la forme : "champ":"label"
IMPORTANT pour le content du json, il que le cle de la KEY de la table soit "id" et non pas "id_souscription"
pour les champs date, pour avoir l'ordre de la col, il faut le format : dd/mm/yyyy ou dd/mm/yy
- Pour utliser les actions :
[(#SET{statut,
#SET{args,#ID_SOUSCRIPTION|concat{-}|concat{#STATUT}}
<a class="url_action" data-id="#ID_SOUSCRIPTION" href="[(#URL_ACTION_AUTEUR{changer_statut_souscription,#GET{args}})]">
[(#STATUT|!={publie}|oui)
<i title="Souscription en attente" class="fa fa-check fa-2x orange" aria-hidden="true"></i>
]
[(#STATUT|=={publie}|oui)
<i title="Souscription validée" class="fa fa-check fa-2x verte" aria-hidden="true"></i>
]
</a>
})]
"statut" : [(#GET{statut}|json_encode)],
- il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation
- il faut ajouter data-id="" si on veut recharger que cette ligne
- Pour utiliser les crayons, il faut utiliser le pipeline
crayons_vue_affichage_final
/**
* injection du reload de vuejs pour les crayons de l'objet souscription
*
*/
function prefixPlugin_crayons_vue_affichage_final($flux){
if ($flux['args']['type'] === 'souscription') {
$id = $flux['args']['id'];
if ($id = intval($id)) {
$flux['data'] .= ' <script type="text/javascript"> app.rechargerJson('.$id.'); </script>';
} else {
$flux['data'] .= ' <script type="text/javascript"> app.rechargerJson(); </script>';
}
}
return $flux;
}
Attention Pour les crayons, l'invalidation du cache ne se fait que pour les objets publiés
- Pour utiliser une mediabox ou modalbox,
- Dans le json : ajouter un lien avec la classe mediabox ou modalbox (cf ex de json)
"modif" : [(#VAL{<a class="modalbox" href="[(#URL_PAGE{souscrire}|parametre_url{id_souscription,#ID_SOUSCRIPTION}|parametre_url{redirect,gamutable})]"><i class="fa fa-pencil"></i></a>}|json_encode)],
- Il faut appeler le formulaire en ajax
- Dans le traiter du formulaire => supprimer la redirection et ajouter :
if ($retour === 'gamutable') { $res['redirect'] = ""; $res['message_ok'] = "gamutable"; }
- Dans le html du formulaire, ajouter :
[(#ENV**{message_ok}|=={gamutable}|oui) <script type="text/javascript"> app.rechargerJson(); $.modalboxclose(); </script> ]
- il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation
Attention
les Crayons utilise l'api modifier_objet de SPIP qui invalide le cache que si objet est publie, il faut donc forcer l'invalidation du cache en passant pour le pipeline post_edition
/**
* invalider le cache pour l'objet souscription
*
*/
function prefixPlugin_post_edition($flux){
if ($flux['args']['table'] === "spip_souscriptions") {
include_spip('inc/invalideur');
suivre_invalideur("id='id_souscription/1'");
}
return $flux;
}