Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2006, 11h39   #1
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Par défaut Faire un include

Bonjour,

Je débute avec l'utilisation de Smarty. J'ai le problème suivant:
J'ai un site avec des cadres sur la partie gauche et dans chaque cadre je dois inclure un fichier php par exemple login.php pour le cadre ou l'on pourra se logger. Mais je ne peux pas utiliser la balise { include file='login.php' } est-ce que qqun sait comment faire?
Bien entendu je ne veux pas faire de la manière suivante: <?php include 'login.php'; ?>

Merci d'avance.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2006, 12h30   #2
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Ca dépend de la configuration de smarty mais essaye... .. .

Code :
1
2
3
4
 
{php}
include('login.php');
{/php}
@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2006, 12h50   #3
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
essaie la fonction include_php
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2006, 13h00   #4
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Ok je vais essayer merci.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 14h17   #5
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Merci, c'est ce qu'il me fallait!
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 14h23   #6
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
La sulution complémentaire, si on veut pouvoir inclure des formats divers et variés, c'est de créer un plugin qui reprenne simplement le include() de PHP :

function.inclure.php (à placer dans le répertoire plugin de PHP)
Code :
1
2
3
4
5
6
<?php
	function smarty_function_inclure ($param) {
		extract($param);
		include $page;
	}
?>
qui s'utilise comme suit dans le template :

Code :
{inclure page=$Contenu}
$Contenu contient ici le path vers le fichier à inclure

PS : je suis pas sur que ce soit très propre, mais ça marche :p
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 15h24   #7
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
Solution complémentaire, qui permet une exécution du PHP dans le contexte du script principal (donnée par la doc PHP, mais faut fouiller) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$string = get_include_contents('somefile.php');
 
function get_include_contents($filename) {
  if (is_file($filename)) {
   ob_start();
   include $filename;
   $contents = ob_get_contents();
   ob_end_clean();
   return $contents;
  }
  return false;
}
 
?>
(http://fr3.php.net/manual/fr/function.include.php)

il ne reste plus qu'à faire un assign de $string à notre template, et à l'afficher à l'endroit voulu
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h31   #8
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Le code modifié pour éviter des bug si la bufferisation était déja activé... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h13.


 
 
 
 
Partenaires

Hébergement Web