Lors de la declaration d'un objet, on peut le declarer via un objet qui

précise les types de chaine de langue. c'est facultatif
This commit is contained in:
Christophe 2022-04-16 15:30:31 +02:00
parent f41d6a6e8b
commit bb8283f026
4 changed files with 45 additions and 13 deletions

View file

@ -1,18 +1,38 @@
# Gamuform
Plugin pour générer des formulaires via saisies et des vues via gamutable semi automatiquement.
Plugin pour générer des formulaires et des vues via gamutable semi automatiquement.
Il suffit de déclarer la globals
## Déclaration des objets
Il suffit de déclarer la `$GLOBALS['gamuform_objets']`
* soit simplement : `objet => nom de l'objet`
* soit plus détaillé :
```
objet => [
'singulier' => 'nom_singulier',
'pluriel' => _T('prefix:nom_pluriel'),
'creer' => 'créer un nouvel xxx'
]
```
exemple :
```php
$GLOBALS['gamuform_objets'] = array_merge(
$GLOBALS['gamuform_objets'] ?? [],
[ 'osdve_interventions_type' => "Types d'intervention"]
[
'app_competition' => [
'singulier' => 'competition',
'pluriel' => 'compétitions',
'creer' => 'Créer une nouvelle compétition'
],
'app_competiteur' => "compétiteurs",
]
);
```
## Configuration des objets pour les saisies et pour l'affichage avec gamutable
Et de creer une fonction gamuform/mon_objet.php avec une fonction qui renvoie l'array des saisies
> il y a un exemple gamuform/exemple.php
Ensuite, il suffit d'appeler cette page , en paramettre le nom de l'objet voulu:
> spip.php?page=voir_gamuform&objet=auteur
## Page
Il suffit d'appeler cette page `spip.php?page=voir_gamuform`, en paramettre le nom de l'objet voulu `&objet=auteur` :
`spip.php?page=voir_gamuform&objet=auteur`

View file

@ -81,12 +81,20 @@ function gamuform_objet_autoriser(string $objet):bool {
return false;
}
function gamuform_nom_objet($objet):string {
$nom = '';
function gamuform_nom_objet($objet, $quoi = 'pluriel'):string {
if (gamuform_objet_autoriser($objet)) {
$nom = $GLOBALS['gamuform_objets'][$objet];
if (is_array($GLOBALS['gamuform_objets'][$objet])) {
return $GLOBALS['gamuform_objets'][$objet][$quoi];
} else {
if ($quoi === 'creer') {
return 'Nouveau';
} else {
return $GLOBALS['gamuform_objets'][$objet];
}
return $nom;
}
}
return '';
}
/**
* recuperation des champs de l'objet pour les saisies

View file

@ -5,7 +5,11 @@
<div class="tableau">
[(#AUTORISER{creer, gamuform, 0, '', #ARRAY{objet, #ENV{objet}}}|oui)
[(#SET{lien,<a class="modalbox btn btn-gamuform" href="[(#URL_PAGE{editer_gamuform}|parametre_url{objet,#ENV{objet}}|parametre_url{redirect,#SELF})]"><i class="osdve-plus-circle"></i>&nbsp;Nouveau</a>})]
[(#SET{lien,<a class="modalbox btn btn-gamuform"
href="[(#URL_PAGE{editer_gamuform}|parametre_url{objet,#ENV{objet}}|parametre_url{redirect,#SELF})]">
<i class="osdve-plus-circle"></i>&nbsp;
[(#ENV{objet}|gamuform_nom_objet{creer})]
</a>})]
]
#SET{url,spip.php?page=json_gamuform.json&objet=}
#SET{url,#GET{url}|concat{#ENV{objet}}}

View file

@ -1,7 +1,7 @@
<paquet
prefix="gamuform"
categorie="outil"
version="1.1.0"
version="1.1.1"
etat="dev"
compatibilite="[4.0.0;4.0.*]"
logo="prive/themes/spip/images/gamuform-xx.svg"