2010-12-03 20 views
0

J'ai créé une vue de connexion pour mon Employee controller, mais lorsque la vue de connexion s'affiche, elle apparaît sous la forme d'une page blanche simple (pas la disposition de mon fichier default.ctp).Disposition de connexion CakePHP

J'ai essayé d'appeler $this->layout = 'default'; à partir de l'action de connexion,
mais il semble que ce code ne s'exécutera qu'après la publication de la vue.

contrôleurs/employee_controller.php

function login() { 
    $this->layout = 'default'; 
} 

vues/layouts/default.ctp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title><?php echo $title_for_layout; ?></title> 
     <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> 
     <link rel="stylesheet" type="text/css" href='<?php echo "css".DS."cake.generic.css" ?>' /> 
    </head> 
    <body> 
    <div id="parentDiv"> 
     <div id="menu"> 
      <div id="messages"> 
      </div> 
     </div> 
     <div id="header"> 
      <?= $this->element('search'); ?> 
     </div> 
     <div id="content"> 
      <?php echo $content_for_layout; ?> 
     </div> 
    </div> 
    </body> 
</html> 

vues/employés/login.ctp

<?= debug($this); ?> 
<div> 
    <div style="border: black solid 1px"> 
     <?php 
     /* 
     * To change this template, choose Tools | Templates 
     * and open the template in the editor. 
     */ 
     echo $this->Form->create('Employee', array('url' => array('controller' => 'employees', 'action' => 'login'))); 
     echo $this->Form->input('username'); 
     echo $this->Form->input('password'); 
     echo $this->Form->submit('Login'); 
     echo $this->Form->end(); 
     ?> 
    </div> 
</div> 
+0

avez-vous fait le point de vue, vous pouvez vérifier l'erreur en éditant le fichier core.php et le mode de déboguage 2 – nik

+0

@nik, je vous remercie pour vos suggestions. Oui, il y a une vue (je sais que ça fonctionne parce que je vois le rendu de la vue avec les zones de texte et le bouton de connexion) et le débogage ne me dit rien (j'ai un débogage sur 2). – Benny

+0

Oh! Je ne peux pas dire le problème à moins de jeter un oeil aux fichiers. Dans mon cas, je n'ai jamais mentionné la mise en page quand elle est par défaut. – nik

Répondre

1

Après avoir vu votre code, cela est certainement dû au fait que le chemin CSS est incorrect. Pouvez-vous remplacer la ligne appelant votre feuille de style avec le code que j'ai donné ci-dessous?
<?php print $html->css('cake.generic.css'); ?>

+0

les fichiers .htaccess toutes les lignes de correspondance pour la ligne avec le livre. Je ne suis pas sûr de ce que vous voulez dire par "forcer la base de données à charger"? Voir mon édition pour plus de code. – Benny

+0

J'ai modifié ma réponse. – Nigel

+0

Stupide petites choses, l'homme ... MERCI – Benny