See Cookbook:PmForm. You can create local PmForm templates in the page Site.LocalTemplates?.


This form is displayed when form=#mailform is displayed by a pmform target.

(:template default successpage='' :)
(:input pmform target={$$target} successpage="{$$successpage}" :)
(:input default request=1:)
||$[Your address]: ||(:input text from size=30:) ||
||$[Subject]:      ||(:input text subject size=30:) ||
(:input textarea text rows=15 cols=60:)\\
{$Captcha} (:input captcha:) \\
(:input submit name=post value='$[Send]':)
(:input end:)


This specifies the message to be sent when fmt=#mailpost is given by a pmform target. It verifies the existence of a from address, subject, and message text.

(:template require from errmsg="$[Missing 'from' address]" :)
(:template require subject errmsg="$[Missing message subject]" :)
(:template require text errmsg="$[Message text required]" :) 
(:template require if="captcha" errmsg="$[Captcha required]" :)

Sent via PmForm at {$$PageUrl}


(:input pmform target=comments:)
(:input default request=1:)
(:input default author "{$Author}" :)
'''Post a comment:'''
Name: (:input text author:) \\
Comments: \\
(:input textarea text rows=3 cols=40:) \\
(:input submit name=post value="$[Post]" :)
(:input hidden csum "Posted a comment via PmForm":)
(:input end:)


(:template defaults where=above :) 
(:template require author errmsg="$[Missing name]":)
(:template require text errmsg="$[Missing message]":)
(:template require text match="-*http:*,-*https:*" errmsg="Please don't post external links":)
-> Posted by {$$author} on {$$CurrentTime}