Hi beno, [snip dtml code]
In ZPT, it would be
<tr tal:repeat="field here/form/get_fields"> <td tal:content="python: field.get_value('title')" /> <td tal:content="structure field/render" /> </tr>
As you see, it's easier than in DTML.
Actually, I need to do this in Python, since I'm calling the MailHost. I figured out how to do that, but discovered that's not what I wanted <:-) What I *really* need is to be able to call the values the visitor enters into the fields in the form. For example, on the page to which POST sends I would write something like this in DTML: <dtml-var the_variable_the_visitor_filled_in_goes_here> and it would render the information accordingly. I need to do that in *Python*, not ZPT. How?
Actually You want to verify the submitted form data first, then read out the data to do something, I guess. This looks like: from Products.Formulator.Errors import ValidationError, FormValidationError try: result = context.email_us_formulator.validate_all(context.REQUEST) except FormValidationError, e: # render error message; e.g. see mailing thread at: # http://sourceforge.net/mailarchive/forum.php?thread_id=1272274&forum_id=1702 # if verification succeeded, You now have all filled in values # in the dictionary "result" try: mailhost=getattr(context, context.superValues('Mail Host')[0].id) except: raise AttributeError, "cant find a Mail Host object" mTo = 'beno@thewebsons.com' mFrom = result['YourEmail'] # assuming 'YourEmail' is the id of the corresponding Formulator Field mSubj = 'subject' # assume Field ids beeing 'YourName', 'YourPhone', etc ... message = "Hi, Mike! You've just been sent an email from your Web site!\n\n" message += "Sender's name: " + result['YourName'] + "\n" message += "Sender's phone: " + result['YourPhone'] + "\n" message += "Sender's email: " + result['YourEmail'] + "\n\n" message += "Sender's comments: " + result['YourMessage'] + "\n" mMsg = message mailhost.send(mMsg, mto=mTo, mfrom=mFrom, subject=mSubj) # feedback message: needs a ZPT with id "mail_send" # read name of submitter from "options/name" in this ZPT return context.mail_send(name=result['YourName']) Note 1: I did not rewrite the String concatenation as proposed in a previous posting in this thread. This does not mean I have any objections to it; I have just been to lazy to retype the example. Note 2: I admit I did not test the code this time, again. Sorry for any typos ... Cheers, Clemens