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

Langage PHP Discussion :

feuille de style pas prise en compte


Sujet :

Langage PHP

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut feuille de style pas prise en compte
    Bonsoir,

    j'ai une architecture MVC et toutes les vues (donc les seuls scripts effectuant de l'affichage) incluent un fichier layout.php qui contient notamment ce code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE html>
    <html>
    <head>
        ...
        <link  rel="stylesheet" href="assets/style.css" media="all" type="text/css">
    ...etc
    Il y a donc une feuille de style externe qui appartient au dossier assets situé à la racine de l'application.
    Du reste, si je vais dans l'inspecteur de Firefox, je constate que le code de la page affichée commence bien par ces lignes.
    Néanmoins, cette feuille de style n'est pas prise en compte.
    Pour le constater, c'est simple : dans une des vues, je fais appel à une classe CSS qui doit mettre le texte en rouge et il reste en noir...
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($array_errors as $one_error)
    {
        echo '<span class="red">'.$one_error."</span><br/>";
    }
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .red
    {
        color:red;
    }
    Quelle peut être la cause, SVP ?

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 140
    Par défaut
    echo '<span class="red">'.$one_error.'</span><br/>'; des fois....
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Je viens d'essayer ; ça change rien

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Je viens de faire l'essai suivant : au lieu de passer par une feuille de style externe, j'ai intégré la déclaration du style dans le head :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <style>
            .red
            {
                color:red;
            }
        </style>
    Et là, il est bien pris en compte...

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    En attendant mieux, j'ai "émulé" la fonctionnalité html feuille de style externe par un include PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style>
        <?php include "assets/style.css";?>
    </style>
    Je reste bien sûr preneur d'une solution plus propre.

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 140
    Par défaut
    Salut

    As tu essayé comme ça <link rel="stylesheet" href="./assets/style.css" media="all" type="text/css"> le ./ en plus pour confirmer que le dossier assets est bien un sous dossier de la racine de l'application.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Je viens d'essayer ; non, ça marche pas...

  8. #8
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    À mon avis ce n'est pas un problème de PHP et tout ce joue coté client. Le chemin menant à ta feuille de style doit être relatif au chemin de ta page html (à son URL). Ne connaissant pas l'arborescence de tes fichiers, je te conseille pour le déterminer d'essayer d'afficher directement le code de ta feuille de style dans ton navigateur (en tapant le bon URL). Ainsi, lorsque tu y seras parvenu, tu pourras en comparant l'URL de ta page (ce que tu tapes dans la barre d'adresse pour y accéder) et celui de ta feuille de style trouver le chemin relatif entre les deux.

    Pour info: . désigne le répertoire courant, .. le répertoire parent et / (au début d'un path) la racine.

  9. #9
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse.

    Si je tape l'URL de la feuille de style dans le navigateur, ça n'affiche pas celle-ci. C'est trop compliqué à expliquer pourquoi (en plus, j'en suis incapable), mais c'est comme ça.

    Cela dit, l'arborescence permet simplement de déterminer le chemin relatif :
    ticket_rawsrc
        assets
            style.css
        view
            license
                une_vue.php
    Supposons que le fichier une_vue.php va utiliser la feuille de style style.css. Je dirais que le chemin relatif est ../../assets/style.css. Donc que layout.php (inclus par le fichier vue) doit comporter le code <link rel="stylesheet" href="../../assets/style.css" media="all" type="text/css">Néanmoins avec ça, la feuille de style n'est pas prise en compte...

  10. #10
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    OK, on a l'arborescence, et le chemin relatif que tu donnes entre vue.php et style.css est correct. Seulement voilà, j'imagine que pour utiliser cette vue tu ne saisies pas directement son chemin dans la barre d'adresse de ton navigateur et que tu passes par quelque chose genre http://tondomaine.fr/index.php?param1=bidule&param2=truc. Où se situe alors index.php dans ton arborescence? (car pour le client c'est là que se trouve la racine du site). Y-a-t'il des réécritures d'url via htaccess?

  11. #11
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse nocturne. En fait, le mécanisme est plus compliqué que tu ne l'imagines. Pour l'affichage des vues, j'utilise la géniale classe PHPEcho de rawsrc. Depuis qu'il a quitté DVP (avril dernier), il a publié la V3 : elle est ici. Il n'y a pas de fichier .htaccess . Il saura assurément comment je dois m'y prendre. Je me suis retourné vers lui...Quand j'aurai une solution, je la donnerai.

  12. #12
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    En fait, le mécanisme est plus compliqué que tu ne l'imagines.
    J'ai une imagination sans limite. Tu te fais des nœuds dans la tête pour rien, ton problème n'a rien à voir avec le framework que tu utilises (qui d'ailleurs n'a pas l'air spécialement compliqué, j'irai même jusqu'à dire que c'est un peu son but).

    Il n'y a pas de fichier .htaccess
    Ça simplifie les choses.

    Tout ce que je te demande dans mon précédant post est de donner l'URL que tu tapes dans la barre d'adresse de ton navigateur et où se trouve le fichier de l'url en question dans ton arborescence. Avec ces deux données, c'est simple de résoudre ton problème.

  13. #13
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    j'irai même jusqu'à dire que c'est un peu son but.
    Il est effectivement simple d'utilisation, mais au prix d'un code extrêmement complexe...

    Certes, il n'y a pas de .htaccess, mais il y a quand même une redirection effectuée dans le http-vhosts.conf de Apache :
    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
    <VirtualHost *:80>
        DocumentRoot "C:/projets/ticket_rawsrc/"
        ServerName dev.tickets.fr
        ErrorLog "logs/ticket_rawsrc_errors.log"
        CustomLog "logs/ticket_rawsrc_access.log" common
    	RewriteEngine on
    	RewriteCond %{REQUEST_URI} /(index)|(home)(\..{3,4})?$ [NC]
    	RewriteRule ^.* http://dev.tickets.fr [R=301,L]
    	RewriteRule . /index.php [QSA,L]
    	<Directory "C:/projets/ticket_rawsrc/">
    		Options Indexes Includes FollowSymLinks MultiViews
    		AllowOverride None
    		Require all granted
    	</Directory>
    </VirtualHost>
    Citation Envoyé par CosmoKnacki Voir le message
    Tout ce que je te demande dans mon précédant post est de donner l'URL que tu tapes dans la barre d'adresse de ton navigateur et où se trouve le fichier de l'url en question dans ton arborescence. Avec ces deux données, c'est simple de résoudre ton problème.
    l'URL du projet est http://http://dev.tickets.fr et par rapport à la racine, voici l'arborescence :
    racine
        assets
            style.css
    
    On doit étudier le problème avec rawsrc demain matin...

  14. #14
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Bjr,

    rawsrc vient de me fournir 2 solutions (à savoir que l'installation sur mon PC d'un serveur PHP local, c'est lui qui l'a faite, y a un peu plus d'un an) :

    - modifier les redirections effectuées par Apache (car avant sa modif, toute URL était redirigé vers index.php, donc y compris les fichiers contenus dans le répertoire assets).

    - on conserve bien la redirection vers index.php, mais dans celui-ci, avant d'effectuer le routage (le code du routeur me vient aussi de lui), si l'URL contient assets, au lieu de router, on l'affiche.

    C'est la solution finalement retenue. Voici le code placé avant le routeur dans index.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // before routing, direct resource files, no treatment, served as it
    $assets = stripos($_SERVER['REQUEST_URI'], 'assets'); 
    if ($assets !== false) {
        $file_path = DIR_ROOT.substr($_SERVER['REQUEST_URI'], $assets);
        if (is_file($file_path)) {
            readfile($file_path);
            exit;      //on sort, donc pas de routage
        }
    }

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

Discussions similaires

  1. [CSS] Feuille de style non prise en compte
    Par mhached dans le forum JSF
    Réponses: 8
    Dernier message: 01/01/2015, 20h41
  2. feuille de style non prise en compte dans un module
    Par Phenomenium dans le forum Zend Framework
    Réponses: 14
    Dernier message: 17/07/2008, 12h17
  3. Feuille de style non prise en compte sous IE6
    Par Bluespike62 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 10/01/2008, 12h57
  4. [Debutant][HTML][CSS]Feuille de style non prise en compte
    Par sandrinec dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/04/2006, 16h23
  5. [css] Feuille de style non prise en compte
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/06/2005, 11h49

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