See CommentPlugin: Customisation for help.
While this topic can be viewed as a topic, it is used by the CommentPlugin as a template file. The syntax is the same as used for the templates used for presentation in skins - see SkinTemplates. The important content in here is in the verbatim blocks. The rest of the topic is just comments.
See CommentPluginExamples to view rendered templates
Put your local templates into UserCommentsTemplate? (create if it does not exist yet). Local templates defined in that topic will override templates defined below.
Note that the use of URLPARAM in the templates should be done in a way that prevents Cross Site Scripting attacks. The safest is to let URLPARAM encode the unsafe characters (default) but this prevents the user from entering Foswiki macros in the comment input fields. It is however safe to use encode="off" when the following rules are observed.
%TMPL:DEF{promptbox}%<div class="commentPlugin commentPluginPromptBox"><table border="0" cellpadding="0" cellspacing="0"><tr valign="middle"><td><textarea %DISABLED% rows="%rows|3%" cols="%cols|70%" name="comment" class="foswikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea></td><td> <input %DISABLED% type="submit" value="%button|Add comment%" class="foswikiButton" /></td></tr></table></div><!--/commentPlugin-->%TMPL:END%Short comment, signed and dated
%TMPL:DEF{outputoneliner}% * %URLPARAM{"comment" encode="off"}% -- %WIKIUSERNAME% - %GMTIME{"$day $month $year"}%%TMPL:END%
See rendered template Default
%TMPL:DEF{PROMPT:top}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:top}%%TMPL:P{outputoneliner}%%POS:TOP% %TMPL:END%
See rendered template top
%TMPL:DEF{PROMPT:bottom}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:bottom}%%POS:BOTTOM%%TMPL:P{outputoneliner}%%TMPL:END%
See rendered template bottom
%TMPL:DEF{PROMPT:above}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:above}%%POS:BEFORE%%TMPL:P{OUTPUT:threadmode}%%TMPL:END%
See rendered template above
inputsize
, for example:
%COMMENT{type="bulletabove" inputsize="20"}%
%TMPL:DEF{PROMPT:bulletabove}%<input class="foswikiInputField" name="bullet_above_item" id="bullet_above_item" type="text" size="%inputsize|40%" value="%URLPARAM{"bullet_above_item"}%" /> <input %DISABLED% type="submit" value="%button|Add item%" class="foswikiButton" />%TMPL:END%
%TMPL:DEF{OUTPUT:bulletabove}% * %URLPARAM{"bullet_above_item" encode="off"}%%POS:BEFORE% %TMPL:END%
See rendered template bulletabove
%TMPL:DEF{PROMPT:threadmode}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:threadmode}%%POS:BEFORE% %URLPARAM{"comment" encode="off"}% -- %WIKIUSERNAME% - %DATE% %TMPL:END%
See rendered template threadmode
%TMPL:DEF{PROMPT:belowthreadmode}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:belowthreadmode}%%POS:AFTER% ---++++ %WIKIUSERNAME% - %SERVERTIME% %URLPARAM{"comment" encode="off"}% %TMPL:END%
See rendered template belowthreadmode
%TMPL:DEF{PROMPT:below}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:below}%%POS:AFTER%%TMPL:P{outputoneliner}% %TMPL:END%
See rendered template below
%TMPL:DEF{PROMPT:tableprepend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableprepend}%%POS:AFTER%| %URLPARAM{"comment" newline="<br />" encode="off"}% | %WIKIUSERNAME% | %SERVERTIME% | %TMPL:END%
See rendered template tableprepend
%TMPL:DEF{PROMPT:tableappend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableappend}%%POS:BEFORE%| %URLPARAM{"comment" newline="<br />" encode="off"}% | %WIKIUSERNAME% | %SERVERTIME% | %TMPL:END%
See rendered template tableappend
%TMPL:DEF{PROMPT:after}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:after}%%NOP%%TMPL:P{outputoneliner}% %POS:BEFORE%%TMPL:END%
See rendered template after
%TMPL:DEF{PROMPT:action}% %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}% | <label for="action_who">Action for</label>| <input class="foswikiInputField" name="action_who" id="action_who" type="text" size="50" value="%URLPARAM{"who"}%" /> | | <label for="action_due">Due date</label>| <input class="foswikiInputField" name="action_due" id="action_due" type="text" size="30" value="%URLPARAM{"due"}%" /> | | <label for="action_comment">Comment</label>| <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="action_comment" id="action_comment" class="foswikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> | || <input %DISABLED% type="submit" class="foswikiButton" value="Add action" /> | %TMPL:END%
%TMPL:DEF{OUTPUT:action}%%POS:BEFORE%%AC%NOP%TION{who="%URLPARAM{"action_who" encode="off"}%" due="%URLPARAM{"action_due" encode="off"}%"}% %URLPARAM{"action_comment" encode="off"}%<br />- Created by %WIKIUSERNAME%, %SERVERTIME%%ENDACTION% %TMPL:END%
See rendered template action
%TMPL:DEF{PROMPT:table}% %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}% | <label for="comment_date">Date</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="comment_date" id="comment_date" /> | | <label for="comment_city">City</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="comment_city" id="comment_city" value="" /> | || <input %DISABLED% type="submit" class="foswikiButton" value="%button|Add entry%" /> | %TMPL:END%
%TMPL:DEF{OUTPUT:table}%%POS:BEFORE%| %URLPARAM{"comment_date" encode="off"}% | %WIKIUSERNAME% | %URLPARAM{"comment_city" encode="off"}% | %TMPL:END%
See rendered template table
%TMPL:DEF{PROMPT:toctalk}% %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}% | <label for="comment_summary">Summary</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="comment_summary" id="comment_summary" /> | | <label for="toctalk_comment_text">Message</label>| <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="toctalk_comment_text" id="toctalk_comment_text" class="foswikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> | || <input %DISABLED% type="submit" value="%button|Add%" class="foswikiButton" /> | %TMPL:END%
%TMPL:DEF{OUTPUT:toctalk}% %POS:BEFORE%---++++ %SERVERTIME% %WIKIUSERNAME%: %URLPARAM{"comment_summary" encode="off"}% %POS:BEFORE%%URLPARAM{"toctalk_comment_text" encode="off"}% %POS:BEFORE% %TMPL:END%
See rendered template toctalk
%TMPL:DEF{PROMPT:bookmark}% %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}% | <label for="comment_url">Url</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="comment_url" id="comment_url" value="http://" /> | | <label for="comment_link">Link label</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="comment_link" id="comment_link" /> | | <label for="bookmark_comment_text">Comment</label>| <input class="foswikiInputField" %DISABLED% type="text" size="40" name="bookmark_comment_text" id="bookmark_comment_text" value="%MESSAGE%" /> | || <input %DISABLED% type="submit" value="%button|Add bookmark%" class="foswikiButton" /> | %TMPL:END%
%TMPL:DEF{OUTPUT:bookmark}%%POS:BEFORE% * [[%URLPARAM{"comment_url" encode="entity"}%][%URLPARAM{"comment_link" encode="entity"}%]] %IF{" '%URLPARAM{"bookmark_comment_text" encode="entity"}%' = '' " then="" else="- "}%%URLPARAM{"bookmark_comment_text" encode="entity"}% %TMPL:END%
See rendered template bookmark
target
is set in the PROMPT
. In the form below the redirectto
is set to the current (including) topic.
%TMPL:DEF{returnpromptbox}% <input type="hidden" name="redirectto" value="%BASEWEB%.%BASETOPIC%" /> %TMPL:P{promptbox}% %TMPL:END%
%TMPL:DEF{PROMPT:return}%%TMPL:P{returnpromptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:return}%%POS:BEFORE%%TMPL:P{OUTPUT:threadmode}%%TMPL:END%
See rendered template return
Including UserCommentsTemplate? ("Template" gets automatically appended to the name):