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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    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 confirmé
    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
    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 confirmé Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Par défaut
    Le parsage dans la foulée avec le paramètre true ne change rien

  4. #4
    Membre confirmé Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    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 confirmé
    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
    Par défaut
    Ca serait sympa de ta part de donner la réponse complète

  6. #6
    Membre confirmé Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    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 -->

+ 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, 20h36
  2. [PHPLIB] Template block imbriqué
    Par zulot dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/06/2006, 01h12
  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, 21h16
  4. [PHPLIB] Problème de blocks
    Par ETI-trian dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 24/12/2005, 18h04
  5. Problème avec Blocs
    Par tinkye_winkye dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 04/01/2005, 10h37

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