は、私はこのようなフォームを作成しました:フォーム要素を表示するにはどうすればいいですか?
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'))));
}
}
今ログイン-form.phtmlファイルで、私はこのような要素のレンダリング:
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
:それは私に次のエラーを与える
<form action='submitlogin' method='post' id='loginform'>
Login Form
<?= $this->form->getElement('username'); ?>
<?= $this->form->getElement('password'); ?>
</form>
を
外部スクリプトで要素をレンダリングする方法
+1 OK。上記の答えと一緒にラベルとテキストフィールドを描画しています。ラベルとテキストフィールドを別々にレンダリングするにはどうすればいいですか?ありがとう – Student
@学生、私の変更を参照してください。 – pltvs
$ this-> element-> usernameの 'element'は実際の要素ではなくフォームオブジェクトを参照しています。 $ this-> element-> usernameは、Form_Elementオブジェクトを参照します。ちょっとしたコーディング規則。 – Martijn