Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-09-2010 16:25:06

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

[Résolu] Où placer les fichiers CSS?

Bonjour à tous,

Je bloque depuis deux jours sur un point qui, pourtant, ne devrait pas poser de problème.

J'essaie de spécifier un fichier de CSS dans mon "loyout".

quickstart/application/layouts/scripts/layout.phtml

Code:

<?php echo $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <?php echo $this->headLink()->appendStylesheet('css.css') ?>
</head>
<body>
..

Question : Ou faut-il placer le fichier "css.css"?

J'ai effectué un bon nombre de tentatives... Mais le fichier ne se charge pas.

Code:

"GET /css.css HTTP/1.1" 404 1563

Je suppose que l'application essaie de charger la méthode "index" du contrôleur "css.css".

Quelqu'un pourrait-il me donner un coup de main?

Merci,

Denis

Dernière modification par Denis. Beurive (17-09-2010 21:55:21)

Hors ligne

 

#2 17-09-2010 17:01:02

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: [Résolu] Où placer les fichiers CSS?

Pourquoi ne pas simplement placer ton fichier css.css dans ton dossier public ?
Ce fichier est-il dynamique ou statique ?


http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

#3 17-09-2010 17:01:50

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

Re: [Résolu] Où placer les fichiers CSS?

Salut,

J'ai trouvé une solution :

Dans le fichier "quickstart/public/.htaccess", il faut ajouter une règle de réécriture d'URL :

Code:

RewriteRule !\.(js|ico|gif|jpg|css|htm|jpeg|jgz|swf)$ index.php

Pour le code :

Code:

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

Il faut placer le fichier "css.css" dans le répertoire "quickstart/public/".

Voyez-vous une autre solution, qui présenterait des avantages?

Merci,

Denis

Hors ligne

 

#4 17-09-2010 17:05:10

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

Re: [Résolu] Où placer les fichiers CSS?

My_Sic a écrit:

Pourquoi ne pas simplement placer ton fichier css.css dans ton dossier public ?
Ce fichier est-il dynamique ou statique ?

Salut,

Je te remercie pour ta réponse. C'est effectivement ce que je fais. Mais, pour que cela fonctionne, il faut ajouter une règle aux règles de réécriture d'URLs (CF ma réponse ci-dessus).

Sans la règle de réécriture, l'application va essayer d'exécuter la méthode "index" du contrôleur "css.css" (si je ne me trompe pas).

A+

Hors ligne

 

#5 17-09-2010 17:07:28

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: [Résolu] Où placer les fichiers CSS?

Normalement ton .htaccess doit contenir ça :

Code:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Cela suffit amplement, car il va tester la présence d'un dossier/fichier/lien/... répondant exactement à la requête. Ce qui est le cas pour ton fichier css.css


http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

#6 17-09-2010 17:34:37

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

Re: [Résolu] Où placer les fichiers CSS?

My_Sic a écrit:

Normalement ton .htaccess doit contenir ça :

Code:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Cela suffit amplement, car il va tester la présence d'un dossier/fichier/lien/... répondant exactement à la requête. Ce qui est le cas pour ton fichier css.css

Le contenu que tu présentes correspond, en effet au contenu par défaut du fichier ".htaccess". Sauf que: En ce qui me concerne, j'ai besoin de rajouter la ligne que j'ai mentionnée.

Code:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule !\.(js|ico|gif|jpg|css|htm|jpeg|jgz|swf)$ index.php

RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Sans cette ligne :

Code:

192.x.x.x - - [17/Sep/2010:16:43:39 +0200] "GET /css.css HTTP/1.1" 404 1563

Avec cette ligne :

Code:

192.x.x.x - - [17/Sep/2010:17:06:25 +0200] "GET /css.css HTTP/1.1" 200 -

Il y a un mystère...

Oh... Mais je vois la différence entre ton fichier ".htaccess" et mon fichier d'origine. Dans mon fichier "d'origine", je n'ai pas la ligne suivante :

Code:

RewriteCond %{REQUEST_FILENAME} -f

Je ne sais pas ce que cela signifie. Je vais voir la documentation.

A+

Dernière modification par Denis. Beurive (17-09-2010 17:37:51)

Hors ligne

 

#7 17-09-2010 17:35:51

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: [Résolu] Où placer les fichiers CSS?

Aucun mystère, il te manque la directive la plus importante :

Code:

RewriteCond %{REQUEST_FILENAME} -f [OR]

http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

#8 17-09-2010 17:42:30

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

Re: [Résolu] Où placer les fichiers CSS?

My_Sic a écrit:

Aucun mystère, il te manque la directive la plus importante :

Code:

RewriteCond %{REQUEST_FILENAME} -f [OR]

Oui, effectivement.

Je te remercie pour ton aide! Tu m'as fait gagner un temps précieux.

Remarque : J'ai créé mon projet en suivant la documentation du framework, accessible sur le site de ZEND. Dans cette documentation il est préconisé d'utiliser l'outil "zf.sh". Il semble que le fichier "public/.htaccess" généré par cet outil ne comporte pas la ligne qui me manquait (j'utilise la version 1.10 du framework).

A+

Dernière modification par Denis. Beurive (17-09-2010 17:43:54)

Hors ligne

 

#9 17-09-2010 17:46:26

Denis. Beurive
Membre
Date d'inscription: 06-06-2009
Messages: 35

Re: [Résolu] Où placer les fichiers CSS?

Le problème est résolu  smile

Hors ligne

 

#10 17-09-2010 20:28:46

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu] Où placer les fichiers CSS?

Bonjour,

Est-ce que tu peux éditer ton 1er message et ajouter [Résolu] devant le titre ?
Je te remercie d'avance,

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#11 19-09-2010 19:58:38

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: [Résolu] Où placer les fichiers CSS?

Ce qui est quand même étrange est que vous ayez besoin du '-f' au lieu de '-s' ... La seule différence entre les deux est que '-s' demande à ce que le fichier ait une taille supérieure à 0 par rapport à '-f'. Je n'ai pas besoin d'ajouter cela pour avoir un fichier css dans un fichier écrit dans le répertoire 'public/styles'. On dirait qu'apache n'arrive pas à déterminer le taille de vos fichiers.

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