2010-08-12 8 views
0

Je suis nouveau à Zend Framework, en essayant de config projet sur mon local pour d'autres changements. J'ai installé et configuré Zend Framework avec succès. Mais CSS ne fonctionne pas. Quelqu'un pourrait-t'il m'aider s'il vous plaît?CSS ne fonctionne pas

+0

externe ou tout css? – Orbit

+0

@Brandon désolé juste externe – bee

+0

Je ne vois aucune raison pour laquelle le CSS ne se charge pas en dehors des problèmes de cheminement. Utilisez-vous un chemin direct pour accéder au fichier? (/ chemin opposé au chemin) PHP getcwd() peut vous aider ici. – Orbit

Répondre

1

Ah! Je suis son travail Nous devons changer Chemin local Accueil répertoire C: \ Inetpub \ wwwroot \ projet \ public et j'utilisais juste C: \ Inetpub \ wwwroot \ thats pourquoi css ne fonctionnait pas

Merci à tout pour vos réponses et commentaires

0

essentiellement, dans 'YourProject/application/mise en page/layout.phtml, placez la ligne suivante dans la section de la tête de votre code html:

<?php $this->headLink()->appendStylesheet('/css/style.css') ?> 

maintenant Zend recherchera le fichier « YourProject/public/css/style.css '

+0

ne fonctionne toujours pas – bee

+0

et avec quelque chose comme http: // your.site.com/css/style.css (si your.site.com pointe vers le dossier public de votre projet ...) – IcanDivideBy0

2

Une question vague. Si votre application fonctionne correctement sous http://domain.com/, mais CSS et d'autres externes ne fonctionnent pas sous http://domain.com/project/, c'est probablement un problème avec vos chemins de ressources externes. Essayez-vous de charger les ressources avec un chemin qualifié complet (commence par un '/'), ou un chemin relatif (non '/' au début)?

Les chemins d'accès complets, tels que '/css/style.css', ne fonctionneront pas comme prévu si l'application se déplace, par exemple de http://domain.com/ à http://localhost/project/public/. C'est parce que le navigateur cherchera toujours la ressource à la racine du site - http://domain.com/css/style.css et http://localhost/css/style.css dans notre exemple. Les chemins d'accès relatifs, tels que 'css/style.css', fonctionnent comme prévu sous les deux URL, mais peuvent ne pas fonctionner correctement lorsque vous commencez à ajouter d'autres chemins virtuels à l'URL. Pour continuer l'exemple, une URL relative amènera le navigateur à rechercher http://domain.com/css/style.css et http://localhost/project/public/css/style.css. La mise en garde est que la page à http://localhost/project/public/controller/action va générer des URL de ressources relatives comme http://localhost/project/public/controller/action/css/style.css, ce qui ne fonctionnera pas. Pour charger des ressources externes dans les deux cas, utilisez une balise BASE dans votre mise en page et utilisez des URL relatives pour les ressources externes. J'ai tendance à utiliser ce qui suit:

<head> 
    <base href="<?php echo $this->serverUrl($this->baseUrl()); ?>/"> 
</head> 

La balise BASE oblige le préfixe spécifié à toutes les URL relatives, qui fera la page à http://localhost/project/public/controller/action générer des URL relatives comme http://localhost/project/public/css/style.css.

Espérons que cela a du sens, mais la version courte est d'essayer d'utiliser un tag BASE si votre application doit s'exécuter dans un emplacement arbitraire.

0

Vous n'avez pas besoin de configurer la balise de base.
utiliser simplement le baseUrl()-view helper chaque fois que vous établissez un lien vers des ressources externes comme ceci:

<?php $this->headLink()->appendStylesheet($this->baseUrl('/css/style.css')) ?>