Difficulté avec smarty
nomager
Messages postés
31
Statut
Membre
-
someone -
someone -
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.
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:
- Difficulté avec smarty
- Smarty uninstaller - Télécharger - Nettoyage
7 réponses
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:
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
$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");
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
<?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
/**
* 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/';
?>
* 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/';
?>
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:
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)
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)
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.