How-Tos

More detailed solutions

Adding Folders with Contents with FormGen
Adding content: Folders and contents in the folders with Plone FormGen
Adding support for Re-Captcha
PloneFormGen has built-in support for Re-Captcha. This little howto-tells you how to enable it.
Create a Multi-Page Form
You can create a multi-page form as a chain of form folders.
Creating Content from PFG
This how-to covers simple creation of portal content from PloneFormGen. We'll create web pages from sample form submissions.
Creating Custom Validators
PloneFormGen allows you to create a custom field-input validator by specifying a TALES expression that will be used to validate input when it's submitted. This how-to explains what that means, and offers a few examples.
Customizing an Individual Thanks Page
It's not hard to customize the thanks page for an individual form. This trick is particularly useful for purposes like adding 'pay now' buttons.
Installing a JavaScript Event Handler in a Form
This how-to presents an example of using a PloneFormGen form override to enable a dynamic totalling function in an order form.
Overriding Field Defaults Dynamically
PloneFormGen allows you to supply dynamic field defaults by specifying a TALES expression in the Default Expression field of the overrides fieldset (sub-form). This how-to explains what that means, and offers a few examples.
Pass Form elements to External Method
A quick outline of how to pass request.form elements to an external method for file system processing
Restyle A Form
How to inject CSS into a form page to turn a label green ... or pretty much anything else.
Use a Selection Field to Pick Mail Destination
You may allow form users to use a selection field to choose a destination address for their form input.
Use an AT Vocabulary Manager Vocabulary in a Selection Field
You may use a simple vocabulary from AT Vocabulary Manager to populate the options of a selection or multiple-selection form field.
What's in a Request
If you're trying to use PloneFormGen overrides, you're going to need to use the request object. Here's a quick trick for exploring it.