It is currently Sat 1 Oct 2016 - 08:59 - créer un forum

Les variables de templates

Skip to content

Post new topic Reply to topic Goto page: 1, 2, 3  >

Les variables de templates
Author Message
JEAPPER
Équipe Xooit.com


Offline
Équipe Xooit.com

Joined: 01 Jan 1970
Posts: 1,206
Point(s): -8,541
Moyenne: -7.08
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin Vierge (24aoû-22sep) 馬 Cheval

PostPosted: Sat 17 May 2008 - 11:49    Post subject: Les variables de templates Reply with quote

PublicitéSupprimer les publicités ?
Les templates définissent la façon dont votre forum sera affiché. Ils sont composés de code HTML, mais aussi de codes spéciaux spécifiques permettant d’afficher les éléments générés par le forum.

Le plus simple de ces codes spécifiques est la variable. Exemple:
Code: Sélectionner - Agrandir
{SITENAME}

Cette variable, utilisée dans le template overall_header.tpl, affiche le nom de votre forum (celui que vous avez entré dans la configuration générale).

Si vous placez « A_ » devant le nom de la variable ({A_SITENAME}), elle sera « échappée » avant d’être affichée dans le code HTML. Par exemple, les caractères ' seront affichés \'. Cela permet de les utiliser dans un code Javascript. Vous pouvez aussi utiliser « LA_ » ou « UA_ », qui ont le même fonctionnement, mais pour les variables dont le nom commence par « L_ » ou « U_ ».

Les variables sont généralement nommées en fonction de ce qu’elles contiennent:
  • U_…: Les variables dont le nom commence par U_ sont des URLs.
  • L_…: Ces variables sont des variables de langue. Elles contiennent du texte différent selon la langue choisie par le visiteur. Par exemple {L_POST_SUBJECT} dans viewtopic_body.tpl peut contenir « Sujet du message » en français, ou « Post subject » en anglais.
  • S_…: Ce sont des variables systèmes, elles contiennent en général 0 ou 1. Par exemple {S_USER_LOGGED_IN} (utilisable dans tous les templates) contient 1 (oui) quand l’utilisateur est connecté, et 0 (non) quand l’utilisateur n’est pas connecté.


Vous pouvez trouver toutes les variables existantes en regardant le contenu des templates. À noter qu’une variable utilisée dans un template n’est pas forcément utilisable dans un autre.

Vous l’avez compris, les variables permettent d’afficher des choses dans les templates. Mais elles permettent aussi de mettre des conditions dans les templates. Exemple:
Code: Sélectionner - Agrandir
<!-- IF S_USER_LOGGED_IN --> … <!-- ENDIF -->

Ce code permet de n’afficher quelque chose qu’aux utilisateurs étant connectés. Notez qu’il n’y a pas de { et } autour du nom de la variable: Les crochets ne sont utilisés que lorsque l’on veut afficher la variable.

On pourrait aussi utiliser <!-- IF ! S_USER_LOGGED_IN --> (le ! en plus) pour n’afficher quelque chose que pour les utilisateurs non connectés.

On peut aussi utiliser ELSE:
Code: Sélectionner - Agrandir
<!-- IF S_USER_LOGGED_IN -->
code affiché aux utilisateurs connectés
<!-- ELSE -->
code affiché aux utilisateurs non connectés
<!-- ENDIF -->


Les IF … ENDIF … ELSE permettent aussi de comparer les variables, comme ceci:
<!-- IF VARIABLE == "1" -->
Cela testera si VARIABLE est égale à 1.
Ou encore:
<!-- IF VARIABLE == "1" && AUTRE_VARIABLE > "2" && BLA != "test" -->
Cela testera si variable est égale à 1, et si AUTRE_VARIABLE est supérieur à 2, et si BLA est différent de "test".

Exemple avec la variable S_USER_LEVEL (utilisable dans tous les templates, elle aussi):
Code: Sélectionner - Agrandir
<!-- IF S_USER_LEVEL == "ADMIN" || S_USER_LEVEL == "MOD" -->
code affiché uniquement aux utilisateurs étant administrateur ou modérateur
<!-- ENDIF -->


