我的布局default.ctp中有一个简单的表单,这是代码:
<li style="margin-top: 10px;">
<?php echo $this->Form->create('User', array('action' => 'login')); ?>
<?php echo $this->Form->input('email',array('label'=> false, 'class' => 'cnx', 'placeholder' => 'E-Mail', 'div' => false)); ?>
<?php echo $this->Form->input('password',array('label'=> false, 'type'=> 'password', 'class' => 'cnx', 'placeholder' => 'Mot de passe', 'div' => false)); ?>
<?php
$options = array('label' => 'Connexion', 'class' => 'btncnx', 'div' => false);
echo $this->Form->end($options);
?>
</li>
我想从我的UsersController调用操作登录。唯一的问题是当我点击提交按钮时,CakePHP需要设置视图登录。我不想创建login.ctp视图......
缺少视图 错误:找不到UsersController :: login()的视图。
我的函数登录UsersController:
public function login(){
if($this->request->is('post')){
if($this->Auth->login()){
return $this->redirect($this->Auth->redirect());
}else{
$this->Session->setFlash("Votre login ou votre mot de passe ne correspond pas","notif",array('type'=>'error'));
}
}
}
如何在不创建视图的情况下执行此操作?
由于
答案 0 :(得分:1)
这闻起来很糟糕,但还行。在login()方法中尝试这个:
$this->render(null);
如果这不起作用,只需创建一个空的login.ctp。我没有看到这个问题。
其他最佳做法提示:
答案 1 :(得分:0)
Try this code:
public function login(){
if($this->request->is('post')){
if($this->Auth->login()){
return $this->redirect($this->Auth->redirect());
}else{
$this->Session->setFlash("Votre login ou votre mot de passe ne correspond pas","notif",array('type'=>'error'));
}
}
$this->render('/Users/default');
}