Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > phplib et phpBB
phplib et phpBB Forum d'entraide sur les moteurs de templates phplib et phpBB. Avant de poster -> FAQ gabarits phpBB2, Cours phpBB2 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 31/10/2006, 19h35   #1
Nouveau Membre du Club
 
Avatar de Artusamak
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 30
Points : 30
Par défaut [phplib] Problème de blocs

Bonjour à tous, je me tourne vers vous car j'ai un soucis lors de mon affichage de blocs, mon moteur de templates est PhpLib et lorsque j'affiche ma page, seul ma dernière ligne est affichée en boucle...

Voilà le code source 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
35
36
37
38
39
40
41
42
 
			$template->set_block('demandes_gestion_corps','no_new_ask');
			$template->set_block('demandes_gestion_corps','new_ask');
			$template->set_block('demandes_gestion_corps','old_ask');
 
			while($donnees = mysql_fetch_array($retour))
			{
				$titre_demande = $donnees['titre_demande'];
				$apercu_demande = $donnees['contenu_demande'];
				$nom_demandeur = $donnees['nom_demandeur'];
				$prenom_demandeur = $donnees['prenom_demandeur'];
				$email_demandeur = $donnees['email_demandeur'];
				$date_demande = $donnees['date_demande'];
				$status_reponse = $donnees['status_reponse'];
 
				if($donnees['status_demande'] == 0) // Si la demande n'a pas été lue
				{
					$img_status_demande = '<img src="'.RACINE.'images/demande_non_lue.png" alt="Demande non lue" />';
 
					$template->set_var(array('IMAGE_STATUS_DEMANDE' => $img_status_demande,
								'TITRE_DEMANDE' => $titre_demande,
								'APERCU_DEMANDE' => $apercu_demande,
								'NOM_DEMANDEUR' => $nom_demandeur,
								'PRENOM_DEMANDEUR' => $prenom_demandeur,
								'EMAIL_DEMANDEUR' => $email_demandeur,
								'DATE_DEMANDE' => $date_demande,
								'STATUS_REPONSE' => $status_reponse));
				}
				else
				{
					$img_status_demande = '<img src='.RACINE.'"images/demande_lue.png" alt="Demande lue" />';
 
					$template->set_var(array('IMAGE_STATUS_DEMANDE' => $img_status_demande,
								'TITRE_DEMANDE' => $titre_demande,
								'APERCU_DEMANDE' => $apercu_demande,
								'NOM_DEMANDEUR' => $nom_demandeur,
								'PRENOM_DEMANDEUR' => $prenom_demandeur,
								'EMAIL_DEMANDEUR' => $email_demandeur,
								'DATE_DEMANDE' => $date_demande,
								'STATUS_REPONSE' => $status_reponse));
				}
			}
Et voici le .tpl

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
 
					<!-- BEGIN new_ask -->
					<tr>
						<td>
							{IMAGE_STATUS_DEMANDE}
						</td>
						<td>
							{TITRE_DEMANDE}
						</td>
						<td>
							{APERCU_DEMANDE}
						</td>
						<td>
							{NOM_DEMANDEUR}
						</td>
						<td>
							{PRENOM_DEMANDEUR}
						</td>
						<td>
							{EMAIL_DEMANDEUR}
						</td>
						<td>
							{DATE_DEMANDE}
						</td>
						<td>
							{STATUS_REPONSE}
						</td>
					</tr>
					<!-- END new_ask -->
Affichage produit :

http://artusamak.ath.cx/1.png

Contenu de la table :

http://artusamak.ath.cx/2.png

Merci à vous
Artusamak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 19h54   #2
Membre régulier
 
Avatar de elitemedia
 
Inscription : août 2006
Messages : 115
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : août 2006
Messages : 115
Points : 92
Points : 92
Si tu utilise PHPLib et non la version du forum PHPBB, il manque des choses. Tu dois "dire" au système de template d'ajouter une ligne. Cela se fait avec la fonction parse et un 3ème attribut à true situé lui même à l'interieur de ta boucle while, donc fais un essai avec ca pour la 1ere condition de ton if:

Code :
1
2
3
4
5
6
7
8
9
10
$template->set_var(array('IMAGE_STATUS_DEMANDE' => $img_status_demande,
								'TITRE_DEMANDE' => $titre_demande,
								'APERCU_DEMANDE' => $apercu_demande,
								'NOM_DEMANDEUR' => $nom_demandeur,
								'PRENOM_DEMANDEUR' => $prenom_demandeur,
								'EMAIL_DEMANDEUR' => $email_demandeur,
								'DATE_DEMANDE' => $date_demande,
								'STATUS_REPONSE' => $status_reponse));
 
