Я сделал то же самое с моим проектом, и это то, что я сделал.
По сути, я создал новый loginElement.ctp
и поместил его в папку element
.Я создаю новые наборы HTML-кода, которые будут соответствовать макету, в котором я хотел бы использовать этот элемент, и loginElement.ctp
<form
затем отправит данные в login action
в users_controller
.
Если выкогда я вернусь домой позже, я могу опубликовать свой точный код здесь.
=================================== РЕДАКТИРОВАТЬ =========================================
Это коды, которые я использовал:
Прежде всего, вы заметите, что action
в форме входа указывает на /login
.
У меня есть этонастроить в моем /config/routes.php
файле как таковом
Router::connect('/login', array('controller' => 'users', 'action' => 'login'));
Тогда остальные коды будут ниже
/views/elements/thinlogin.ctp
<div id="login">
<form method="post" action="/login" accept-charset="utf-8" class="formBox">
<fieldset>
<input type="hidden" name="_method" value="POST" />
<div class="form-col">
<label for="username" class="lab">Username/Email</label>
<input name="data[User][username]" type="text" id="UserUsername" class="input">
</div>
<div class="form-col form-col-right">
<label for="password" class="lab">Password</label>
<input type="password" name="data[User][password]" id="UserPassword" class="input">
</div>
<div class="form-col form-col-submit">
<input name="" value="Login" class="submit" type="submit">
</div>
<div class="form-col form-col-check">
<label><input name="remember" class="checkbox" type="checkbox">Remember me on this computer</label>
</div>
</fieldset>
</form>
</div>
/views/pages/home.ctp
<div id="home_top_right_top">
<?php
if (!$this->Session->check('Auth.User.id'))
{
echo $this->element('login/thinlogin');
}else{
echo $this->element('login/loggedin');
}
?>
</div>