Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis un novice avec le zend framework. Je bosse sur un projet depuis quelque temps. Mais je rencontre un problème récurrent depuis mes début. Il s'agit du fait que mon feuille de site css n'a aucun effet sur mon application alors que j'ai suivi toutes les étapes pour sa mise en oeuvre.
Voici là où je l'appele dans mon layout.phtml :
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $this->baseUrl();?>/public/css/site.css" />
et voici comment j'ai configuré mon bootstrap :
// Initialisation de Zend_Layout Zend_Layout::startMvc(array('layoutPath' => './application/layouts'));
et voici enfin ce qu'il y a dans mon .htaccess :
# Régles de réécriture pour Zend Framework RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !\.(js|ico|gif|jpg|css|htm|jpeg|jgz|swf)$ index.php # Sécurité : Ne pas autoriser le parcours de répertoires Options -Indexes # Configuration PHP php_flag magic_quotes_gpc off php_flag register_globals off php_flag short_open_tag on
Quelqu'un pourrait-il m'aider svp? Merci d'avance.
Dernière modification par omzo (06-06-2009 14:53:54)
Hors ligne
Pour tester, le plus simple, c'est de taper l'url de ton css (que tu prends dans la source de ton html) dans ta barre d'adresse de ton navigateur. Si le code css s'afficher, c'est ton code qui ne fonctionne pas. Sinon, regarde le message d'erreur et les logs de ton serveur web
Hors ligne
Bonjour nORKy,
Tout d'abord, merci pour ta réponse.
voici l'url de mon fichier css que j'ai trouvé dans mon css : /GESAF-SF/public/css/site.css. Quand je te tape dans la barre d'adresse de mon navigateur, elle ne donne rien.
En plus voici ce que retourne ma fonction baseUrl() : /GESAF-SF.
Cependant quand je tape l'url complétement dans la barre d'adresse comme ça : http://localhost:82/GESAF-SF/public/css/site.css. Cela m'affiche la feuille de style.
As-tu une idée?
Dernière modification par omzo (23-05-2009 12:22:54)
Hors ligne
Normalement, tu devrais appeler Zend_Controller_Front::getInstance()->getBaseUrl() pour obtenir ton chemin de base (a moins que tu n'ais une aide de vue BaseUrl pour ça).
Je te conseille d'utiliser l'aide de vue HeadLink. Comme ça tu es sur de ta syntaxe et tu peux ajouter une feuille de style à n'importe quel endroit de tes scripts de vue.
Sinon, mais ça m'étonnerait, c'est peut-être parce que ton serveur Web tourne sur le port 82.
Hors ligne
Un lien qui commence par / utilise toujours l'adresse complete (donc le port avec), donc, a priori, ce n'est pas le problème.
Ta feuille doit pointer sur /GESAF-SF/public/css/site.css ou http://localhost:82/GESAF-SF/public/css/site.css, c'est pareil
Si ta feuille de style s'affiche, alors, je ne vois qu'un bug dans ta feuille de style
Hors ligne
Perso je fais comme ça :
class bootstrap
function _initViewHelpers()
{
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->doctype('XHTML1_STRICT');
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
$view->headTitle()->setSeparator(' - ');
$view->headTitle('Zend Framework Tutorial');
}
layout.phtml
<head> ...
<?php echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/main.css'); ?>
Helper BaseUrl.php
class Zend_View_Helper_BaseUrl
{
function baseUrl()
{
$fc = Zend_Controller_Front::getInstance();
return $fc->getBaseUrl();
}
}
Vérifie ton fichier .css en ne laissant qu'une seule ligne simple pour t'assurer de sa validité.
Hors ligne
Bonjour les amis. Merci pour vos réponses qui sont très instructives.
J'ai enfin trouvé la réponse à ma question c'est que j'ai copié mon fichier .htaccess dans le dossier public et du coup quand je l'ai supprimé tout est redevenu normal et le fichier fonctionnait correctement. Je signale que j'ai déjà le fichier le même fichier .htaccess dans le répertoire racine de mon site où il y avait aussi le fichier bootstrap.
Merci de m'avoir aidé.
Hors ligne
Pages: 1