gamutable/README.md

2.7 KiB

gamutable

Configuration

Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev

Utilisation

  1. Charger l'inclure
<INCLURE{fond=inclure/gamutable,env}>
  1. 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

  1. Pour utliser les actions :

    1. dans json_gamutable.json.html
    "statut" : [(#INCLURE{fond=inclure/statut,id_de_mon_objet}|json_encode)],
    
    1. dans inclure/statut.html, bien ajouter au lien : class="url_action"
    <BOUCLE_a(SOUSCRIPTIONS){id_souscription}{tout}>
    	#SET{args,#ID_SOUSCRIPTION|concat{-}|concat{#STATUT}}
    	<a
    		class="url_action"
    		href="[(#URL_ACTION_AUTEUR{changer_statut_souscription,#GET{args}})]">
    		#STATUT
    	</a>
    </BOUCLE_a>
    
  2. 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') {
		$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

  1. Pour utiliser une mediabox ou modalbox,
    1. 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)],
    
    1. Il faut appeler le formulaire en ajax
    2. Dans le traiter du formulaire => supprimer la redirection et ajouter :
    if ($retour === 'gamutable') {
    	$res['redirect'] = "";
    	$res['message_ok'] = "gamutable";
    }
    
    1. Dans le html du formulaire, ajouter :
    [(#ENV**{message_ok}|=={gamutable}|oui)
    	<script type="text/javascript">
    		app.rechargerJson();
    		$.modalboxclose();
    	</script>
    ]
    

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;
}