balise CHAINE_ARG

Faire passer des arguments dans une chaine-texte de squelette.

Habituellement, dans nos squelettes lorsque nous voulons placer un mot, une phrase d’information ..., texte en "dur", nous utilisons la syntaxe suivante :
<:pfl:code_texte_a_traduire:>
pfl est le préfixe du fichier de langue (squelettes/lang/pfl_fr.php), et où code_texte_a_traduire est remplacé par le mot ou la phrase que l’on souhaite afficher (dans la langue).

Là, si vous débarquez totalement, je vous renvois à la documentation de SPIP traitant de ce sujet : Internationaliser les squelettes.

De nombreuse fois, nous avons voulu placer dans nos squelettes une phrase du genre :
Le site contient 125 documents dans 43 articles que l’on décomposait en plusieurs morceaux de chaines-texte suivies/précédées de la valeur.

Pour n’avoir qu’une seule chaine-texte traduisible, voici la balise CHAINE_ARG. Celle-ci va recevoir 2 arguments, dont le premier est le code de cette chaine-texte et le deuxième est un tableau (array) de "valeurs" à passer.

Syntaxe de CHAINE_ARG

#CHAINE_ARG{'pfl:code_texte_a_traduire',#ARRAY{'a',vala,'b',valb}}
Où en 1er argument :
.. pfl : préfixe du fichier de langue
.. code_texte_a_traduire : le code de la chaine-texte
où en 2e argument il nous faut un tableau (array) que produit la balise Spip #ARRAY{cle1,val1,cle2,val2}(voir doc. de cette balise).

Prenez soins de retenir chaque "cle" de la balise ARRAY - au passage, faite court - car nous allons réutiliser ces "cle" dans notre chaine-texte du fichier de langue.

Syntaxe de la chaine-texte

Dans le fichier de langue (squelettes/lang/pfl_fr.php), vous placerez votre groupe de code/chaine-texte comme d’habitude :


mais vous remarquerez le ’a’ et le ’b’ encadré de ’@’ !
’a’ et ’b’ étant, vous l’avez compris, nos ’cle’ de la balise #ARRAY qui seront remplacées par leurs valeurs respectives ’vala’ ... lors de l’affichage.

Les pros du Dev retrouveront évidemment l’usage du deuxième argument de la fonction _T('pfl:code_texte',array())

2Exemple2
Dans le squelette :

Dans lang/hug_fr.php :

Ceci va produire dans mon squelette : « Le site contient 87 photos dans 13 galeries. ».

Définition de CHAINE_ARG

Placez le code suivant dans le fichier mes_fonctions.php, ou dans un plugin destiné à l’appel de balises ...

Accueil
L'auteur ...
Ecrire à Hugues
Plan du site
... quelques liens !
Catalogue
:::  koakidi.com © 2002-2017 :::  Crédits  :::  spip   koak2.0  :::  ico 1037716  :::  ff  :::