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] Inclure du php dans un template et reutiliser des variables


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 71
    Points
    71
    Par défaut [Smarty] Inclure du php dans un template et reutiliser des variables
    Bonjour, alors voila mon probleme :
    J'ai une page php qui assign des variable dans un objet smarty, jusqu'a la c'est normal.
    Dans cette template, j'include un fichier tpl auquel je lui passe des variables en argument.
    Dans ce fichier includ, je fais apelle a du php ( avec {php} et {/php} ) et je voudrai me resservir de variables passées en parametres au moment de l'include.

    Je sais pas si c'est tres clair...

    Je suis obliger de faire comme cela, car le fichier inclu me sera necessaire dans beaucoup d'autres page.

    Merci

  2. #2
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par Guillomme Voir le message
    Je sais pas si c'est tres clair...
    euh.... un peu confu

    Je vais essayer de te répondre avec ce que j'ai compris

    quand tu fais un include, c'est comme si le code est collé au tout début.
    Donc tes variables seront réutilisables, à conditions qu'elles ne soient pas privées ou locales à une fonction.

    essaye, mais normalement tu ne devrais pas avoir de problème en faisant attention à ça.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 71
    Points
    71
    Par défaut
    Justement j'y arrive pas.

    Pour etre plus clair je vais mettre un peu de code

    Le fichier PHP, basique apelle la template,
    dans cette template j'ai ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {include file='pagination.tpl' nomtable='test' }
    et dans pagination.tpl j'ai ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {php}
      echo $nomtable;
      exit;
    {/php}
    La variable $nomtable dans le PHP est NULL

    C'est plus clair maintenant ?

  4. #4
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {$nomtable='test' 
    include file='pagination.tpl'}
    théoriquement ça marche.
    En fait tout ce qui sera mis avant ton include sera accessible dans l'include.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 71
    Points
    71
    Par défaut
    Non il en veut pas, j'ai une fatale error

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Smarty error: [in index.tpl line 38]: syntax error: invalid attribute name: '$nomtable' (Smarty_Compiler.class.php, line 1547)

  6. #6
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {php}$nomtable = 'test'; {/php}
    {include file='pagination.tpl'}
    est ce que ça fait la même chose ou pas?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 71
    Points
    71
    Par défaut
    Je n'ai plus l'erreur, mais la variable reste NULL

Discussions similaires

  1. Inclure du PHP dans un wiki
    Par Skarsnick dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2010, 11h17
  2. Inclure du php dans une jsp
    Par Arnich dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 07/04/2009, 20h03
  3. [PHP-JS] Inclure du PHP dans du Javascript (syntax)
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2006, 14h55
  4. inclure du php dans un <td>
    Par pierrot10 dans le forum Langage
    Réponses: 11
    Dernier message: 21/03/2006, 14h44

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