Hello tout le monde,

Je suis les tutoriels pour créer mon site avec le modèle MVC, après celle sur le jour deux j'aimerais savoir comment configurer correctement mon css ? Pour le css j'ai fait dans default.php :

<link rel="stylesheet" media="screen" type="text/css" href="<?php echo WEBROOT.'/css/style.css'; ?>" />

Seulement le css ne fonctionne pas, est-ce que j'ai fait une erreur ? Comment régler cela ?

9 réponses


Salut,

Es-tu sur de ce que retourne WEBROOT?

A+

Khaose
Auteur

Voici le contenu du fichier index.php qui se trouve dans le dossier webroot :

<?php
define('WEBROOT', dirname( __FILE__ ));
define('ROOT', dirname(WEBROOT));
define('DS', DIRECTORY_SEPARATOR);
define('CORE', ROOT.DS.'core');
define('BASE_URL', dirname(dirname($_SERVER'SCRIPT_NAME'])));
require CORE.DS.'includes.php';
new Dispatcher;
?>

Et j'ai essayé avec le chemin absolu ça ne semble pas fonctionner non plus.

Est-ce que le chemin est bon quand tu regardes avec Firebug ou autre

Khaose
Auteur

Oui il me semble, la ligne renvoyée est :

<link rel="stylesheet" media="screen" type="text/css" href="C:\wamp\www\BHG_grafikart\webroot\css\style.css" />

Le chemin est donc correct.

Bonjour, remplace les anti-slashs de ton href par des directory-separator, ça évitera toujours des conflits de serveur (windows/linux)... ça donnerai un truc du style :

<?php echo WEBROOT.DS.'css'.DS.'style.css'; ?>

ou

<?php echo BASE_URL.DS.'webroot'.DS.'css'.DS.'style.css'; ?>
Khaose
Auteur

Mon css ne s'affiche toujours pas... Je vais peut-être être plus complet en vous donnant l'arborescence et le contenu des fichiers..

Alors mon fichier default.php qui se trouve dans C:\wamp\www\BHG_grafikart\view\layout\default.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <title>BelgianHumorGamers</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" media="screen" type="text/css" href="<?php echo WEBROOT.DS.'css'.DS.'style.css'; ?>" />
    </head>
    <body>
        <div id="conteneur">
            <div id="header"></div>
            <div id="menu">
                <a href="index.php">Accueil</a><a href="index.php">Forum</a><a href="livreor.php">Livre d'or</a><a href="index.php">Contact</a>                                             
            </div>
            <div id="corps">
                <?php echo $content_for_layout; ?>
            </div>
            <div id="footer"><p>Copyright "Tout pourri corporation"</p></div>
        </div>
    </body>
</html>

Le fichier style.css qui se trouve dans C:\wamp\www\BHG_grafikart\webroot\css\style.css

body
{
    background-color: #2c2c2c;
}
#conteneur
{
    width: 1001px;
    border: 1px solid white;
    margin: auto;
}
#header
{
    background-image: url("../images/header.png");
    width: 1001px;
    height: 150px;
}
#menu
{
    background-image: url("../images/menu.png");
    background-repeat: no-repeat;
    width: 1001px;
    height: 37px;
    text-align: left;
    padding-top: 13px;
}
#menu a
{
    margin-top: 13px;
    color: white;
    text-decoration: none;
    padding-left: 57px;
    font-size: 16px;
    font-family: "Myriad Pro";

}
#menu a:hover
{
    text-decoration: underline;
}
#corps
{
    background-image: url("../images/corps.png");
    width: 961px;
    background-repeat: repeat-y;
    padding: 5px 20px 20px 20px;
}
#corps h3
{
    font-family: "Myriad Pro";
}
#corps p
{
    font-family: "Myriad Pro";
}
#corps a
{
    color: black;
    font-family: "Myriad Pro";
    text-decoration: none;
}
#corps a:hover
{
    text-decoration: underline;
}
.date
{
    font-size: 13px;
}
#footer
{
    background-image: url("../images/footer.png");
    width: 1000px;
    height: 150px;
    margin-top: -25px;
}
#footer p
{
    margin-top: auto;
    padding-top: 57px;
    text-align: center;
    font-size: 18px;
    font-family: "Myriad Pro";
    color: white;
}

Mon css ne s'affiche pas du tout sur les pages alors que le fichiers default.php est bien chargé car les liens de mon menu apparaissent.

De plus le chemin donné par firebug me semble correct :

<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
?
<title>BelgianHumorGamers</title>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link href="C:\wamp\www\BHG_grafikart\webroot\css\style.css" type="text/css" media="screen" rel="stylesheet">
<div id="conteneur">
<script type="text/javascript">
<script id="isrunning" src="http://127.0.0.1:4001/isrunning" type="text/javascript">
<div id="cacaorunning"></div>
</body>
</html>

Salut,

Tu dis que c'est dans :

/site/webroot/css/style.css

Et dans firebug tu as :

C:\wamp\www\BHG_grafikart\webroot\css\style.css

Soit il manque "site" ou alors "BHG_grafikart" c'est "site".

A+

Khaose
Auteur

Oui j'ai mis site pour ne pas tout recopier, je vais modifier avec les liens exact si vous préférez.

Voilà les liens exacts sont renseignés.

D'ailleurs aucun lien ne semble fonctionner car si je mets le css directement dans default.php à l'aide de balises

<style></style>

Mes images ne s'affichent pas même en lien absolu alors que le css normal comme

body
{
    color: #2c2c2c;
}

fonctionne bien.

Khaose
Auteur

C'est bon j'ai trouvé la solution seul, on dirait que cela marche juste comme ça :

<?php echo BASE_URL.'/webroot/css/style.css'; ?>

Merci à tous d'avoir tenté de m'aider :)