Précédent   Forum des professionnels en informatique > PHP > Scripts > Forum > phpBB
phpBB Avant de poster -> Cours phpBB, FAQ phpBB et Sources phpBB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2006, 10h38   #1
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
Par défaut [phpBB][template] affichage conditionnel

Bonjour

J'utilise le moteur de template de phpBB et je me demandais s'il existait un moyen de gérer une forme d'affichage conditionnel ...

Pour l'instant je joue avec la propriété de style="visibility={afficheBlock}" en settant afficheBlock à visible ou hidden ...

J'ai parcourus le code de mon template.php et je n'ai rien trouvé qui y fasse allusion mais peut être existe un extension officielle ou perso qui permette cette fonctionnalité qui est qd m tres utile ...

Merci pour vos réponses, codes ou pistes...
__________________
Take it HiSy
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 13h22   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Dans ton code HTML (template) tu utilises un bloc :
Code :
1
2
3
4
 
<!-- BEGIN mon_bloc -->
Le code HTML ici
<!-- END mon_bloc -->
Et pour le code PHP de mémoire :
Code :
1
2
3
4
5
6
 
// ...
if (ma_condition) {
    $tpl->assign_block_vars('mon_bloc', array()); // $tpl représente le template
}
// ...

Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 14h04   #3
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
Bon sang mais c biensûr !!!

Merci bcp !!!
__________________
Take it HiSy
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2008, 15h37   #4
Membre du Club
 
Inscription : septembre 2003
Messages : 183
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 183
Points : 46
Points : 46
Bonjour, je sais que ca fait un bail, mais j'aurai voulu avoir une précision.

Est-il possible de faire des block imbriqué ?

exemple :
<!-- BEGIN bloc1 -->
<h1> TOTO {bloc1.id}</h1>
<!-- BEGIN bloc2 -->
{bloc1.bloc2.variable}
<!-- END bloc2 -->
<!-- END bloc1 -->

TOTO 1
var1
var2
TATA
var1
var2
zerros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2010, 20h31   #5
Membre du Club
 
Inscription : décembre 2008
Messages : 108
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 108
Points : 69
Points : 69
Pour ceux qui tomberons sur ce post et qui cherchent comme je l'ai fait, cette réponse à la question de zerros peut vous être pratique.

La réponse est: oui il est possible de faire des blocs imbriqué qui s'affichent de manière conditionnelle avec phpBB. Voici comment je fais personnellement, illustré par un exemple de base :

PHP:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
  include('phpbb.php'); //n'oubliez pas de télécharger le fichier de phpBB!
 
  //création d'une nouvelle instance de la classe Template
  $template = new Template('./');
 
  //modèles à utiliser
  $template->set_filenames(array(
		'page1' => 'page.tpl',
  ));
 
	$condition = true;
 
	if($condition) {
		//Cette ligne a pour affet d'afifche le bloc « bOui »
		$template->assign_block_vars('bOui', array());
 
		//affiche 5 fois le bloc bCompte (boucle)
		for ($i = 1; $i <= 5; $i++) {
			$cube = $i * $i;
			$template->assign_block_vars('bOui.bCompte', array(
				'vNombre' => $i,
				'vCube' => $cube,
			));
		}
	}
	else {
		//Cette ligne a pour affet d'afifche le bloc « bNon »
		$template->assign_block_vars('bNon', array());
	}
 
  //affichage de la page
  $template->pparse('page1');
?>
Le fichier .tpl
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<!-- BEGIN bOui -->
<p>[condition est égal à true] Voici une liste avec un décompte allant de 1 à 5:</p>
<ul>
   <!-- BEGIN bCompte -->
   <li>Nombre : <strong>{bOui.bCompte.vNombre}</strong>; Cube: <strong>{bOui.bCompte.vCube}</strong>.</li>
   <!-- END bCompte -->
</ul>
<!-- END bOui -->
 
<!-- BEGIN bNon -->
<p>[condition est égal à false] Seul ce paragraphe est affiché</p>
<!-- END bNon -->
Le code XHTML résultant sera:
Code :
1
2
3
4
5
6
7
8
<p>[condition est égal à true] Voici une liste avec un décompte allant de 1 à 5:</p>
<ul>
   <li>Nombre : <strong>1</strong>; Cube: <strong>1</strong>.</li>
   <li>Nombre : <strong>2</strong>; Cube: <strong>4</strong>.</li>
   <li>Nombre : <strong>3</strong>; Cube: <strong>9</strong>.</li>
   <li>Nombre : <strong>4</strong>; Cube: <strong>16</strong>.</li>
   <li>Nombre : <strong>5</strong>; Cube: <strong>25</strong>.</li>
</ul>
grafik.muzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h05.


 
 
 
 
Partenaires

Hébergement Web