在Zend_Form的URL中传递参数

时间:2012-03-01 07:31:17

标签: zend-framework zend-form

我是一个初学者,无法弄清楚

如何使用post方法在Zend_Form上传递参数和值 使用setAction()方法

控制器/动作/参数1 / parameter1value /参数2 / paremeter2value

我需要重写路由吗?

任何人都可以告诉我们如何实现这一目标 为什么zend文档如此可怕?

3 个答案:

答案 0 :(得分:2)

我不知道这是否是最佳方法,但这一选择:

<?php
$form->setAction($form->getView()->url(array('controller' => 'your-controller', 'action' => 'some-action', 'someparam' => 'thevalue')));
?>

这就是你要找的东西吗?

答案 1 :(得分:0)

假设您的表单继承自Zend_Form,您可以在实例化表单时传递参数,如下所示:

$form = new My_Form( array( 'action' => '/controller/action/parameter/' . $parameter,
                            'method' => 'post' ));

如果您在处理提交的表单时需要再次访问该参数,可以在控制器的操作方法中访问该参数,如下所示:

    $request = $this->getRequest();
    $parameter = $this->_getParam( 'parameter' );

整个系统假设您重写了URL,但没有任何想象力 - 只是“入门”文档中显示的“标准”方法。

虽然对Zend Framework文档的质量有不同的看法,但我认为ZF1中的Zend_Form非常复杂且难以学习,所以我认为doco有多好并不重要。该框架的一部分将始终难以学习。

答案 2 :(得分:0)

这对我有用:

在我的行动方法

$this->_helper->getHelper('Redirector')->gotoSimple('action','controller', null,
                                                                array(par1 => par1value,
                                                                    par2 => par2value
                                                                    )
                                                            );