gamutable/README.md

86 lines
2.7 KiB
Markdown

# gamutable
## Configuration
Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev
## Utilisation
1. Charger l'inclure
```html
<INCLURE{fond=inclure/gamutable,env}>
```
2. 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
3. Pour utliser **les actions** :
1. dans `json_gamutable.json.html`
```html
"statut" : [(#INCLURE{fond=inclure/statut,id_de_mon_objet}|json_encode)],
```
2. dans `inclure/statut.html`, bien ajouter au lien : `class="url_action"`
```html
<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>
```
4. Pour utiliser **les crayons**, il faut utiliser le pipeline `crayons_vue_affichage_final`
```php
/**
* 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
5. Pour utiliser une **mediabox** ou **modalbox**,
1. Dans le json : ajouter un lien avec la classe mediabox ou modalbox (cf ex de json)
```html
"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)],
```
2. Il faut appeler le formulaire en ajax
3. Dans le traiter du formulaire => supprimer la redirection et ajouter :
```php
if ($retour === 'gamutable') {
$res['redirect'] = "";
$res['message_ok'] = "gamutable";
}
```
4. Dans le html du formulaire, ajouter :
```html
[(#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
```php
/**
* 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;
}
```