Vous pouvez utiliser les signes suivants dans les <!-- IF … -->:
  • a == b (a égal à b)
  • a != b (a est différent de b). Synonyme: <>
  • a > b (a est plus grand que b). <, <=, >= fonctionnent aussi.
  • a > b && a > c (&& veut dire et)
  • a > b || a > c (|| veut dire ou)
  • !a > b (le ! inverse le résultat. Si le résultat est oui, ça fait non)
  • a % 2 (le résultat est le reste de a divisé par 2. Ça donne 1 par exemple si a est égal à 5 dans ce cas, 5/2=2, et il reste 1.)
  • a+b-c*d/e (les signes +, -, *, et / peuvent être utilisés pour faire des opérations)
  • <<, >>, |, ^, &, ~ (opération binaires)
  • a is even (a est pair)
  • a is odd (a est impair)
  • (a > 2 && b > 3) || (a > 3) (Les parenthèses fonctionnent)


Code: Sélectionner - Agrandir
<!-- IF S_USER_LOGGED_IN -->
  <!-- IF S_USER_LEVEL == "ADMIN" -->
    bla bla
  <!-- ELSEIF S_USER_LEVEL == "MOD" -->
    bla bla
  <!-- ENDIF -->
<!-- ENDIF -->


Les boucles/blocks

Les boucles (on peut aussi les appeler blocks) s’écrivent de cette façon:
Code: Sélectionner - Agrandir
<!-- BEGIN postrow -->
code html {postrow.VARIABLE_EXEMPLE} code html …
<!-- END postrow -->


Il s’agit d’une boucle qui va afficher tous les éléments se trouvant dans un block. Ici, postrow est un block contenant tous les messages (posts, en anglais). Il est utilisé dans viewtopic_body.tpl pour afficher tous les messages.

Cela permet d’afficher un nombre non définit d’éléments, sans avoir à répéter la même chose dans un template.

Ces blocks ont aussi quelques fonctionnalités bien pratiques, comme celle de pouvoir n’afficher qu’une partie des élements. Exemple:
Code: Sélectionner - Agrandir
<!-- BEGIN postrow(0,1) --> … <!-- END postrow -->
. Ceci n’affichera que le premier message. Cela peut servir si vous souhaitez afficher le premier message d’une façon différente des réponses, comme dans un blog, par exemple. Vous pouvez ensuite utiliser <!-- BEGIN postrow(1) --> pour afficher le reste des messages.

Pour accéder à ou afficher les variables contenues dans un block il faut les écrire de cette façon: nom_du_block.NOM_DE_LA_VARIABLE. Par exemple: postrow.POST_DATE.

Tous les blocks contiennent les variables suivantes:
  • S_ROW_COUNT: Le numéro de l’élément dans le block. Peut servir à afficher les élément de différente façon selon leur numéro (pour alterner les couleurs par exemple, selon si le numéro est pair ou impair, comme ceci: <!-- IF postrow.S_ROW_COUNT is even -->color:red<!-- ELSE -->color:green<!-- ENDIF -->).
  • S_LAST_ROW: Contient 1 si il s’agit du dernier élément, 0 sinon. Peut être utilisé comme ceci: <!-- IF postrow.S_LAST_ROW --> code <!-- ENDIF -->.
  • S_FIRST_ROW: Contient 1 si il s’agit du premier élément, 0 sinon.
  • .boucle contient également S_ROW_COUNT. Exemple: <!-- IF .boucle > 2 -->…


Il y a aussi BEGINELSE, qui permet d’afficher autre chose que la boucle si il n’y a aucun élément dedans:
Code: Sélectionner - Agrandir
<!-- BEGIN boucle -->
code
<!-- BEGINELSE -->
code affiché lorsqu’il n’y a pas d’éléments
<!-- END boucle -->

_______________________
Jeapper - Propriétaire de Xooit.com
Nous ne fournissons aucune assistance par messages privés ou courriel.


Last edited by JEAPPER on Sat 17 May 2008 - 15:31; edited 3 times in total
Forum
Author Message
Arlem2


Offline
Guest




PostPosted: Sat 17 May 2008 - 12:15    Post subject: Les variables de templates Reply with quote

