64 lines
1.9 KiB
Markdown
64 lines
1.9 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 des boutons 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
|
|
|
|
## 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;
|
|
}
|
|
```
|