检索 Zend 框架中的子表单元素?

Posted

技术标签:

【中文标题】检索 Zend 框架中的子表单元素?【英文标题】:retrieving the subform elements in Zend Framework? 【发布时间】:2012-02-24 06:17:25 【问题描述】:

如何在其各自的 .phtml 文件中检索子表单的元素? 假设我在 w.php 中的主表单中有 4 个子表单,那么如何在其各自的 .phtml 文件中显示子表单的元素,或者在同一个主 phtml 文件中显示所有子表单,即 w.phtml?

【问题讨论】:

framework.zend.com/manual/en/zend.form.advanced.html 显示一种方式。 【参考方案1】:

您可以使用$subform = $form->getSubForm($subformName); 访问子表单。

获得子表单后,您可以在视图脚本中将其输出为<?php echo $subform; ?>,或者您可以使用<?php echo $subform->elementName; ?> 逐个输出其元素。

希望对你有帮助,

【讨论】:

感谢您抽出宝贵时间回答我的问题 Dinopmi。但是,我尝试了您的解决方案,但视图页面上没有显示任何表单。但是在视图(phtml)中,当我编写以下语句时 form->getName() ?> 感谢您抽出宝贵时间回答我的问题 Dinopmi。但是,我尝试了您的解决方案,但视图页面上没有显示任何表单。但是在视图(phtml)中,当我编写以下语句时 form->getName() ?> 我在视图中得到输出为“basic_info”。【参考方案2】:

其实用form->getSubform('blah')->getElement('foo')> 获取子表单?> 不起作用,因为它只会被渲染为

【讨论】:

【参考方案3】:

使用 .phtml 获取每个子表单

<?php
foreach($this->element->getSubforms() as $key => $subForm)
    echo $subForm;

?>

要获取 $subForm 的相应元素,只需使用

$subForm->elementName

【讨论】:

以上是关于检索 Zend 框架中的子表单元素?的主要内容,如果未能解决你的问题,请参考以下文章

Zend Validate - 你如何从不同的子表单传递上下文值?

Zend Framework 调用表单作为表单中的子表单

Zend 文本元素中的占位符文本

如何使用 zend from 在 zend 框架 2 中添加自定义属性

如何将 Zend_Dojo 表单元素动态添加到 zend_form?

Zend Dojo 元素 ID 缺失