Ben esnek içeren kenar çubuğu ve giriş formu (Zend_Form) ve çeşitli modül / denetleyici özel bağlantılar oluşturmak için nasıl anlamaya görünüyor olamaz.
En yaygın çözüm kullanıyor gibi görünüyor:
echo $this->action('login', 'authentication', 'default');
Ama apperently bu 'en iyi' yolu değil mi? Ben bu apprently bir dispatchloop tetikler okumak ve böylece bir isabet performans almak var?
Ben yaklaşık kenar çubuğu için bir View_Helper şarkı düşündüm:
class Zend_View_Helper_Sidebar extends Zend_View_Helper_Abstract
{
public function sidebar()
{
$sidebar = $this->view->placeholder('sidebar');
$sidebar->setPrefix('<div class="sidebar-element">')
->setSeparator('</div><div class="sidebar-element">')
->setPostfix('</div>');
$sidebar->append(new Form_Login);
$sidebar->append(new Model_Category->getList());
return $sidebar
}
}
Benim Form_Login i Aşağıdaki kodu içeren / auth / login ayarlanmış eylem var:
public function loginAction()
{
$request = $this->getRequest();
if($request->isPost()) {
$form = new Form_Login();
$data = $request->getPost();
if($form->isValid($data)) {
$username = $form->getValue('username');
$password = $form->getValue('password');
$users = new Model_DbTable_Users();
$authenticated = $users->login($username, $password);
if($authenticated) {
//Succes - show identity instead of loginForm
} else {
$this->view->loginForm = $form;
$this->render('/index');
}
}
}
}
Ben yanlış kullanıcı adı / şifre girerseniz o anda boş olan indexAction vermektedir. Bu iyi. Ayrıca gerektiği gibi loginForm içeren benim kenar çubuğu işler, ancak formu (kullanıcı girişi gösterilmez. Ne formu doğrulamak için başarısız hiçbir mesajdır) boş.
Şeklinde adı alan kullanıcı göndermeden önce sağlanan girişini görüntülemek gerekir. Ve bir hata mesajı görüntülenir.
Bu happing değil neden olarak herhangi bir yardım, çok appriciated olduğunu.