Tôi đang gặp một số vấn đề về cách sử dụng biểu mẫu tùy chỉnh trong khung công tác Zend.Biểu mẫu tùy chỉnh khung công tác Zend với viewScript
Tôi đã làm theo các hướng dẫn khác nhau nhưng dường như không có cách nào hoạt động. Không có gì ở tất cả được trả lại.
Dưới đây là các bit mã mà tôi đang cố gắng sử dụng (Tất cả mã bên dưới là trong mô-đun mặc định). Tôi đã đơn giản hóa mã cho một đầu vào duy nhất cho thử nghiệm.
ứng dụng/mẫu/Một/Nametest.php
class Application_Form_One_Nametest extends Zend_Form {
public function init() {
$this->setMethod('post');
$name = new Zend_Form_Element_Text('name');
$name->setLabel('Box Name')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Submit Message');
$submit->setAttrib('id', 'submitbutton');
$submit->setAttrib('class', 'bluebutton');
$this->addElements(array($name, $submit));
}
}
application/views/scripts/một formlayout.phtml
<form action="<?= $this->escape($this->form->getAction()) ?>" method="<?= $this->escape($this->form->getMethod()) ?>">
<p>
Please provide us the following information so we can know more about
you.
</p>
<? echo $this->element->name ?>
<? echo $this->element->submit ?>
</form>
application// controllers/IndexController.php
public function formtestAction() {
$form = new Application_Form_One_Nametest();
$form->setDecorators(array(array('ViewScript', array('viewScript' => 'one/formlayout.phtml'))));
$this->view->form = $form;
}
ứng dụng/lượt xem/tập lệnh/chỉ mục/formtest.phtml
<h1>Formtest</h1>
<?
echo $this->form;
?>
Đoạn mã trên không ném bất kỳ lỗi nào hoặc hiển thị bất kỳ phần nào của formlayout.phtml bao gồm thẻ biểu mẫu hoặc văn bản giữa các thẻ p.
Ai có thể cho tôi biết tôi có thể làm gì sai?
Lỗi thường gặp là có hàm tạo trong lớp biểu mẫu không gọi hàm khởi tạo gốc. Điều này dẫn đến kết quả đầu ra dạng trống vì nó là hàm tạo cha mà cuối cùng gọi phương thức 'init()' của bạn. Chỉ cần suy nghĩ to ... –