IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Tuto Débuter avec Zend Framework 1.5, le CSS ne marche pas


Sujet :

Zend Framework PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Tuto Débuter avec Zend Framework 1.5, le CSS ne marche pas
    Bonjour,

    J'ai fait le tuto intégralement tout marche, il y a juste le css qui veut pas marcher...

    Pourtant j'ai bien fait tout ce qu'il fallait (j'ai vérifié plusieurs fois),
    j'ai bien mon fichier BaseUrl.php dans le répertoire "application/views/helpers"
    le nom de la classe est bien "Zend_View_Helper_BaseUrl" et le nom de la fonction "baseUrl()".

    dans le fichier layout.phtml la ligne qui appelle mon css est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" media="screen" href="<?php echo $this->baseUrl();?>/public/css/site.css" />
    Je pense donc a avoir tout bien fait comme il fallait, mais ça veut pas marcher...

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour,

    Que donne ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $this->baseUrl().'/public/css/site.css'?>

  3. #3
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Si tu essaies d'accéder directement à ta feuille de style (http://ton_site/public/css/site.css), est-ce qu'elle est bien affichée par ton navigateur ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai le meme probleme que Drawer

    En fait le lien CSS généré par le tuto ou le code de MaitrePylos est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" media="screen" href="/tutoriel-zf/public/css/site.css />
    ce lien ne mene pas au fichier css
    par contre "http://localhost/tutoriel-zf/public/css/site.css" fonctionne
    ce qui correspond au lien de Eusebe mais pas à celui généré par Zend
    (le chemin relatif ne fonctionne pas des q on change de controlleur / action)

    donc si quelqu'un a d'éventuelles solutions avec ces apports au problème, merci d'avance
    Dernière modification par Deepin ; 15/05/2009 à 08h05. Motif: Merci d'utiliser les balises [code] (bouton '#') de l'éditeur !!!

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Que donne ton htaccess ? Lui as tu dis de ne pas rediriger les fichiers css/images etc ?

  6. #6
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Déjà sur la page qui s'affiche si tu fais afficher le code source et que tu mettais le chemin que tu obtiens pour aller au css ca serait plus simple.

    Sinon, concernant ce tuto, je l'ai fais et de souvenir, il suffit de mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    href="<?php echo $this->baseUrl();?>/css/styles.css" />

  7. #7
    Invité
    Invité(e)
    Par défaut
    @slyvaan >

    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* 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

    @miya > ce code la marche pas non plus
    j'ai deja indiqué ce q le tuto génère (cf plus haut)

    <link rel="stylesheet" type="text/css" media="screen" href="/tutoriel-zf/public/css/site.css />

    et l adresse complete pr se rendre au fichier css est :

    http://localhost/tutoriel-zf/public/css/site.css

  8. #8
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par LeSquale35 Voir le message
    @slyvaan >

    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* 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

    @miya > ce code la marche pas non plus
    j'ai deja indiqué ce q le tuto génère (cf plus haut)

    <link rel="stylesheet" type="text/css" media="screen" href="/tutoriel-zf/public/css/site.css />

    et l adresse complete pr se rendre au fichier css est :

    http://localhost/tutoriel-zf/public/css/site.css
    Est-ce que tu peux essayer de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule .* index.php
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule !\.(js|ico|gif|jpg|png|css|htm|jpeg|jgz|swf)$ index.php
    Et sinon il y a un truc qui me choque là dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" media="screen" href="/tutoriel-zf/public/css/site.css />
    C'est qu'il manque un " pour fermer le href mais je pense pas que ce soit ça.

  9. #9
    Invité
    Invité(e)
    Par défaut
    non - les changements dans le .htaccess n'apportent pas d'amélioration

    [pr la quote, elle est bien dans le code - j ai du faire une erreur en recopiant ici]

    en fait je pense q il y a une erreur au niveau de l'arobrescence
    parce q au niveau des pages, la 1ere page ou devrait etre utilisé le css
    est : http://localhost/tutoriel-zf/
    et dans le code de la page, le lien vers CSS est:
    href="/tutoriel-zf/public/css/site.css"

    ce qui doit donner (en absolu): http://localhost/tutoriel-zf/tutorie...c/css/site.css

    (alors q la veritable adresse est: http://localhost/tutoriel-zf/public/css/site.css)

    non?
    Dernière modification par Invité ; 02/02/2009 à 09h44.

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    dans le tuto de rossolini il met le chemin suivant du css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="<?php echo $this->baseUrl();?>/public/css/site.css" />
    alors que le vrai chemin est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    href="<?php echo $this->baseUrl();?>/css/site.css" />
    --> sans le repertoire public puisque il est calculé par le baseUrl(), pour tester vous pouvez ajouter une image à votre repertoire d'images sous public est l'ajouter dans le layout comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<?php echo $this->baseUrl(); ?>/images/monImage.jpg" alt="image manquante" />

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 72
    Points : 62
    Points
    62
    Par défaut
    Bonjour à le monde;

    Je suis en train de m'exercer avec ce tutoriel pour apprendre zendframework (approche mvc) et je rencontre le même problème.

    Cependant ce que je constate c'est que mes camarades avec qui je fais les mêmes apprentissages n'ont pas ce problème. Leur css marche très bien.

    J'ai essayé toutes les options qui ont été proposées dans cette discussion mais ça ne marche pas.

    Quelqu'un peut-il m'aider s.v.p?

    Merci d'avance.

  12. #12
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 72
    Points : 62
    Points
    62
    Par défaut
    Salut les amis,

    Il n'y a pas encore quelqu'un qui me propose une solution pour mon problème? J'apporte quelques précisions de plus alors.

    Mon Bootstrap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Initialisation de Zend_Layout
    Zend_Layout::startMvc(arraty('layoutPath' => './application/layouts'));
    Mon layout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <!DOCTYPE html
    	PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml-transactional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    	<title>
    		<?php echo $this->escape($this->title); ?>
    	</title>
    	<link rel="stylesheet" type="text/css" media="screen"
                 href="<?php echo $this->baseUrl();?>/css/site.css" />
    </head>
    <body>
    <div id="content">
    	<h1><?php echo $this->escape($this->title); ?></h1>
    	<?php echo $this->layout()->content; ?>
    </div>
    </body>
    </html>
    Quelqu'un pourrait-il m'aider s.v.p? La fonction baseUrl() renvoie quelque chose du genre http://localhost/exercice-zf/public/css/site.css.
    Merci d'avance.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    La fonction baseUrl() renvoie quelque chose du genre http://localhost/exercice-zf/public/css/site.css
    Cela signifie-t-il que c'est ce qui est dans le code source de la page une fois exécuté ? Si oui, est-ce que cet URL est valide si tu essayes d'y accéder directement ?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    As-tu initialisé baseUrl dans le controlleur frontal avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $frontController->setBaseUrl($baseUrl);
    ?

  15. #15
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 72
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Tout d'abord merci pour vos réponses.

    Amon, je me suis trompé là haut en disant que
    La fonction baseUrl() renvoie quelque chose du genre http://localhost/exercice-zf/public/css/site.css.
    Elle renvoie plutôt quelque chose du genre /Mon-Nom-De-Projet seulement; c'est quand je concatène que j'obtiens le chemin vers ma feuille de style mais cela n'affiche rien. Peut être que c'est là où se situe le problème. Quand j'essai d'accéder par la barre d'adresse à cet url, ça m'affiche une erreur.

    Seb147 j'ai fait cela mais dans mon indexController dans la fonction initView() comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->baseUrl = $this->_request->getBaseUrl();
    J'attends vos avis et propositions. Merci encore une fois.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    Tu ne dois pas ajouter /public

    ton wwwroot ou ton virtualhost doit pointer sur ce répertoire, mais il ne doit pas être visible coté client.

  17. #17
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 72
    Points : 62
    Points
    62
    Par défaut
    Salut les amis,
    J'ai finalement réussi à régler le problème. Il se trouvait que j'avais copié mon fichier .htaccess dans le dossier qui contient le dossier public alors que je l'avais aussi dans le dossier racine et du coup, cela empêchait, l'accès à ma feuille de style. En tout cas j'ai constaté que tout est devenu normal quand j'ai supprimé cette copie du .htaccess.

    Merci pour votre aide.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/05/2013, 13h59
  2. [ZF 1.10] Tuto' "Débuter avec Zend Framework (approche MVC)"
    Par DarkSeiryu dans le forum MVC
    Réponses: 5
    Dernier message: 26/10/2010, 20h36
  3. Réponses: 3
    Dernier message: 17/12/2009, 10h31
  4. Erreur avec le Tutoriel Débuter avec Zend Framework
    Par turcotm dans le forum Zend Framework
    Réponses: 18
    Dernier message: 31/01/2008, 12h33
  5. Problème avec le Tutoriel Débuter avec Zend Framework
    Par ZIED dans le forum Zend Framework
    Réponses: 4
    Dernier message: 21/12/2007, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo