我與Zend工作剛剛結束。我發現這個ViewScript裝飾器的形式,我發現它是使用 經典Zend表格裝飾器的最佳選擇。但是我在顯示錶單時遇到問題。我得到的代碼工作,但沒有顯示我從視圖中獲得。Zend公司:ViewScript裝飾不會呈現表單元素
這裏是我的代碼:
表:
class Application_Form_Registration extends Zend_Form
{
public function init()
{
$username = new Zend_Form_Element_Text("username");
$submit = new Zend_Form_Element_Submit("submit");
$this->setAction("/test.php");
$this->setMethod("get");
$this->addElements(array($username, $submit));
$this->setElementDecorators(array(
array('ViewScript', array(
'viewScript'=>'test.phtml'
))
));
}
}
控制器:
class IndexController extends Zend_Controller_Action
{
public function init()
{
}
public function indexAction()
{
$form = new Application_Form_Registration();
$this->view->form = $form;
}
}
test.phtml(我ViewScript)
<form action="<?php $this->escape($this->form->getAction()); ?>">
<div style="width: 100px; height: 100px; background: blue;">
<?php echo $this->element->username; ?>
<?php echo $this->element->submit; ?>
</div>
</form>
而我的觀點(index.phtml)
<?php echo $this->form; ?>
難道我錯過了什麼和/或與上面的代碼所做的錯嗎?
謝謝哥們..代碼工作對我來說..但這兩者之間的區別是什麼? – Aldee 2012-04-01 11:02:51
@AldeeMativo更新了我的答案並希望它能夠很好地解釋它。 – 2012-04-01 13:20:47
ahhh ..我知道了..所以當我們使用setElementDecorators時,我們覆蓋了它周圍的所有東西..現在我明白了..謝謝..:D – Aldee 2012-04-01 13:56:58