Alors là... chapeau bas Smile

J'ai remarqué aussi que pour certaines variables tels que {topicrow.lastpost} (je l'invente je ne me souviens plus le nom) si on la laisse tel quel on ne peut que la laisser dans le template viewforum_body.tpl mais si on la modifie tel que {forumrow.lastpost} à ce moment là elle fonctionnera dans le Index_body.tpl, c'est une règle générale ou un coup de chance que ça marche sur le thème avec lequel j'ai fait ce test ?

En tout cas, merci pour ces indications, ça va beaucoup beaucoup servir... :p


Author Message
JEAPPER
Équipe Xooit.com


Offline
Équipe Xooit.com

Joined: 01 Jan 1970
Posts: 1,206
Point(s): -8,541
Moyenne: -7.08
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin Vierge (24aoû-22sep) 馬 Cheval

PostPosted: Sat 17 May 2008 - 14:32    Post subject: Les variables de templates Reply with quote

La plupart des variables ne peuvent être utilisées que dans un template. Donc on ne peut utiliser que les variables qui sont déjà déclarées dans le template.

Par contre les variables utilisées dans overall_header.tpl et overall_footer.tpl sont utilisables partout.
_______________________
Jeapper - Propriétaire de Xooit.com
Nous ne fournissons aucune assistance par messages privés ou courriel.


Forum
Author Message
Arlem2


Offline
Guest




PostPosted: Sat 17 May 2008 - 14:38    Post subject: Les variables de templates Reply with quote

Quote:
La plupart des variables ne peuvent être utilisées que dans un template. Donc on ne peut utiliser que les variables qui sont déjà déclarées dans le template.


Justement, j'ai remarqué que en modifiant certaines balises du template viewforum_body.tpl on pouvait les faire fonctionner dans l'Index_body.tpl alors qu'elles n'apparaissent pas dans le template à l'origine. (elles peuvent être comprises dans une autre variable par contre je suppose).


Author Message
JEAPPER
Équipe Xooit.com


Offline
Équipe Xooit.com

Joined: 01 Jan 1970
Posts: 1,206
Point(s): -8,541
Moyenne: -7.08
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin Vierge (24aoû-22sep) 馬 Cheval

PostPosted: Sat 17 May 2008 - 14:47    Post subject: Les variables de templates Reply with quote

> elles peuvent être comprises dans une autre variable par contre je suppose

Dans ton exemple, oui, lastpost est dans le bloque « forumrow » ou « topicrow ». Il est effectivement possible que certains variables fonctionnent même si elles n’étaient pas dans le template à l’origine. Dans ce cas c’est parce que la variable que tu as ajouté doit être une variable utilisée dans les templates phpBB3, mais en fait elle affiche la même chose qu’une autre variable présente dans le template (ou plusieurs accolées).
_______________________
Jeapper - Propriétaire de Xooit.com
Nous ne fournissons aucune assistance par messages privés ou courriel.


Forum
Author Message
Arlem2


Offline
Guest




PostPosted: Sat 17 May 2008 - 15:05    Post subject: Les variables de templates Reply with quote

C'est bien ce que je pensais =)
Merci de cet éclaircissement.


Author Message
dimitriuss


Offline
Guest




PostPosted: Sat 28 Feb 2009 - 16:29    Post subject: Les variables de templates Reply with quote

On ne peut pas ajouter des variables [voir ici par exemple]

et/ou pouvoir utiliser des variables dans tous les templates ?

Franchement, ce serait super sympa pour des scripts ou autre et je ne pense pas que ce soit vraiment difficile de les faire "valider" dans les autres templates. Si ?


Author Message
themalin
Membre


Offline
Membre

Joined: 19 Apr 2006
Posts: 8,897
Point(s): 9,101
Moyenne: 1.02
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...)

PostPosted: Sat 28 Feb 2009 - 19:01    Post subject: Les variables de templates Reply with quote

bonjour

attend que xooit accepte ou non ça ne sert à rien de poster ici
_______________________


Forum
Author Message
An0nyme


Offline
Guest




PostPosted: Sun 1 Mar 2009 - 02:53    Post subject: Les variables de templates Reply with quote

