如何在视图中渲染表单元素?
我创建了一个像这样的表单:
class Form_Login extends Zend_Form {
public function __construct() {
$this->setMethod('post');
$elements = array();
// username
$element = $this->addElement('text', 'username', array('label' => 'Username') );
$elements[] = $element;
// password
$element = $this->addElement('password', 'password', array('label' => 'Password'));
$elements[] = $element;
// submit
$element = $this->addElement('submit', 'submit', array('label' => 'Login'));
$elements[] = $element;
$this->addElements( $elements );
$this->addDecorator('ViewHelper');
$this->setDecorators(array(array('ViewScript', array('viewScript' => 'authentication/login-form.phtml' ))));
}
}
现在在 login-form.phtml 文件中,我呈现这样的元素:
<form action='submitlogin' method='post' id='loginform'>
Login Form
<?= $this->form->getElement('username'); ?>
<?= $this->form->getElement('password'); ?>
</form>
它给了我以下错误:
Fatal error: Call to a member function getElement() on a non-object in
/var/www/student/application/views/scripts/authentication/login-form.phtml on line 5
如何在外部脚本中呈现元素...
I have created a form like this:
class Form_Login extends Zend_Form {
public function __construct() {
$this->setMethod('post');
$elements = array();
// username
$element = $this->addElement('text', 'username', array('label' => 'Username') );
$elements[] = $element;
// password
$element = $this->addElement('password', 'password', array('label' => 'Password'));
$elements[] = $element;
// submit
$element = $this->addElement('submit', 'submit', array('label' => 'Login'));
$elements[] = $element;
$this->addElements( $elements );
$this->addDecorator('ViewHelper');
$this->setDecorators(array(array('ViewScript', array('viewScript' => 'authentication/login-form.phtml' ))));
}
}
Now in login-form.phtml file I render elements like this:
<form action='submitlogin' method='post' id='loginform'>
Login Form
<?= $this->form->getElement('username'); ?>
<?= $this->form->getElement('password'); ?>
</form>
It gives me following error:
Fatal error: Call to a member function getElement() on a non-object in
/var/www/student/application/views/scripts/authentication/login-form.phtml on line 5
How to render elements in external script...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以像这样从视图脚本中调用元素:
对于特定的元素组件,您可以使用以下内容:
You can call elements from the view scripts like this:
For specific element components you can use the next things:
这是我的完整解决方案:
Login.php中的表单类:
login-form.phtml
Here is my complete solution:
Form Class in Login.php:
login-form.phtml