Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je débute avec le Zend Framework et ce n'est franchement pas évident pour le novice que je suis, plus habitué à coder "à l'ancienne";
Bref, mon problème est le suivant :
Dans mes fichiers template, je lie mes feuilles CSS de la sorte :
<link href="css/styles.css" rel="stylesheet" type="text/css" />
Lorsque j'appelle une page sans spécifier l'action (par ex : localhost/v2/www/index) celles ci fonctionnent bien. Par contre, dès que j'indique l'action (localhost/v2/www/index/display), elles semblent ne plus êtres liées, il en est de même pour les images :-(
Sans doute y'a-t-il un problème au niveau de la réécriture de l'URL. Dans mon boot :
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
$controller = Zend_Controller_Front::getInstance();
$router = new Zend_Controller_Router_Rewrite();
$controller->setBaseUrl("/www/v2/");
$controller->setControllerDirectory('../app/ctrls');
$controller->throwExceptions(true);
Mon arbo :
app
|--ctrls
|--mods
|--views
lib
|--zend
www
|--css
|--img
|--js
|--index.php (bootstrap)
Merci à vous si vous essayez de m'aider !
Polo
Hors ligne
Salut,
En fait il s'agit d'un simple problème d'URL dû au lien relatif "css/styles.css".
Lorsque tu te rends sur la page "http://localhost/v2/www/index", Apache va aller chercher ton styles.css ici "http://localhost/v2/www/css/styles.css".
Par contre, lorsque tu vas sur "http://localhost/v2/www/index/display", il va aller chercher ta feuille de style CSS ici "http://localhost/v2/www/index/css/styles.css".
Utilises donc un lien absolu pour appeler ton styles.css :
<link href="[[$this->getBaseUrl]]/css/styles.css" rel="stylesheet" type="text/css" />
PS : si tu veux aller "plus loin", tu peux également utiliser le View Helper HeadStyle
Dernière modification par acharrex (21-07-2009 17:33:55)
Hors ligne
Merci !
Je suis presque bien.
Dois-je procéder de la même façon pour mes insertions d'images dans mes fichiers de vues et templates ?
<img src="[[$this->getBaseUrl]]img/une/vignette.jpg">
Hors ligne
Oui tout à fait
Hors ligne
Excusez moi si cela a déjà été traité.
J'ai trouvé une solution plus simple que je conseille aux débutants qui ne veulent commencer à jouer avec les Helpers ou autre BaseUrl
Se créer un Virtual Host (je pars de loin, oui, dsl). Il y a un tuto facile ici : http://wiip.fr/content/une-application-mvc-minimale
Ainsi on peut utiliser des liens "absolus" -> "/css/styles.css" pour les CSS, IMG, ect..
Merci de m'avoir répondu ;-)
Hors ligne
La balise html <base> est tout de même beaucoup plus facile à mettre en place... Et même plus maintenable/évolutive en cas de changement de l'adresse de l'appli !
Hors ligne
Mr.MoOx a écrit:
La balise html <base> est tout de même beaucoup plus facile à mettre en place... Et même plus maintenable/évolutive en cas de changement de l'adresse de l'appli !
D'accord !
Merci de ton conseil, je vais aller étudier cela.
Bonne soirée
Hors ligne