我有一個處理上傳的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