如何在cakephp中为两个表单编写一个动作?

时间:2016-05-20 06:41:38

标签: html cakephp action

我正在使用cakephp3。我有一个login_signup.ctp页面,这两个表单都在<div class="tab-content">...</div>中。我是否必须编写一个操作(login_signup())或两个操作(login()和signup())?

是否可以为制表符内容定义操作?怎么可以?

是否可以将每个标签移动到两个单独的页面,但具有相同的数字?

这是标签的html代码:

<div class="form">
<ul class="tab-group">
    <li class="tab active"><a href="#signup">signup</a></li>
    <li class="tab"><a href="#login">login</a></li>
</ul>
<div class="tab-content">
    <div id="signup">   
        ...
    </div>
    <div id="login">   
        ...
    </div>
</div><!-- tab-content -->

这是我在UserController中的操作:

 public function loginSignup() {...}

1 个答案:

答案 0 :(得分:1)

  

我是否必须编写一个操作(login_signup())或两个操作(login()和signup())?

从技术上讲,你没有必要,但你确实应该 。这是一项名为SoC的原则,被认为是最佳做法。一种方法应该从不一个的事情,并且它应该很好地做一个事情。

因此只需要一个登录操作和注册操作,并为两者渲染相同的视图,并将表单指向匹配操作。

  

是否可以为制表符内容定义操作?怎么可以?

在每个表单中发送一个值,您可以检查该值以确定您正在处理的表单。如果你真的想这样做。