IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PHPLIB] Problème de blocs


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

  3. #3
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Le parsage dans la foulée avec le paramètre true ne change rien

  4. #4
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    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+

  5. #5
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Ca serait sympa de ta part de donner la réponse complète

  6. #6
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 -->

  7. #7
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    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...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phplib] Affichage avec blocs imbriqués
    Par elcoyotos dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/10/2006, 21h36
  2. [PHPLIB] Template block imbriqué
    Par zulot dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/06/2006, 02h12
  3. problème avec bloc détail de type tabulaire(forms)
    Par med_anis_dk dans le forum Forms
    Réponses: 3
    Dernier message: 01/06/2006, 22h16
  4. [PHPLIB] Problème de blocks
    Par ETI-trian dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 24/12/2005, 19h04
  5. Problème avec Blocs
    Par tinkye_winkye dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 04/01/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo