Dans mon controller.php

public function render($view){
            if($this->rendered){ return false; }
            extract($this->vars);
            ob_start();
            if(strpos($view,'/')===0){
                $view = ROOT.DS.'view'.$view.'.php';
            }else{
                $view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
            }

            require($view);
            $content_for_layout = ob_get_clean();
            require ROOT.DS.'view'.DS.'layout'.DS.$this->layout.'.php';
            $this->rendered = true;
        }

Dans mon /layout/default.php

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <title>MyOrigineCraft</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <!-- Le styles -->
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/bootstrap-responsive.css" rel="stylesheet">
    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="favicon.ico">
  </head>
  <body>
    <div class="container">
        <?php echo $content_for_layout; ?>
    </div> 
    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
  </body>
</html>
</div>

Dans mon /errors/404.php

<div class="hero-unit">
    <h1>Page Introuvable</h1>
    <br>
    <p><?php echo $message; ?></p>
</div>

2 réponses


Nairolf
Réponse acceptée

Facile, c'est ton lien vers ta feuille de CSS (et script JS aussi) qui est mauvaise

Tu as mis css/bootstrap.css or si ton lien c'est http://tonsite.truc/pages/view/, ton lien pointe vers http://tonsite.truc/pages/view/css/bootstrap.css mais le dossier pages/view n'existe pas donc ta page ne sait pas où trouver ton CSS.

Tu dois mettre un / avant chaque lien, car si tu fais /css/bootstrap.css, ça redirige vers http://tonsite.truc/css/bootstrap.css mais avec l'url rewrite ça redirige vers http://tonsite.truc/webroot/css/bootstrap.css là où je pense que ton CSS se trouve.

Fais pareil pour le responsive et ton js, et oubli pas de mettre http: devant ton lien jquery

Tu peux pas être plus clair et exposer concrètement ton problème sans vouloir être désagréable. Tu nous postes du code sans même nous indiquer quel est le problème.
Un problème de css c'est trop vague comme indication.