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] Passage d'un tableau de php à tpl


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut [Smarty] Passage d'un tableau de php à tpl
    Bonsoir à tous, je suis en plein developpement d'application. Alors dans mon appli je voudrais construire un menu en fonction du code (mot de passe et login) de chaque utilisateur. Ce menu est fait à partir de deux tables. Je vous donne tout mon code. Je vous en prie aider moi.

    Fichier 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
    43
    44
    <?php
     
    	require_once('class/MyDb.lib.php');
    	require_once('config.inc.php');
    	$connexion = new MyDb();
    	require 'smarty/Smarty.class.php';
     
    	$smarty = new Smarty;
    		$smarty->compile_check = true;
    	$smarty->debugging = false;
     
    	$req_menu ='SELECT id_profil,lib_menup,dir_menup ';
    	$req_menu .='FROM Tb_profuser ';
    	$req_menu .='WHERE code_user="'.$_SESSION['login'].'"';
    	$val_menu = $connexion->querySingleItemObject($req_menu);
    	$menu =array();
     
    	While ($profuser=mysql_fetch_array($val_menu)){
    		$menu_pr =array();
    		$menu_pr['id_profil']=$profuser['id_profil'];
    		$menu_pr['lib_menup']=$profuser['lib_menup'];
    		$menu_pr['dir_menup']=$profuser['dir_menup'];	
     
    		$req_smenu = 'SELECT id_detpro,lib_smenu,dir_smenu  ';
    		$req_smenu .= 'FROM Tb_detprof ';
    		$req_smenu .= 'WHERE id_profil ="'.$profuser['id_profil'].'"';
    		$s_menu =array();
    		$val_smenu = $connexion->querySingleItemObject($req_smenu);
     
    		While($detprof=mysql_fetch_array($val_smenu)){
    			$menu_op =array();
    			$menu_op['id_detpro']=$detprof['id_detpro'];
    			$menu_op['lib_smenu']=$detprof['lib_smenu'];
    			$menu_op['dir_smenu']=$detprof['dir_smenu'];
    			array_push($s_menu,$menu_op);
    		}
    		$menu_pr['menu_app']=$s_menu;
    		array_push($menu,$menu_pr);
     
    	}
    	$smarty->assign("menu",$menu);
    	$smarty->display('smenuconfig.tpl');
     
    ?>
    Mes deux requêtes ont été testé, et tout marche bien à ce niveau.


    Fichier tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <ul class="sous_navigation">
     
    	{foreach from=$menu item=menu_pr}			
    		<li class="polices_et_couleurs <{$login_enabled}>"><a href="{$menu_pr.dir_menup}">{$menu_pr.lib_menup}</a></li>
     
    		{foreach from=$menu_pr.menu item=menu_op}		
    			<ul><li class="polices_et_couleurs <{$groupe_enabled}>"><a href="{$menu_op.dir_smenu}">{$menu_op.lib_smenu}</a></li></ul>
     
    		{/foreach}		
    	{/foreach}
    </ul>
    Lorsque j'execute, je n'ai aucune données.

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    As tu essaye de faire un var_dump avant l'envoi au tpl pour vérifier les datas ?

    Tu peux aussi utiliser l'instruction {debug} au sein du template, pour voir le contenu des variables recues

    Je vois pas bien ou tu initialise la varibale $menu[0]['menu'] ?

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par FCYPBA Voir le message
    As tu essaye de faire un var_dump avant l'envoi au tpl pour vérifier les datas ?

    Tu peux aussi utiliser l'instruction {debug} au sein du template, pour voir le contenu des variables recues

    Je vois pas bien ou tu initialise la varibale $menu[0]['menu'] ?
    Merci de votre réaction, je verifie. Mais je dois vous avouer que je ne l'ai pas utilisé {debug} au sein du template.

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Je consulte la doc pour voir comment ca se passe

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par FCYPBA Voir le message
    As tu essaye de faire un var_dump avant l'envoi au tpl pour vérifier les datas ?

    Tu peux aussi utiliser l'instruction {debug} au sein du template, pour voir le contenu des variables recues

    Je vois pas bien ou tu initialise la varibale $menu[0]['menu'] ?
    Bonsoir à tous,

    Je l'ai fait et j'ai ce message:

    assigned config file variables (outer template scope)
    {#files#} Array (0)
    {#vars#} Array (0)

    Je vous en prie, quelqu'un peut m'aider ? Merci pour toutes vos contributions

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par FCYPBA Voir le message
    As tu essaye de faire un var_dump avant l'envoi au tpl pour vérifier les datas ?

    Tu peux aussi utiliser l'instruction {debug} au sein du template, pour voir le contenu des variables recues

    Je vois pas bien ou tu initialise la varibale $menu[0]['menu'] ?
    Au niveau de "assigned template variables" je n'ai pas la variable qui doit avoir les valeurs de mon tableau. Alors je pense que je ne transmet pas mon tableau au smarty.

    Mais célà suscite en moi une autre question. Que devrais taper comme instructions si un smarty doit transmettre ces valeurs à un autre. Pour resumer: j'ai la page d'accueil en tpl (j'ai aussi le fichier php pour afficher la session connecté), de même que le menu en tpl (en onglet pour afficher dans un onglet l'accueil et dans l'autre onglet le détail du menu. Et le détail du menu est en tpl) ?

    J'espère que j'ai été assez clair pour vous permettre de m'aider.

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Merci, et dans ce site www.smarty.net/ que j'ai trouvé la response à mes question.

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

Discussions similaires

  1. Passage d'un tableau php dans une fonction javascript
    Par mcdelay dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/09/2013, 17h25
  2. header() et php : passage d'un tableau
    Par Mil17 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/06/2008, 18h00
  3. [Smarty] Passage de variable Smarty => PHP
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 14/06/2007, 11h51
  4. Réponses: 1
    Dernier message: 28/02/2006, 17h58

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