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>
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
@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
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