У меня странное поведение с ZF, которое я не могу разрешить. У меня есть layout.phtml и login.phtml. Поэтому, когда пользователь вошел в layout.phtml, должен отображаться еще один login.phtml. Это также работает, но перед отображением файла login.phtml ZF просматривает layout.phtml, и я могу подтвердить это из-за ошибок в файле error.log.
Вот что у меня в загрузчике:
public static function _initAcl()
{
$auth = Zend_Auth::getInstance();
$acl = new BM_Acl($auth);
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(
new BM_Controller_Plugin_Acl($auth, $acl)
);
}
Вот что у меня в контроллере аутентификации:
public function indexAction() {
$form = new BM_Form_Login();
$request = $this->getRequest();
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
if ($this->_process($form->getValues())) {
// We're authenticated! Redirect to the home page
//json validation on login page
$var = json_encode(array('valid' => true, 'redirect' => 'index'));
echo $var;
exit();
} else {
$var = json_encode(array('valid' => FALSE, 'error' => 'Authentication failed!', 'redirect' => 'auth'));
echo $var;
exit();
}
}
}// end if is POST
$this->_helper->layout()->setLayout('login'); // special login page
$this->view->form = $form;
}
Любая помощь будет оценена ...
С уважением
Andrea
P.S. Это происходит только тогда, когда я запускаю приложение из нового окна браузера. Если я ссылаюсь на страницу входа в систему, макет больше не называется ...