Я создал представление входа в систему для своего Employee controller
, но когда представление входа в систему отображается, оно отображается как обычная белая страница (не макет из моего default.ctp).
Я пытался позвонить $this->layout = 'default';
из действия входа в систему,
но похоже, что этот код не будет выполняться до тех пор, пока представление не будет опубликовано.
Контроллеры / employee_controller.php
function login() {
$this->layout = 'default';
}
просмотров / макеты / 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>
Вид / сотрудников / 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>