У меня проблема, я пытаюсь отобразить 2 формы (войти и зарегистрироваться) на одном макете scrpt (header.phtml), каждый раз, когда я отправляю одну из форм, оба действия для контроллера запускаются, и яЯ не уверен, как это исправить.
Формы хорошо отображаются в макете, однако, когда вы нажимаете «Логин» или «Зарегистрироваться» на формах, код запускается как в «логин», так и в «регистр»actions.
фрагмент сценария макета заголовка: -
<div class="left">
<h1>Already a member? <br>Then Login!</h1>
<?php
echo $this->action('panlogin', 'user');
?>
</div>
<div class="left right">
<h1>Not a member yet? <br>Get Registered!</h1>
<?php
echo $this->action('panregister', 'user');
?>
</div>
сценарии действий (phtmls)
panregister.phtml
<div id="pan-register">
<?php
$this->registerForm->setAction($this->url);
echo $this->registerForm;
?>
</div>
panlogin.phtml
<div id="pan-login">
<?php
$this->loginForm->setAction($this->url);
?>
</div>
действия контроллера пользователя: -
class Ajfit_UserController extends Zend_Controller_Action
{
protected $_loginForm;
protected $_registerForm;
public function init()
{
$this->_loginForm = new Ajfit_Form_User_Login(array(
'action' => '/user/login',
'method' => 'post',
));
$this->_registerForm = new \Ajfit\Form\User\Registration(array(
'action' => '/user/register',
'method' => 'post'
));
}
//REGISTER ACTIONS
public function panregisterAction(){
$this->registerAction();
}
public function registerAction(){
$request = $this->_request;
if ($this->_request->isPost()){
$formData = $this->_request->getPost();
}
$this->view->registerForm = $this->_registerForm;
}
//LOGIN ACTIONS
public function panloginAction(){
$this->loginAction();
}
public function loginAction(){
$request = $this->_request;
if(!$auth->hasIdentity()){
if ($this->_request->isPost()){
$formData = $this->_request->getPost();
}
}
$this->view->loginForm = $this->_loginForm;
}
}
Пожалуйста, кто-нибудь, имеющий немного больше знаний о действии ('act', 'cont');?> код с помощью скрипта макета поможет мне с этой проблемой.
Спасибо
Андрей