我有一个处理上传的Zend_Form_Element_File元素。我想知道的是,是否有可能只使用Zend_Form_Element_File元素,并仍然保持最初上传的值?通常这种事情将通过隐藏字段来处理,但我想保留在Zend_Form_Element_File元素中。在Zend_Form_Element_File中维护值
所以,我想如何做到这一点:
- 选择一个文件(foo.txt的)
- 上传与硬编码
- 在数据库中存储的文件名的目标文件
- 重新加载文件,但用数据库中存储的值预先填充文件元素(?)(foo.txt)
- 将该值传回时提交(或读取新提交的值(bar.txt)
我试着重写setValue()方法(抓住吸管),添加一个自定义装饰器,它将一个隐藏的元素放在文件元素旁边,并且将所有其他的装饰器和基本上更改为隐藏的字段领域。
我没有超级好运与任何因为挫折的约束。
那么,是否有可能做这样的事情?做到这一点的最佳方法是什么(除了在文件元素之间进行切换或者有一个空元素)?
谢谢。
是的,这是最佳做法。您是否有任何关于如何在单个Zend表单元素(例如Decorator)中完成这些工作的知识? – allnightgrocery 2010-06-26 19:59:55
您可能可以使用装饰器,只需将Zend_Form_Element_File扩展为某种更具体的应用程序特定元素即可。 – timdev 2010-06-26 20:27:41