Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > #GET

#GET

#GET{variable} permet de récupérer la valeur d’une variable locale stockée avec #SET{variable, valeur}. Voir aussi #SET.

Un second argument permet de récupérer une valeur par défaut si le paramètre demandé n’existe pas ou si son contenu est vide.

  1. #GET{variable, valeur par défaut}

Le nom de variable peut contenir des barres obliques / indiquant que l’on veut récupérer un sous élément de tableau.

  1. #GET{tableau/sous/cle, valeur par défaut}

Exemple

Si « utiliser_documentation » vaut « oui », le dire :

  1. #SET{utiliser_documentation,oui}
  2. [(#GET{utiliser_documentation}|=={oui}|oui)
  3. On utilise la documentation !
  4. ]

Télécharger

De la même manière, si la clé « documentation » du tableau « utiliser » vaut oui, le dire

  1. #SET{utiliser,#ARRAY{documentation,oui}}
  2. [(#GET{utiliser/documentation}|=={oui}|oui)
  3. On utilise la documentation !
  4. ]

Télécharger

Afficher un lien vers la page d’accueil du site, sur une image « mon_logo.png » si elle existe, sinon sur « logo.png », sinon sur le logo du site :

  1. [(#SET{image,[(#CHEMIN{mon_logo.png}
  2. |sinon{#CHEMIN{logo.png}}
  3. |sinon{#LOGO_SITE_SPIP})]})]
  4. [<a href="#URL_SITE_SPIP/">(#GET{image}
  5. |image_reduire{100})</a>]

Télécharger

Différencier l’absence d’un élément dans l’environnement : définir comme valeur par défaut #ENV{defaut} lorsque #ENV{activer} n’existe pas. Pour cela, le filtre is_null nous permet de tester que #ENV{activer} n’est pas défini. Si #ENV{activer} existe mais est vide, il sera utilisé. On peut ainsi différencier le cas de l’envoi d’une valeur vide dans un formulaire, comme ci-dessous lorsque la valeur envoyée est celle de l’input « champ_activer_non »

  1. [(#SET{valeur,[(#ENV{activer}
  2. |is_null|?{#ENV{defaut},#ENV{activer}})]})]
  3.  
  4. <input type="radio" name="activer" id="champ_activer_oui"[ (#GET{valeur}|oui)checked='checked'] value='on' />
  5. <label for="champ_activer_oui"><:item_oui:></label>
  6.  
  7. <input type="radio" name="activer" id="champ_activer_non"[ (#GET{valeur}|non)checked='checked'] value='' />
  8. <label for="champ_activer_non"><:item_non:></label>

Télécharger