En fait ce qui serait super sympa c'est déjà de connaitre toutes les variables et à quels templates elles sont assignées.

Author Message
JEAPPER
Équipe Xooit.com


Offline
Équipe Xooit.com

Joined: 01 Jan 1970
Posts: 1,206
Point(s): -8,541
Moyenne: -7.08
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin Vierge (24aoû-22sep) 馬 Cheval

PostPosted: Sun 1 Mar 2009 - 03:12    Post subject: Les variables de templates Reply with quote

Bonjour,

Ajoute output=xml à la fin des pages pour voir toutes les variables assignées. <base> contient toutes les variables normales. Les autres <…> contiennent les variables des <!-- BEGIN … -->.
_______________________
Jeapper - Propriétaire de Xooit.com
Nous ne fournissons aucune assistance par messages privés ou courriel.


Forum
Author Message
Yskander
Modérateur


Offline
Modérateur

Joined: 26 Jan 2008
Posts: 1,558
Point(s): 1,654
Moyenne: 1.06
Masculin

PostPosted: Sun 1 Mar 2009 - 03:16    Post subject: Les variables de templates Reply with quote

Pardonnes moi Xooit mais

 
Quote:

Ajoute output=xml à la fin des pages



Comment exactement ? par rapport à l'url ?... navré mais bon suis pas un pro dans le domaine ^^
_______________________
Pour les mp injurieux >> Ezéchiel 25 verset 17


Forum
Author Message
An0nyme


Offline
Guest




PostPosted: Sun 1 Mar 2009 - 03:23    Post subject: Les variables de templates Reply with quote

Tu mets à la fin d'une page se finissant par .php :

Code: Sélectionner - Agrandir
?output=xml


Wink

Un grand merci Xooit, ça va être plus facile que fouiller dans les php d'un phpBB3.^^

PS : par contre ça ne nous dit pas à quel template elles sont assignées mais bon ça devrait aller.


Last edited by An0nyme on Sun 1 Mar 2009 - 03:25; edited 1 time in total
Author Message
Yskander
Modérateur


Offline
Modérateur

Joined: 26 Jan 2008
Posts: 1,558
Point(s): 1,654
Moyenne: 1.06
Masculin

PostPosted: Sun 1 Mar 2009 - 03:25    Post subject: Les variables de templates Reply with quote

Merci... j'oubliais le ?

ADIT : Génial Smile
_______________________
Pour les mp injurieux >> Ezéchiel 25 verset 17


Forum
Author Message
JEAPPER
Équipe Xooit.com


Offline
Équipe Xooit.com

Joined: 01 Jan 1970
Posts: 1,206
Point(s): -8,541
Moyenne: -7.08
Mac Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin Vierge (24aoû-22sep) 馬 Cheval

PostPosted: Sun 1 Mar 2009 - 03:50    Post subject: Les variables de templates Reply with quote

> Tu mets à la fin d'une page se finissant par .php

Ça fonctionne aussi avec les pages en .htm Smile (les pages de topics, sous forums, etc).
_______________________
Jeapper - Propriétaire de Xooit.com
Nous ne fournissons aucune assistance par messages privés ou courriel.


Forum
Author Message
Yskander
Modérateur


Offline
Modérateur

Joined: 26 Jan 2008
Posts: 1,558
Point(s): 1,654
Moyenne: 1.06
Masculin

PostPosted: Sun 1 Mar 2009 - 08:07    Post subject: Les variables de templates Reply with quote

Merchi Smile

EDIT : J'ai enfin trouvé le moyen d'afficher le nombre de sujet dans un sous-forum quand on y est Smile... pratique pour mon livre d'or
_______________________
Pour les mp injurieux >> Ezéchiel 25 verset 17


Forum
Author Message
Contenu Sponsorisé





PostPosted: Today at 08:59    Post subject: Les variables de templates

Display posts from previous:   
Reply to topic Page 1 of 3 Goto page: 1, 2, 3  >




Portal | Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Propulsé par p h p B B © 2016 p h p B B Group |
 
© 2003-2013 Xooit.com - Contact - Mentions légales - CGU - Charte - CNIL : 1381401