3

微不足道,但我发誓我在任何地方都找不到信息。

<?php $username = $this->form->username ?>
<?php echo $username->renderViewHelper() ?>

renderViewHelper() 在这里做什么?

4

2 回答 2

6

有时,您可能希望将 Zend_Form 与视图中的现有标记一起使用,例如考虑将在视图文件中找到的以下标记。

<form method="<?php echo $form->getMethod() ?>" action="<?php echo $form->getAction()?>">
    <div id="elements">
        <?php echo $form->element1->renderLabel() . $form->element1->renderViewHelper() ?>
        <?php echo $form->element2->renderLabel() . $form->element2->renderViewHelper() ?>
    </div>
</form>

下面的语法

$form->element1->renderLabel()

将仅获取标签标签。没有花哨的包装标签或任何东西。同样的

$form->element1->renderViewHelper()

这只会获取输入(或任何指定的)元素标签。这样您就可以使用自己的现有标记嵌入表单,而不是允许zend_form自己创建标记。

检查此链接以获取更多信息http://framework.zend.com/manual/en/learning.form.decorators.individual.html

希望这可以帮助你。

于 2012-08-14T12:17:54.733 回答
1

它呈现表单元素,特别是viewHelper来自表单元素的装饰器,它是呈现元素本身的装饰器(没有任何额外的标记)。

于 2012-08-14T12:04:50.203 回答