我有一个实例化的zend表单
$form = Form_Example();
现在我想将控制器中的ID传递给我的表单。
所以我这样做了:
$form = Form_Example(array('id' => $id));
在表单中,我尝试通过以下方式调用它:
$this->id
但它不存在。
有人知道如何将该ID转换为表单吗?
由于
答案 0 :(得分:12)
确保您拥有该元素的setter,在您的案例public function setId($id)
中。 Zend_Form构造函数检查属性是否存在setter方法,如果存在则调用它,否则它设置表单的属性,参见setAttrib($key, $value)
。
最终结果将是这样的
class Application_Form_YourForm extends Zend_Form {
/**
* Id
* @var <type>
*/
protected $_id = null;
/**
* Setter for ID
* @param <type> $id
*/
public function setId($id){
$this->_id = $id;
}
// Rest of your code...
}
答案 1 :(得分:3)
您应该可以使用
访问表单中的id
属性
$this->_attribs['id']