Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-01-2008 19:24:03

Lio
Membre
Date d'inscription: 21-01-2008
Messages: 41

CSS & ZF

Bonjour.

Je suis nouveau dans l'utilisation de ce framework donc vous pouvez être sûr que je vais vous solliciter souvent. Par conséquent, j'espère que vous êtes patient * pas taper *

Un de mes problèmes actuels est le suivant [ et sûrement très simple à vos yeux ] :
Je souhaite intégrer une feuille de style au site que je développe. J'ai l'architecture suivante :

Code:

someone/
   /library
   /PHP-INF
      /ctrl
      /model
      /views
         /filters
         /helpers
         /scripts
            /index
   /public
      /images
      /scripts
      /style

Je mets le code suivant dans header.phtml :

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
      <link rel="stylesheet" href="<?php echo $this -> baseURL ?>/public/style/general.css" type="text/css" />
      <title><?php echo $this -> title ?></title>
  </head>
  <body>

Le fichier header.phtml est situé dans le dossier ./PHP-INF/views/.
$this -> baseURL renvoie /someone.

Voici comment j'appelle la vue header.phtml :

Code:

<?php echo $this -> render( 'header.phtml' ) ?>

Et quand je vais sur la page désiré, il n'y a aucun style d'appliqué.

Quand j'affiche le code source, j'ai ceci :

Code:

<link rel="stylesheet" href="/someone/public/style/general.css" type="text/css" />

Je me suis donc dit qu'il pensait que / est la racine du disque. Donc, j'ai mis le chemin absolu, ce qui me donne exactement :

Code:

<link rel="stylesheet" href="C:/xampp/htdocs/someone/public/style/general.css" type="text/css" />

Pas mieux.

Voilà déjà, j'comprends pas pourquoi ça ne marche pas smile

Ensuite, j'ai remarqué que quand je changeais le code source en remplaçant baseURL par ../ ou ../../, etc [ dans le but de trouver le chemin, bref ] et bien, j'ai toujours la ligne suivante dans le code source :

Code:

<link rel="stylesheet" href="C:/xampp/htdocs/someone/public/style/general.css" type="text/css" />

J'ai cru que c'était dû à une mise en cache, mais même en forçant le rechargement .. Pas mieux.
Je me suis donc demandé si ZF gérait un système de cache ?

Merci par avance de votre aide.

Cordialement,
L.

Hors ligne

 

#2 24-01-2008 20:15:54

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: CSS & ZF

Il faut utiliser la racine de ton serveur web, pas la racine de ton disque dur.
Si la racine de ton serveur web est /someone/public, tu dois mettre juste /style/general.css

Hors ligne

 

#3 24-01-2008 20:40:28

Lio
Membre
Date d'inscription: 21-01-2008
Messages: 41

Re: CSS & ZF

La racine de mon serveur web est /someone/ mais ça n'a rien donné.
Je le signale d'ailleurs dans mon post smile

Lio a écrit:

Je mets le code suivant dans header.phtml :

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
      <link rel="stylesheet" href="<?php echo $this -> baseURL ?>/public/style/general.css" type="text/css" />
      <title><?php echo $this -> title ?></title>
  </head>
  <body>

Le fichier header.phtml est situé dans le dossier ./PHP-INF/views/.
$this -> baseURL renvoie /someone/.

Pour le problème de cache, j'ai remis avec $this -> baseURL & la source s'est changée comme il faut. Mais j'ai toujours mon problème de style évidemment.

Cordialement,
L.

Hors ligne

 

#4 25-01-2008 04:52:45

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: CSS & ZF

essaye d'afficher la css directement... tu pourras déjà voir si elle est "en ligne"

http://exemple.com/someone/public/style/general.css


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#5 25-01-2008 08:56:06

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: CSS & ZF

Personnellement, je ne m'appuierai pas sur un framework pour savoir comment est configuré mon apache... (a forciori vu le nombre de bug que j'ai remonté sur baseURL depuis la 0.2 du ZF)

la variable $_SERVER['DOCUMENT_ROOT'] est indépendante du ZF et semble qd même préférable. On parle d'accéder a une ressource statique type fichier css. Ce n'est donc pas lié avec le ZF.
La seule source absolument fiable, c'est le httpd.conf, car le document root ne te donne aucune indication sur les alias qui ont pu être définis.

