나는 다음과 같은 양식을 만들었습니다보기에서 양식 요소를 렌더링하는 방법은 무엇입니까?
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>
을
외부 스크립트에서 요소를 렌더링하는 방법 ...
일 확인. 위의 대답과 함께 레이블 및 텍스트 필드를 렌더링합니다. 레이블과 텍스트 필드를 어떻게 별도로 렌더링 할 수 있습니까? 감사합니다 – Student
@ 학생, 내 변경 사항을 참조하십시오. – pltvs
$ this-> element-> username의 'element'는 실제 요소가 아니라 양식 객체를 참조합니다. $ this-> element-> username은 Form_Element 객체를 참조합니다. 약간의 코딩 규칙. – Martijn