Php Zend:从Zend_表单内部获取Url参数
我需要设置一个隐藏的表单字段作为url参数的值。 我有: 我知道在实例化该类时,我可以(从控制器)在一个选项数组中传递它。但是我如何告诉表单查找URL参数本身呢 谢谢Php Zend:从Zend_表单内部获取Url参数,php,zend-framework,forms,url-parameters,Php,Zend Framework,Forms,Url Parameters,我需要设置一个隐藏的表单字段作为url参数的值。 我有: 我知道在实例化该类时,我可以(从控制器)在一个选项数组中传递它。但是我如何告诉表单查找URL参数本身呢 谢谢 Luca如果要将URL值传递到隐藏字段,可以使用以下方法: 在控制器中: // Get wanted value from url $var = $this->_request->getParam('url'); // Get correct form using Formloader hel
Luca如果要将URL值传递到隐藏字段,可以使用以下方法: 在控制器中:
// Get wanted value from url
$var = $this->_request->getParam('url');
// Get correct form using Formloader helper (or any other method that you might be using)
$this->view->form = $this->_helper->FormLoader('formname', array('url'=> $var);
protected $_url;
public function init(){
$url = $this->_url;
/*rest of your form*/
}
public function setUrl($value){
$this->_url = $value;
}
并在表单中添加以下内容:
// Get wanted value from url
$var = $this->_request->getParam('url');
// Get correct form using Formloader helper (or any other method that you might be using)
$this->view->form = $this->_helper->FormLoader('formname', array('url'=> $var);
protected $_url;
public function init(){
$url = $this->_url;
/*rest of your form*/
}
public function setUrl($value){
$this->_url = $value;
}
就这样!只需将表单中的$url变量传递到隐藏字段,您就可以完成所有操作:)
使用上面的构造,您可以在创建表单时填充字段,也可以从控制器手动使用$form->fill()我认为没有办法做到这一点,因为Zend_表单与控制器分离。 你可以在注册表中注册你的pos/get变量,但那太脏了。您也可以直接访问$\u GET/$\u POST 或者在控制器中,您可以执行以下操作:
$form = new Zend_form();
$form->populate($this->_getAllParams());
它将用$\u POST/$\u GET的所有值填充表单为什么不在表单中创建字段,然后在控制器中设置它的值,当表单已经实例化时?我想我更喜欢它。但是我可能是错误的,因为Jimmy C提出的解决方案更好