Une dernière piste. L'erreur la plus courante dans ce type de cas est lié au rewriting. Si tu as des règles du genre   
RewriteEngine     on
RewriteRule     .* /index.php [L]

Ne cherche pas plus loin. Aucune ressource statique n'est accessible dans ce cas la. Il faut par exemple ajouter une rewirteCond qui exclue du rewriting les fichiers existant, ou ajouter une rewriteRule avant celle de l'index et qui matchera les ressources statiques.

Hors ligne

 

#6 25-01-2008 09:36:51

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: CSS & ZF

A propos de ce genre de soucis il existe pas mal de posts a ce sujet:
http://www.z-f.fr/forum/viewtopic.php?id=353
http://www.z-f.fr/forum/viewtopic.php?id=294

Si ça n'est pas assez, un petite recherche avec le moit "htaccess" devrait t'aider encore un peu plus smile

Hors ligne

 

#7 25-01-2008 18:02:23

dividy
Membre
Date d'inscription: 21-01-2008
Messages: 21

Re: CSS & ZF

TiTerm a écrit:

Personnellement, je ne m'appuierai pas sur un framework pour savoir comment est configuré mon apache... (a forciori vu le nombre de bug que j'ai remonté sur baseURL depuis la 0.2 du ZF)

la variable $_SERVER['DOCUMENT_ROOT'] est indépendante du ZF et semble qd même préférable. On parle d'accéder a une ressource statique type fichier css. Ce n'est donc pas lié avec le ZF.
La seule source absolument fiable, c'est le httpd.conf, car le document root ne te donne aucune indication sur les alias qui ont pu être définis.

Une dernière piste. L'erreur la plus courante dans ce type de cas est lié au rewriting. Si tu as des règles du genre   
RewriteEngine     on
RewriteRule     .* /index.php [L]

Ne cherche pas plus loin. Aucune ressource statique n'est accessible dans ce cas la. Il faut par exemple ajouter une rewirteCond qui exclue du rewriting les fichiers existant, ou ajouter une rewriteRule avant celle de l'index et qui matchera les ressources statiques.

Le genre d'erreur qui te fait perdre un temps dingue pour rien...  tongue


In Zend, I Trust

Hors ligne

 

#8 25-01-2008 18:29:18

Lio
Membre
Date d'inscription: 21-01-2008
Messages: 41

Re: CSS & ZF

Merci, je ne risquais pas de penser que le problème pouvait venir de mes .htaccess.

Alors voilà, à la base de mon site, j'ai le .htaccess suivant :

Code:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Dans le répertoire public, j'ai le .htaccess suivant :

Code:

Deny from all

Le problème vient-il de là ? Aurais-je un .htaccess incorrect ?

[EDIT] --------------------------------------------------------------------------------

Bon, apparement, le .htaccess dans le dossier public/ faisait chier.
Pourtant, j'arrive bien à inclure les fichiers .php qui sont dans library, et dans PHP-INF. Et ces deux dossiers ont également ce .htaccess.

Quelqu'un saurait me dire comment autoriser via le .htaccess à inclure les css, images .. ?

Cordialement,
L.

Dernière modification par Lio (25-01-2008 18:37:40)

Hors ligne

 

#9 25-01-2008 20:21:39

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: CSS & ZF

Ben vu que le dossier public est.. public, tu n'as rien a mettre comme htaccess...
Par contre le "deny from all" (-> refus pour tous) est à mettre dans le dossier application.

Hors ligne

 

#10 25-01-2008 21:12:42

Phoenix17
Membre
Lieu: Nancy
Date d'inscription: 09-04-2007
Messages: 73
Site web

Re: CSS & ZF

Si ton localhost est 192.168.1.1, par exemple, et que tu as un dossier 'App_WWW' (par exemple) :

Tu accèdes donc à tes site via :

http://192.168.1.1/App_WWW

Il faut rajouter dans ton htaccess :

Code:

RewriteEngine on
RewriteBase /App_WWW
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Hors ligne

 

#11 25-01-2008 21:47:04

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: CSS & ZF

Ca dépend de la config de ton serveur. Perso je n'utilise pas RewriteBase en local alors que sur mon hebergement mutualisé oui...

Hors ligne

 

#12 25-01-2008 22:54:11

Lio
Membre
Date d'inscription: 21-01-2008
Messages: 41

Re: CSS & ZF

Messieurs,
je vous remercie pour votre participation & votre aide smile

Cordialement,
L.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages