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

Symfony PHP Discussion :

problème de chemin entre fichiers CSS [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut problème de chemin entre fichiers CSS
    Bonjour tout le monde

    J'ai récemment acheté un livre pour apprendre Symfony et jusqu'à présent tout se passe plus ou moin sans accro. (Je suis ce tutoriel)

    Sauf que depuis plusieurs jours je bloque sur un problème de css. Les fichiers semblent être dans les bons dossiers
    CSS : web/css/****.css
    IMAGES : web/images/****.png;.gif

    Voici, l'arborescence de mes fichiers :


    Le contenu du fichier apps/frontend/config/view.yml :
    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
    20
    # You can find more information about this file on the symfony website:
    # http://www.symfony-project.org/reference/1_4/en/13-View
     
    default:
      http_metas:
        content-type: text/html
     
      metas:
        title:        symfony project
        description:  symfony project
        keywords:     symfony, project
        language:     fr
        #robots:       index, follow
     
      stylesheets:    [main.css]
     
      javascripts:    []
     
      has_layout:     true
      layout:         layout
    Le titre symfony project s'affiche bien dans ma page web donc le lien se fait bien entre layout.php et view.yml.
    Mais les images elles ne s'affichent pas la page change juste pour avoir un fond gris
    Liens que l'on trouve dans le fichier css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #header
    {
      background: url(../images/bg-header.jpg) repeat-x top;
    }
    Css téléchargeable ici
    Images téléchargeable ici

    Donc d'où viendrait le problème de chemin qui bloque l'affichage des images ?
    Résolut : Le tutoriel en ligne contient un supplément d'information qui indique la manipulation à faire.

  2. #2
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    essaies de mettre comme chemin des images

    /images/tonImage.png

    au lieu de ../images/tonImage.png

    pour moi ça marche comme ça

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    La solution si-dessus marchera.

    Il peut être intéressant de comprendre pourquoi une version, à priori bonne, ne fonctionne pas (les chemins relatifs peuvent parfois avoir beaucoup d'intérêt). Je te propose d'installer Firefox pour tester et l'extension FireBug pour aller encore plus loin dans les tests.

    Avec ceci tu vas pouvoir allez voir le chemin compris par l'explorateur et donc pourquoi il ne fonctionne pas.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  4. #4
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    Etant donnée que Symfony avec son système de routing peut transformer les url de manière (entre autres) à convertir tes paramètres get dans l'url comme si c'était un chemin (path), c'est à dire pour l'application par défaut:
    http://tonHost/module/action?p1=alo&p2=bye
    devient
    http://tonHost/module/action/p1/alo/p2/bye //si pas de route spécifiée
    http://tonHost/module/action/alo/bye //si tu as spécifié tes params dans une route

    bon sans entrer dans les détails le principe c'est ça, donc si tu donne un chemin relatif pour tes images (../images/truc.png) il est probable que le navigateur ne donne pas la bonne route pour tes images, par exemple
    http://tonHost/module/action/alo/images/truc.png
    au lieu de
    http://tonHost/images/truc.png

    tu évites ça en mettant juste /images/truc.png comme ça le navigateur cherche direct dans http://tonHost/images/truc.png
    c'est aussi valable pour les js et css

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Encore faudrait-il qu'une route puisse interpréter la demande sur un png, donc que l'on ait explicitement défini le sf_format de la route à png...

    Je pense que regarder ce que l'explorateur interprète reste une solution simple et rapide pour débugger ce genre de chose.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  6. #6
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    j'avais oublié de dire qu'on suppose que dans le .htaccess (si on en a un) on a une instruction comme ça

    Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule #nos règles

    c'est à dire que si le fichier existe on y accède directement (donc pas d'application du routing symfony), si les images sont donc dans web/images/*
    un appel à http://monHost/images/truc.png doit retourner l'image directement sans tenir compte du routing symfony

    mais c'est vrai que la manière la plus pratique de connaître ce que le navigateur demande c'est avec firebug par exemple.

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

Discussions similaires

  1. Problème de chemin de fichier complexe
    Par Gianluca dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/08/2006, 11h06
  2. problème de définition entre fichiers
    Par loacast dans le forum C++
    Réponses: 9
    Dernier message: 04/07/2006, 13h35
  3. [CKEditor] problème de chemin de fichier avec fck editor
    Par Benjiijneb dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 31/01/2006, 09h05
  4. [MFC]Problème de chemin de fichier
    Par benahpets dans le forum MFC
    Réponses: 3
    Dernier message: 06/09/2005, 13h07
  5. Chemin du fichier css
    Par dreamanoir dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/07/2005, 16h49

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