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 :

[Smarty] Affichage multiple d'un template


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Points : 19
    Points
    19
    Par défaut [Smarty] Affichage multiple d'un template
    Bonjour, bonsoir,

    Je butte sur un probleme d'affichage d'un smarty.
    Une de mes classes contient une méthode qui se sert de smarty pour l'affichage. Ayant plusieurs instances de cette classe, je désire, sur mes pages, afficher autant de fois ce template que d'objets instanciés. Jusque là c'est logique.

    La méthode remplie son office, le template fonctionne (vive l'attribut debugging de Smarty). Tout fonctionne oui, mais une seule fois seulement... :'(

    Je n'ai pour l'instant que deux de ces objets instanciés, j'en aurai plus par la suite. Après l'affichage du premier template, le deuxième n'apparait pas, même pas dans la console de debogage de smarty...

    Voilà quelques partie des scripts:

    Extrait de la classe:
    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
     
    <?php
     
    class newsMenu{
      protected $Name;
    	function margeMenu($text){
    		$Marge=array();		
    		$req="SELECT id,about,titre,auteur,DATE_FORMAT(Date,'%d/%m/%Y') Date  FROM tablenews WHERE TIMESTAMPDIFF(MONTH,Date,NOW())<=1";
    		$exec=$this->Connect->query($req,$this->fetchMode);
     
    		$Marge=$exec->fetchAll();
    		if(count($Marge)){
    		  $smarty=$this->setSmarty();
    		  $smarty->assign('titre',$text);
    		  $smarty->assign('Menu',$Marge);
    		  $smarty->assign('name',$this->Name);
    	          $smarty->display('margemenu.tpl');		
    		}
    	}
    }
     
    ?>
    voilà le template margemenu.tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div class="margeitem">
    		<h1>{$titre}</h1>
    		<ul class="list">
    {foreach from=$Menu item=Line}
    	  	<li><a href="{$name}-{$Line.id}" title="par {$Line.auteur} le {$Line.Date}"><span class='about'>{$Line.about}:</span> {$Line.titre}</a></li>
    {/foreach}			
    			<li class="mini"><a href="news">{$name}</a></li>			
    		</ul>
    </div>
    et pour finir, l'appel de la methode pour mes deux objets stockés dans un tableau.
    1ere tentative:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    foreach($tab_obj as $key=>$obj){
     $obj->margeMenu('objet'.$key);
    }
    Deuxieme tentative, manuelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tab_obj[1]->margeMenu('objet1');
    $tab_obj[2]->margeMenu('objet2');

    Dans les deux cas, seul le premier objet s'affiche.

    Je pense qu'il s'agit d'une histoire de fichier de compilation mais la doc est plutot floue à ce sujet. Si quelqu'un pouvait m'enlver cette epine du pied, je lui en serai très reconnaissant. Bien maigre salaire mais enoooorme gratitude.

    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Décidement... -__-
    Oui non laissez tomber, je ne vous dirait même pas d'où venait l'erreur tant je me sens... honteux

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

Discussions similaires

  1. [Smarty] Problème d'affichage Foreach dans un template sous Smarty
    Par NicoWeb01 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 19/10/2011, 11h53
  2. [Smarty] Affichage conditionnel de templates avec Smarty
    Par aztec dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/03/2008, 10h27
  3. affichage multiple à travers texbox
    Par maxeur dans le forum IHM
    Réponses: 1
    Dernier message: 26/01/2007, 17h17
  4. [Smarty] Affichage page par page
    Par hush dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/10/2006, 00h47
  5. [Tableaux] Affichage multiple 0_o
    Par oceane751 dans le forum Langage
    Réponses: 4
    Dernier message: 25/04/2006, 22h19

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