At 09:43 PM 11/4/2002 +0100, you wrote:
Hi beno,
Hi; Okay, I *am* going to write a How-To on this when I get it all figured out with your help. This needs to be done. In DTML, we do this to render the fields:
<dtml-in "form.get_fields()"> <dtml-let field=sequence-item> <tr> <td><dtml-var "field.get_value('title')"></td> <td><dtml-var "field.render()"></td>
etc. How do I do this same thing in Python? Here's the start of the code:
mailhost=getattr(context, context.superValues('Mail Host')[0].id)
This much works. Now, I need to be able to call the values of the Formulator form (named *email_us_formulator*). An example of a value is *YourEmail*. How would I access this value with Python?
Maybe read the fine python tutorial ;-)
How many times? I imagine it will eventually start to sink in...
e.g. the equivalent to "<dtml-in> are "for" loops:
form = context.email_us_formulator for fiels in form.fields(): print '<td>' + field.get_value('title') + '</td>'
Hmmm. This didn't work. It threw an AttributeError on *fields*. Just to be sure, I changed your line to for x in form.fields(): and it was the form.fields() that was erroring. Why would it work in DTML and not in Python?
Scott Burton has written an HowTo which may be helpful either:
Yep. Read it many times. Before I ever wrote the list. Some of it's pretty obtuse. And it's written specifically for password authentication: not my application.
It is also linked via the Formulator page on zope.org ... looking up the resources in the web may even be faster than asking the list ;)
I try. Really, I do :)) Thanks, beno