a:1:{s:4:"rows";a:38:{i:0;a:6:{s:8:"property";s:4:"data";s:8:"datatype";s:15:"string /stdWrap";s:11:"description";s:102:"This is the data that sets up the form. See above.<br>&quot;||&quot; can be used instead of linebreaks";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:1;a:6:{s:8:"property";s:9:"dataArray";s:8:"datatype";s:31:"<i>[array of form elements]</i>";s:11:"description";s:2835:"This is an alternative way to define the form-fields. Instead of using the syntax with vertical separator bars suggested by the .data property, you can define the elements in regular TypoScript style arrays.<br>.dataArray is <i>added </i>to the input in .data if any.<br>Every entry in the dataArray is numeric and has three main properties, <i>label</i>, <i>type</i>, <i>value</i> and <i>required</i>. &#039;label&#039; and &#039;value&#039; has stdWrap properties. <br>There is an alternative property to .value, which is .valueArray. This is also an array in the same style with numeric entries which has properties <i>label</i>, <i>value</i> and <i>selected</i>. &#039;label&#039; has stdWrap properties.<br>&nbsp;<b><br>Example:</b><br>&nbsp;&nbsp;&nbsp;dataArray {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.label = Name:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.type = name=input<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.value = [Enter name]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.required = 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.label = Eyecolor<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.type = eyecolor=select<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.valueArray {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.label = Blue<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.value = 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.label = Red<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.value = 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.selected = 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40.type = submit=submit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40.value = Submit<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;<br>&nbsp;<br>This is the same as this line in the .data property:<br>&nbsp;<br>Name: | *name=input | [Enter name]<br>Eyecolor: | eyecolor=select | Blue=1, *Red=2<br>| submit=submit | Submit<br>&nbsp;<br>&nbsp;<b>Why do it this way?</b> <br>Inserting an email-field after the name field would be like this:<br>&nbsp;&nbsp;&nbsp;dataArray {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15.label = Email:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15.type = input<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15.value = <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15.specialEval = EMAIL<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;<br>&nbsp;Or translating the form to danish (setting config.language to &#039;dk&#039;):<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;dataArray {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.label.lang.dk = Navn:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.value.lang.dk = [Indtast dit navn]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.label.lang.dk = &#xd8;jenfarve<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.valueArray {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.label.lang.dk = Bl&#xe5;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.label.lang.dk = R&#xf8;d<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40.value.lang.dk = Send<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:2;a:6:{s:8:"property";s:9:"radioWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:33:"Wraps the labels for radiobuttons";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:3;a:6:{s:8:"property";s:4:"type";s:8:"datatype";s:3:"int";s:11:"description";s:742:"Type (action=&quot;&quot; of the form):<br>&nbsp;<br>&nbsp;<b>Integer:</b> this is regarded to be a page in TYPO3<br>&nbsp;<b>String:</b> this is regarded to be a normal URL (eg. &quot;formmail.php&quot; or &quot;fe_tce_db.php&quot;)<br>&nbsp;<b>Empty:</b> the current page is chosen.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> If type is integer/empty the form will be submitted to a page in TYPO3 and if this page has a value for target/no_cache, then this will be used instead of the default target/no_cache below.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> If the redirect-value is set, the redirect-target overrides the target set by the action-url<br>&nbsp;<br>&nbsp;<b>NOTE:</b> May be overridden by the property override feature of the formdata (see above)";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:4;a:6:{s:8:"property";s:6:"target";s:8:"datatype";s:6:"target";s:11:"description";s:28:"Default target of the form. ";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:5;a:6:{s:8:"property";s:6:"method";s:8:"datatype";s:11:"form-method";s:11:"description";s:23:"<b>Example: </b><br>GET";s:7:"default";s:4:"POST";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:6;a:6:{s:8:"property";s:8:"no_cache";s:8:"datatype";s:6:"string";s:11:"description";s:23:"Default no_cache-option";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:7;a:6:{s:8:"property";s:13:"noValueInsert";s:8:"datatype";s:7:"boolean";s:11:"description";s:434:"By default values that are submitted to the same page (and thereby same form, eg. at searchforms) are re-inserted in the form instead of any default-data that might be set up. <br>This, however, applies ONLY if the &quot;no_cache=1&quot; is set! (a page being cached may not include user-specific defaults in the fields of course...) <br>If you set this flag, &quot;noValueInsert&quot;, the content will always be the default content.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:8;a:6:{s:8:"property";s:20:"compensateFieldWidth";s:8:"datatype";s:6:"double";s:11:"description";s:85:"Overriding option to the config-value of the same name. See &quot;CONFIG&quot; above.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:9;a:6:{s:8:"property";s:12:"locationData";s:8:"datatype";s:16:"boolean / string";s:11:"description";s:1479:"If this value is true, then a hidden-field called &quot;locationData&quot; is added to the form. This field wil be loaded with a value like this:<br>[page id]:[current record table]:[current record id]<br>For example, if a formfield is inserted on page with uid = &quot;100&quot;, as a page-content item from the table &quot;tt_content&quot; with id &quot;120&quot;, then the value would be &quot;100:tt_content:120&quot;.<br>The value is use by eg. the cObject SEARCHRESULT. If the value $GLOBALS[&quot;HTTP_POST_VARS&quot;][&quot;locationData&quot;] is detected here, the search is done as if it was performed on this page! This is very usefull if you want a search functionality implemented on a page with the &quot;stype&quot; field set to &quot;L1&quot; which means that the search is carried out from the first level in the rootline. <br>Suppose you want the search to submit to a dedicated searchpage where ever. This page will then know - because of locationData - that the search was submittet from another place on the website.<br>If &quot;locationData&quot; is not only true but also set to &quot;HTTP_POST_VARS&quot; then the value will insert the content of $GLOBALS[&quot;HTTP_POST_VARS&quot;][&quot;locationData&quot;] instead of the true location data of the page. This should be done with search-fields as this will carry the initial searching start point with.<br>&nbsp;<b>NOTE:</b> May be overridden by the property override feature of the formdata (see above)";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:10;a:6:{s:8:"property";s:8:"redirect";s:8:"datatype";s:15:"string /stdWrap";s:11:"description";s:372:"URL to redirect to (generates the hidden field &quot;redirect&quot;)<br>&nbsp;<br>&nbsp;<b>Integer:</b> this is regarded to be a page in TYPO3<br>&nbsp;<b>String:</b> this is regarded to be a normal url<br>&nbsp;<b>Empty;</b> the current page is chosen.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> If this value is set the target of this overriddes the target of the &quot;type&quot;.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:11;a:6:{s:8:"property";s:9:"recipient";s:8:"datatype";s:38:"&nbsp;<i>(list of) string</i> /stdWrap";s:11:"description";s:89:"Email recipient of the formmail content (generates the hiddenfield &quot;recipient&quot;)";s:7:"default";s:8:"No email";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:12;a:6:{s:8:"property";s:8:"goodMess";s:8:"datatype";s:6:"string";s:11:"description";s:184:"Message for the formevaluation function in case of correctly filled form.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> May be overridden by the property override feature of the formdata (see above)";s:7:"default";s:10:"No message";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:13;a:6:{s:8:"property";s:7:"badMess";s:8:"datatype";s:6:"string";s:11:"description";s:238:"Prefixed Message for the formevaluation in case of missing required fields. <br>This message is shown above the list of fields.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> May be overridden by the property override feature of the formdata (see above)";s:7:"default";s:10:"No message";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:14;a:6:{s:8:"property";s:9:"emailMess";s:8:"datatype";s:6:"string";s:11:"description";s:180:"Message if a field evaluated to be an email adresse did not validate.<br>&nbsp;<br>&nbsp;<b>NOTE:</b> May be overridden by the property override feature of the formdata (see above)";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:15;a:6:{s:8:"property";s:5:"image";s:8:"datatype";s:20:"-&gt;IMAGE (cObject)";s:11:"description";s:171:"If this is a valid image the submitbutton is rendered as this image!!<br>&nbsp;<br>&nbsp;<b>NOTE:</b> CurrentValue is set to the caption-label before generating the image.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:16;a:6:{s:8:"property";s:6:"layout";s:8:"datatype";s:6:"string";s:11:"description";s:471:"This defines how the label and the field are placed towards each other.<br>&nbsp;<b><br>Example:</b><br>This substitutes the &quot;###FIELD###&quot; with the field data and the &quot;###LABEL###&#039; with labeldata. <br>&nbsp;<br>&lt;tr&gt;&lt;td&gt;###FIELD###&lt;/td&gt;&lt;td&gt; ###LABEL###&lt;/td&gt;&lt;/tr&gt;<br>&nbsp;<br>You can also use the marker ###COMMENT### which is ALSO the label value inserted, but wrapped in .commentWrap stdWrap-properties (see below)";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:17;a:6:{s:8:"property";s:9:"fieldWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:23:"Field: Wraps the fields";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:18;a:6:{s:8:"property";s:9:"labelWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:23:"Labels: Wraps the label";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:19;a:6:{s:8:"property";s:11:"commentWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:52:"Comments: Wrap for comments IF you use ###COMMENT###";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:20;a:6:{s:8:"property";s:3:"REQ";s:8:"datatype";s:7:"boolean";s:11:"description";s:58:"Defines if required-fields should be checked and marked up";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:21;a:6:{s:8:"property";s:13:"REQ.fieldWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:47:"Field: Wraps the fields, but for reuired fields";s:7:"default";s:34:"the &quot;fieldWrap&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:22;a:6:{s:8:"property";s:13:"REQ.labelWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:47:"Labels: Wraps the label, but for reuired fields";s:7:"default";s:34:"the &quot;labelWrap&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:23;a:6:{s:8:"property";s:10:"REQ.layout";s:8:"datatype";s:6:"string";s:11:"description";s:60:"The same as &quot;layout&quot; above, but for reuired fields";s:7:"default";s:31:"the &quot;layout&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:24;a:6:{s:8:"property";s:14:"COMMENT.layout";s:8:"datatype";s:6:"string";s:11:"description";s:32:"Alternative layout for comments.";s:7:"default";s:31:"the &quot;layout&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:25;a:6:{s:8:"property";s:12:"CHECK.layout";s:8:"datatype";s:6:"string";s:11:"description";s:33:"Alternative layout for checkboxes";s:7:"default";s:31:"the &quot;layout&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:26;a:6:{s:8:"property";s:12:"RADIO.layout";s:8:"datatype";s:6:"string";s:11:"description";s:35:"Alternative layout for radiobuttons";s:7:"default";s:31:"the &quot;layout&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:27;a:6:{s:8:"property";s:12:"LABEL.layout";s:8:"datatype";s:6:"string";s:11:"description";s:34:"Alternative layout for label types";s:7:"default";s:31:"the &quot;layout&quot;-property";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:28;a:6:{s:8:"property";s:7:"stdWrap";s:8:"datatype";s:12:"-&gt;stdWrap";s:11:"description";s:46:"Wraps the hole form (before formtags is added)";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:29;a:6:{s:8:"property";s:12:"hiddenFields";s:8:"datatype";s:18:"[array of cObject]";s:11:"description";s:221:"Used to set hiddenFields from TS.<br>&nbsp;<b><br>Example:</b><br>hiddenFields.pid = TEXT<br>hiddenFields.pid.value = 2<br>&nbsp;<br>This makes a hidden-field with the name &#x201c;pid&#x201d; and value &#x201c;2&#x201d;.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:30;a:6:{s:8:"property";s:6:"params";s:8:"datatype";s:27:"form-element tag parameters";s:11:"description";s:288:"Extra parameters to form elements<br>&nbsp;<b><br>Example:</b><br>params = style=&#x201d;width:200px;&#x201d;<br>params.textarea = style=&#x201d;width:300px;&#x201d;<br>params.check = <br>&nbsp;<br>This sets the default to 200 px width, but excludes check-boxes and sets textareas to 300.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:31;a:6:{s:8:"property";s:13:"wrapFieldName";s:8:"datatype";s:4:"wrap";s:11:"description";s:222:"This wraps the fieldnames before they are applied to the form-field tags.<br>&nbsp;<b><br>Example:</b><br>If value is then the fieldname &quot;email&quot; would be wrapped to this value: <i>tx_myextension[input][email]</i>";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:32;a:6:{s:8:"property";s:10:"noWrapAttr";s:8:"datatype";s:7:"boolean";s:11:"description";s:281:"If this value is true then all wrap attributes of textarea elements are suppressed. This is needed for XHTML-compliancy.<br>&nbsp;<br>The wrap attributes can also be disabled on a per-field basis by using the special keyword &quot;disabled&quot; as the value of the wrap attribute.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:33;a:6:{s:8:"property";s:15:"arrayReturnMode";s:8:"datatype";s:7:"boolean";s:11:"description";s:217:"If set, the &lt;form&gt; tags and the form content will be returned in an array as separate elements including other pratical values. This mode is for use in extensions where the array return value can be more useful.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:34;a:6:{s:8:"property";s:13:"accessibility";s:8:"datatype";s:7:"boolean";s:11:"description";s:461:"If set, then the form will be compliant with accessibility guidelines (XHTML compliant). This includes:<br>&nbsp;<br>label string will be wrapped in &lt;label for=&quot;formname[fieldname-hash]&quot;&gt; ... &lt;/label&gt;<br>All form elements will have an id-attribute carrying the formname with the md5-hashed fieldname appended<br>&nbsp;<br>&nbsp;<b>Notice: </b>In TYPO3 4.0 and later, CSS Styled Content is configured to produce accessible forms by default.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:35;a:6:{s:8:"property";s:8:"formName";s:8:"datatype";s:6:"string";s:11:"description";s:125:"An alternative name for this form. Default will be a unique (random) hash.<br>&nbsp;<br>&lt;form name=&#x201d;...&#x201d;&gt;";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:36;a:6:{s:8:"property";s:11:"fieldPrefix";s:8:"datatype";s:6:"string";s:11:"description";s:255:"Alternative prefix for the name of the fields in this form. Otherwise, all fields are prefixed with the form name (either a unique hash or the name set in the &#x201c;formName&#x201d; property). If set to &#x201c;0&#x201d;, there will be no prefix at all.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}i:37;a:6:{s:8:"property";s:17:"dontMd5FieldNames";s:8:"datatype";s:7:"boolean";s:11:"description";s:272:"The IDs generated for all elements in a form are md5 hashes from the fieldname. Setting this to true will disable this behaviour and use a cleaned fieldname, prefixed with the form name as the ID, instead.<br>This can be useful to style specifically named fields with CSS.";s:7:"default";s:6:"&nbsp;";s:12:"column_count";i:4;s:16:"is_propertyTable";i:1;}}}