我有一个表单,我正在尝试为其设置操作。我想使用我在引导程序中创建的路由在我的表单文件(扩展 Zend_Form)中而不是在控制器或视图中声明操作。通常当我想使用一条路线时,我会做类似的事情
$this->url(array(), 'route-name');
在视图中,或
$this->_helper->url(array(), 'route-name');
在控制器中。
如何从 Zend_Form 中调用路由?
编辑:我已经放弃尝试将路由加载到 zend_form 中。也许在未来的版本中可能有一个功能可以轻松做到这一点?
我为我的表单创建了一个 viewScript 并在其中设置了路由: 在表单初始化函数中:
$this->setDecorators(array(
'PrepareElements',
array(
'ViewScript', array(
'viewScript' => 'forms/formView.phtml'
))));
并在视图文件中:
<form method="post" action="<?php echo $this->url(array(), 'route-name'); ?>" enctype="application/x-www-form-urlencoded">
<?php
foreach ($this->element->getElements() as $element)
{
echo $element;
}
?>
</form>