Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Hello
J'espère que vous allez bien en cette belle matinée, je suis pas encore couché car j'ai un petit problème, je ne parviens pas à inclure un header.phtml & footer.phtml dans /application/views/scripts/index/index.phtml
J'avais pensé qu'il suffisait de placer le header.phtml & footer.phtml dans /application/views/scripts et de les inclure via :
{include file=’../header.phtml’}
...
{include file=’../footer.phtml’}
Erreur obtenue :
Warning: Smarty error: unable to read resource: "’../header.phtml’" in C:\wamp\www\3rdkind\libs\Smarty-2.6.18\libs\Smarty.class.php on line 1095
Qqun a une solution ? Le bon chemin à utiliser ? :p (là, je stagne..)
EDIT : Petite précision : $smarty->template_dir = '../application/views/scripts/';
Dernière modification par dividy (24-01-2008 08:12:30)
Hors ligne
Hum... t'es prêt à te taper la tête contre un mur ?
comme ton template_dir pointe sur script il suffit de faire :
{include file=’header.phtml’}
le {include file=...} part toujours du template_dir et non du répertoire du template courant...
A+, Philippe
Hors ligne
J'ai testé cela mais ça ne semblait pas marcher ... ou étais-je fatigué ptet... ? :p
Merci pour ta réponse en tout cas
Entre temps, j'ai réussi à implémenter cela via Zend_Layout
Hors ligne
Ton avis à toi, Sekaijin, Mr Moox sur Zend_Layout m'intéresserait fortement.
J'ai vu vos noms sur pas mal de forums en cherchant des solutions à mes problèmes avec Zend, Smarty, ...
Hors ligne
par principe je n'utilise jamais les chemins relatifs car on ne sais jamais comment ils sont interprétés
exemple
/a
/b
index.php (include ../c/d/inc.php)
/c
/d
inc.php (include ../e/truc.php)
/e
truc.php
si j'ouvre l'url qui me mène à index.php
je vais avoir une erreur à l'inclusion de truc car /a/e/truc.php n'existe pas
alors que si j'ouvre l'url qui mène à inc.php ça va marcher
j'utilise donc toujours des chemins absolus si je veux des position relative je les calcul à l'aide de __FILE__ et dirname
dirname(dirname(__FILE__)) est le chemin absolu vers ../ du fichier qui contient l'instruction
alors que ../ est un chemin relatif au script principal.
pour les moteur de template il en va de même utilise-t-il comme référence le chemin du script principal ?? du script appelant le moteur ??? du template ??
ce n'est pas toujours la même chose suivant le moteur
alors j'ai pris pour habitude de toujours passer les chemin don j'ai besoin dans les vue (à l'ini du contrôleur en général)
ainsi je fais des chose comme équivalent à (je ne sais plus la syntaxe de smarty
{include file=’{mainTemplateDir}/footer.phtml’}
A+JYT
Hors ligne
Moi j'utilise Zend_Layout sans smarty mais tout comme sekaijin j'utilise toujours des chemins absolus. Pour cela je défini dans mon bootstrap une constante ROOT_DIR qui est en fait le chemin absolu de mon appli.
Hors ligne