2009/03/20

Make Plone3 Forms the easy way

plone.app.z3cform 能讓 Plone3 應用 z3c.form 來建立表單。在 Plone2 初期開始引用 Archetypes 工具建立表單,此方案過於複雜,不適合建立獨立而簡單的表單場合。另一個 zope.formlib 工具,也有人覺得 adaptability 與 widget 不足。

在架構上,最底層是 z3c.form,而 plone.z3cform 是 z3c.form 的介面,最後再由 plone.app.z3cform 提供 widget 與 utility 給表單開發者。使用 plone.app.z3cform 所建立的表單,原則上就等同於利用 z3c.form 在 Zope 3 環境裡所建立的表單,開發過程也可直接參考 z3c.form 的文件

更多範例可參考 http://plone.org/documentation/how-to/easy-forms-with-plone3 和 http://kayeva.wordpress.com/2008/07/16/using-z3cform-for-our-forms-in-plone

也可以 svn co https://svn.plone.org/svn/collective/collective.dancing/trunk/collective/dancing 查看 Singing & Dancing 的程式碼範例。

2 comments:

Cyt said...

你好,謝謝你寫了這麼仔細的安裝教學[http://www.iis.sinica.edu.tw/~marr/python/PloneInstall.html],讓我很快就把系統裝起來。

不過,我發現有一個問題是,我的 Linux 系統 Timezone 是對的,但是 Plone 裡卻沒有正確顯示我的時間。請問這要怎麼設定呢?

我看到這篇[http://forum.webfaction.com/viewtopic.php?id=819]有說去改 buildout.cfg,增加 zope-conf-additional 的方式,不過我自己在 Plone-3.2.1 上測試,是不能這樣寫的。不知道你有沒有遇到這樣的問題?

marr said...

如果 Plone 裡新建的文件,時間都晚 13 小時的話,應是 CST 時區被 Zope 當作 US/Central 了,找到 DateTime.py 裡面的設定改成 cst: GMT+8 就行。可參考 http://blog.czug.org/panjy/zope-datetime-bug
如果不是上述狀況,那可再查 http://regebro.wordpress.com/2008/05/10/python-and-time-zones-part-2-the-beast-returns