[Zope-CMF] Re: Formlib implementation for folder contents
Dylan Jay
gmane at dylanjay.com
Tue Jun 24 22:10:23 EDT 2008
Have you thought about making contents a widget rather than a form? Then
it would be easy combine with other forms on folderish items.
Charlie Clark wrote:
> Hi,
>
> now that I've had a couple of months practice with browser views in
> general and formlib in particular and also because I've got a particular
> itch to scratch I've started on a formlib version of folder_contents and
> I've now got a skeleton version of the form. Well, I've got the form at
> least!
>
> What I've done so far:
>
> * a view based on EditForm (haven't quite mastered redirects in
> PageForm) but not using setUpEditWidgets - I pass the field values in as
> 'data'. Fields are distinguished from each other using the prefix argument
>
> field = form.FormField(f, n, item.id) # using an interface
> self.form_fields += form.FormFields(field)
>
> * turned the buttons into actions - probably the easiest part :-)
>
> * generate fields (Boolean for the checkboxes)
>
> * use a custom template to iterate through the folder items and call the
> appropriate widgets. Although this works it's a bit clumsy. This is the
> rather stripped-down HTML and I'm anticipating renaming on the form.
>
> <form class="form" action="." method="post" enctype="multipart/form-data"
> tal:attributes="action request/ACTUAL_URL">
> <table>
> <tr>
> <th>Select</th>
> <th>Name</th>
> <th>Last Modified</th>
> <th>Position</th>
> </tr>
> <tr tal:repeat="item context/contentValues">
> <td tal:content="structure python: view.widgets['%s.select'
> %item.id]()">Checkbox</td>
> <td tal:content="structure python: view.widgets['%s.name'
> %item.id]()"></td>
> <td tal:content="item/ModificationDate"></td>
> <td tal:content="repeat/item/number"></td>
> </tr>
> </table>
> <div class="buttons">
> <tal:loop tal:repeat="action view/actions"
> tal:replace="structure action/render" />
> </div>
> </form>
>
> While I can probably tidy this up to use a method in the view I'm not
> convinced it's entirely the right way to do this. But it works!
>
> I'll continue working - the actions themselves should be most
> straightforward on this but would appreciate any comments.
>
> Charlie
> --
> Charlie Clark
> Helmholtzstr. 20
> Düsseldorf
> D- 40215
> Tel: +49-211-938-5360
> GSM: +49-178-782-6226
>
>
>
> _______________________________________________
> Zope-CMF maillist - Zope-CMF at lists.zope.org
> http://mail.zope.org/mailman/listinfo/zope-cmf
>
> See http://collector.zope.org/CMF for bug reports and feature requests
>
More information about the Zope-CMF
mailing list