$template->parse('new_ask','demandes_gestion_corps',true);
je ne suis pas sur de mon code, mais ca doit être quelque chose du genre en tous cas. Sinon il est possible qu'il manque également un 3eme argument dans la déclaration de ton Bloc avec set_block mais a voir (Ca fait longtemps que j'ai pas utilisé ce système de template donc je te dis ca avec de vieux souvenirs)
__________________
Votre nom de domaine dès 1,47€ ?
www.avenuedot.com
elitemedia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 20h59   #3
Nouveau Membre du Club
 
Avatar de Artusamak
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 30
Points : 30
Le parsage dans la foulée avec le paramètre true ne change rien
Artusamak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2006, 11h31   #4
Nouveau Membre du Club
 
Avatar de Artusamak
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 30
Points : 30
Bon ok, j'ai un peu mieux compris comment fonctionnait l'ensemble après lecture dans quelques bouquins.

Merci, le problème est résolu un peu par miracle en changeant des noms de variables...

A+
Artusamak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2006, 11h46   #5
Membre régulier
 
Avatar de elitemedia
 
Inscription : août 2006
Messages : 115
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : août 2006
Messages : 115
Points : 92
Points : 92
Ca serait sympa de ta part de donner la réponse complète
__________________
Votre nom de domaine dès 1,47€ ?
www.avenuedot.com
elitemedia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2006, 14h39   #6
Nouveau Membre du Club
 
Avatar de Artusamak
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 30
Points : 30
Si tu veux, c'est juste que je n'ai pas vraiment isolé le problème donc je vais te copier le bloc qui va bien

Code fichier.php :
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
$template->set_block('demandes_gestion_corps','nouvelles_demandes','var_block');
$template->set_block('demandes_gestion_corps','pas_nouvelles_demandes','var_block2');
 
$numero_demande = 0;
 
while($donnees = mysql_fetch_array($retour))
{
	$id_demande = $donnees['id_demande'];
	$titre_demande = $donnees['titre_demande'];
	$nom_demandeur = $donnees['nom_demandeur'];
	$prenom_demandeur = $donnees['prenom_demandeur'];
	$email_demandeur = $donnees['email_demandeur'];
	$date_demande = $donnees['date_demande'];
	$status_reponse = $donnees['status_reponse'];
	$apercu_demande = $donnees['contenu_demande'];
	$img_reponse = '<img src="'.RACINE.'images/demande_repondue.png" alt="Demande non répondue" />';				
 
	$img_status_demande = '<img src="'.RACINE.'images/demande_non_lue.png" alt="Demande non lue" />';
 
	$template->set_var(array('APERCU_DEMANDE' => $apercu_demande,
					'DATE_DEMANDE' => $date_demande,
					'EMAIL_DEMANDEUR' => $email_demandeur,
					'ID_DEMANDE' => $id_demande,
					'IMAGE_STATUS_DEMANDE' => $img_status_demande,
					'NOM_DEMANDEUR' => $nom_demandeur,
					'PRENOM_DEMANDEUR' => $prenom_demandeur,
					'STATUS_REPONSE' => $img_reponse,
					'STYLE_LIGNE' => $style,
					'TITRE_DEMANDE' => $titre_demande));
 
	$template->parse('var_block','nouvelles_demandes',TRUE);
}

Et pour le fichier.tpl

Code fichier.tpl :
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
<!-- BEGIN nouvelles_demandes -->
	<tr class="{STYLE_LIGNE}">
		<td>
			<a href="{RACINE}gestion/lire_demande.php?id_demande={ID_DEMANDE}">{IMAGE_STATUS_DEMANDE}</a>
		</td>
		<td>
			{TITRE_DEMANDE}
		</td>
		<td>
			{APERCU_DEMANDE}
		</td>
		<td>
			{NOM_DEMANDEUR}
		</td>
		<td>
			{PRENOM_DEMANDEUR}
		</td>
		<td>
			{EMAIL_DEMANDEUR}
		</td>
		<td>
			{DATE_DEMANDE}
		</td>
		<td>
			{STATUS_REPONSE}
		</td>
	</tr>
<!-- END nouvelles_demandes -->
Artusamak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2006, 14h49   #7
Membre régulier
 
Avatar de elitemedia
 
Inscription : août 2006
Messages : 115
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : août 2006
Messages : 115
Points : 92
Points : 92
Il me semblait bien qu'il y avait des histoires de 3ème paramètre manquant dans ton set_block ainsi qu'un 3ème paramètre à mettre à "true" dans le parse...
__________________
Votre nom de domaine dès 1,47€ ?
www.avenuedot.com
elitemedia 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 22h57.


 
 
 
 
Partenaires

Hébergement Web