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

MVC PHP Discussion :

[1.0.2][Zend_View][Bootstrap][Mod rewrite] css considéré comme contrôllers [Débutant(e)]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut [1.0.2][Zend_View][Bootstrap][Mod rewrite] css considéré comme contrôllers
    Bonsoir tout le monde,
    Je viens de me lancer dans l'univers de zend framework. Bref, j'ai un problème à inclure mes feuilles de styles que j'ai placé dans le dossier
    publlic\themes\default\style.css
    J'ai essayé de les inclure avec des chemin relatives mais je n'y arrive et quand j'essai d'inclure la feuille de style avec cette méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="http://localhost/proservices/public/themes/default/style.css" type="text/css" />
    Je ne reçoi rien et quand je vérifie les css inclus dans ma page à l'aide de l'extention webdevelloper de mozilla je trouve l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <br />
    <b>Fatal error</b>:  Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (public)' in D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Dispatcher\Standard.php:194
    Stack trace:
    #0 D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard-&gt;dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
    #1 D:\Program Files\EasyPHP 2.0b1\www\proservices\index.php(40): Zend_Controller_Front-&gt;dispatch()
    #2 {main}
      thrown in <b>D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Dispatcher\Standard.php</b> on line <b>194</b><br />
    Apparement, le chemin est considéré comme un controller. S'il vous plait est ce qu'il y a quelqu'un qui sait comment résoudre ce problème? par ce que si je n'arrive même pas à inclure mes css je crois que je vais laisser tomber zend framework

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Pourrais-tu nous envoyer les contenu de ton fichier .htaccess, car c'est dans ce fichier que tu dis quel url le framework doit traiter

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Bonjour, bon j'ai suivi le tutoriel de Guillaume Rossollini traduit de Rob Allen.
    Et j'ai gardé le fichier .htaccess qu'il a fournit.
    Celui là c'est le fichier qui se trouve dans la racine du site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # 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
    Dans le dossier public il y a celui là

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut
    Tu peux peut être rajouter un view helper (aide pour la vue) qui te met le bon chemin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <link rel="stylesheet" type="text/css" media="screen"
    	href="<?php echo $this->baseUrl(); ?>/public/themes/default/style.css" />
    Et le view helper toujours dans les views/helpers/nom_du_helper.php, ici,
    application/views/helpers/BaseUrl.php : (B en majuscule oui)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Zend_View_Helper_BaseUrl
    {
        function baseUrl()
        {
            $fc = Zend_Controller_Front::getInstance();
            return $fc->getBaseUrl();
        }
    }
    Le nom de classe est Zend_View_Helper_NomDuHelper.
    Testé sur zf 1.5.2 pas 1.0.2.

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Bonjour, merci pour votre réponse, je vais essayer de l'appliquer ce soir. Je suis débutant et donc je n'ai jamais utilisé des helpers et je ne connais même pas l'importance, je vais voir la doc. Mais une chose
    Tu peux peut être rajouter un view helper (aide pour la vue) qui te met le bon chemin.
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text/css" media="screen"
    	href="<?php echo $this->baseUrl(); ?>/public/themes/default/style.css" />
    Je ne suis pas sûr que c'est de là où vient le problème par ce que j'ai mis l'adresse sous forme absolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text/css" media="screen"
    	href="http://localhost/monsite/public/themes/default/style.css" />
    Je suis sûr que c'est à cause de mes fichiers .htaccess ou de la configuration d'apache.

  6. #6
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonjour, bon j'ai suivi le tutoriel de Guillaume Rossollini traduit de Rob Allen.
    Et j'ai gardé le fichier .htaccess qu'il a fournit.
    Celui là c'est le fichier qui se trouve dans la racine du site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # 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
    Dans le dossier public il y a celui là
    Bonjour,
    Hum .. Si ton bootstrap te sort un erreur comme quoi il connais pas le controller public, ca veux dire 2 choses :
    1 : Tu as pas de controller public ( bon ca c'est plutôt une nouvelle dont on a rien à faire :/ )
    2 : c'est lui qui recoit les demandes HTTP concernant tes fichiers css, et ca, c'est pas bien ! Et d'ajouter une aide pour avoir l'url de base reviendrais au même souci ...

    Bon, ensuite, ca c'est pas bien php_flag short_open_tag on
    Et sinon, si je me rapelle bien mes cours ( outch. ) il prends d'abord en compte le .htaccess de la racine, ce qui fais que bah, tout simplement, il redirige toutes les demandes de fichier sur le bootstrap
    Conclusion :
    dans le .htaccess de la racine, il faut rediriger tout ce qui n'est pas .css, .jpg, .gif, .png, .toutcequetuveux vers le bootstrap, et laisser passer le reste

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
    Deviens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule !\.(js|ico|png|gif|css|jpg)$ index.php
    png, gif, jpg, pour tes images
    js pour avoir tes javascripts correctement
    css pour les css
    ico pour la petite icone des favoris
    Bon, du moins, ca, c'est la théorie !

    En espérant que ca t'aides !
    Bonne chance !

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Bonjour, merci pour ta réponse c'est exactement ce que je cherche mais je ne savais pas comment faire.
    Je vais l'essayer ce soir et je vous dis ce qui se passe, par ce que je suis au travail maintenant. Si vous avez d'auters solutions c'est le bienvenu

  8. #8
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonjour, merci pour ta réponse c'est exactement ce que je cherche mais je ne savais pas comment faire.
    Je vais l'essayer ce soir et je vous dis ce qui se passe, par ce que je suis au travail maintenant. Si vous avez d'auters solutions c'est le bienvenu
    Bonjour,

    De rien ! Tiens nous au courant de l'avancement des choses

    Travaille bien ! et bonne chance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Zend Core] Problème Mod Rewrite
    Par _phoenix_ dans le forum Zend
    Réponses: 26
    Dernier message: 12/07/2007, 09h47
  2. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29
  3. Mod rewrite et gestion 404
    Par bagu dans le forum Apache
    Réponses: 5
    Dernier message: 05/09/2006, 15h17
  4. Apache mod-rewrite et perte de session
    Par Jacques - 06 dans le forum Apache
    Réponses: 1
    Dernier message: 27/06/2006, 17h25
  5. Réponses: 2
    Dernier message: 24/11/2005, 19h13

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