Difficulté avec smarty

Fermé
nomager Messages postés 26 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 18 décembre 2010 - 8 juil. 2009 à 23:11
 someone - 22 avril 2011 à 11:43
Bonjour,
mon serveur n'arruve pas à lire les fichiers suivants:

fichier:smarty.php

<?php

define("SMARTY_DIR", '/var/www/html/libs');
// Inclure la librairie smarty
require_once(SMARTY_DIR . 'Smarty.class.php');

// Instancier notre objet smarty
$oSmarty = new Smarty();

// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
$oSmarty->assign('hello_world', 'Bonjour le monde');

// Provoque le rendu du template
$oSmarty->display('smarty.tpl');
?>

fichier smarty.tpl

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title>Test smarty</title>
</head>
<body>
<h1>Test smarty</h1>
<!-- ici j'injecte la donnée qui vient de mon script PHP "{$hello_world}" -->
<h2 color="red">{$hello_world}</h2>
</body>
</html>


aucun script ne s'affiche, le serveur affiche une page blance, pourtant j'ai faitla config necessaire dans php.ini
de l'aide s'il vous plait.
A voir également:

7 réponses

CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
9 juil. 2009 à 09:10
Je ne sais pas si je vais t'être d'une grande aide, car je débute avec Smarty, mais après avoir défini ta variable $oSmarty, il te manque les lignes pour les 4 dossiers suivants:

$smarty->template_dir = 'templates/';
$smarty->compile_dir = 'templates_c/';
$smarty->config_dir = 'configs/';
$smarty->cache_dir = 'cache/';


Et sinon, je ne sais pas si Smarty est capricieux avec ça, mais je te conseille de mettre les valeurs des assign entre double quotes

$oSmarty->assign("hello_world", "Bonjour le monde"); 

0
nomager Messages postés 26 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 18 décembre 2010
9 juil. 2009 à 10:46
salut crow, les quotes n'ont rien n'avoir avec smarty, j'ai rajoutés ce que tu m'as donnés mais sans succes:

<?php

define("SMARTY_DIR", '/var/www/html/libs');
// Inclure la librairie smarty
require_once(SMARTY_DIR . 'Smarty.class.php');

// Instancier notre objet smarty
$oSmarty = new Smarty();

// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
$oSmarty->assign('hello_world', 'Bonjour le monde');

// Provoque le rendu du template
$oSmarty->display('smarty.tpl');

$smarty->template_dir = 'templates/';
$smarty->compile_dir = 'templates_c/';
$smarty->config_dir = 'configs/';
$smarty->cache_dir = 'cache/';
?>

tu utilises linux? s'il te plait essaie de me donner ta config smarty.
Merrci
0
/**
* modify like this
*
*/

<?php

define("SMARTY_DIR", '/var/www/html/libs');
// Inclure la librairie smarty
require_once(SMARTY_DIR . 'Smarty.class.php');

// Instancier notre objet smarty
$oSmarty = new Smarty();

// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
$oSmarty->assign('hello_world', 'Bonjour le monde');

// Provoque le rendu du template
$oSmarty->display('smarty.tpl');

$oSmarty->template_dir = 'templates/';
$oSmarty->compile_dir = 'templates_c/';
$oSmarty->config_dir = 'configs/';
$oSmarty->cache_dir = 'cache/';
?>
0
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
9 juil. 2009 à 10:51
Pour les quatres lignes, les dossiers doivent être créé dans le dossier où tu as tes fichiers php. De même les templates se trouve dans le dossier templates.

Ensuite, elles se mettent sous l'instance.

Exemple:

$oSmarty=new Smarty();

$smarty->template_dir = 'templates/';
$smarty->compile_dir = 'templates_c/';
$smarty->config_dir = 'configs/';
$smarty->cache_dir = 'cache/';


Edit: pour la config, je suis désolé, mais te répondre va être dur, je ne suis qu'un simple stagiaire, donc je ne connais pas ces infos... (La seule info que j'ai c'est la version 2.6.18)
0
nomager Messages postés 26 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 18 décembre 2010
9 juil. 2009 à 20:59
salut crow!
je vais t'expliquer pas à pas comment j'ai procedé à l'installation sur mon pc:

j'ai crée deux repertoires dans la racine de mon serveur: templates et templates_c dans /var/www/html

j'ai placé le repertoires libs de smarty dans /usr/local, donc dans le repertoire local

j'ai edité le fichier php.ini comme cela: include_path=".:/usr/local/libs"

a chaque fichier php je dois ajouter ceci: require('/usr/local/libs/Smarty.class.php');

et j'ai meme teste le fonctionnement en modifiant le fichier index.php contenu dans demo, en tapant :

http://localhost/demo/index.php j'ai bien la fenetre pop-ups de smarty.

Alors je n'arrive pas à comprendre ce qui ne va pas.
Je dois demarrer un grand projet qui va durer au minimum quatre mois

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
10 juil. 2009 à 09:03
Je suis désolé, je vois pas trop d'où ça pourrait venir, je suis pas vraiment au courant de l'installation de Smarty... C'est mon maître de stage qui l'a fait.
Je te donne ce lien au cas où tu aurais utilisé un autre site pour installer Smarty, car il est assez bien fourni: https://www.smarty.net/docsv2/fr/installing.smarty.basic

La seule chose qui me vienne à l'esprit, c'est les droits d'écriture, vérifie bien que PHP/Smarty dispose des droits nécessaires pour les dossiers concernés. C'est le seul problème qu'on a eu après l'installation.
0
nomager Messages postés 26 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 18 décembre 2010
10 juil. 2009 à 10:46
merci pour ton lien, je vais tout ressayer pour voir ce que ça va donner.
merci
0
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
10 juil. 2009 à 10:54
Tiens nous au courant, et si ça marche, pense à mettre le sujet en résolu ;)
0