Link.newRecord ViewHelper <be:link.newRecord>
Use this ViewHelper to provide 'create new record' links. The ViewHelper will pass the command to FormEngine.
The table argument is mandatory, it decides what record is to be created.
The pid argument will put the new record on this page, if 0
given it will
be placed to the root page.
The uid argument accepts only negative values. If this is given, the new record will be placed (by sorting field) behind the record with the uid. It will end up on the same pid as this given record, so the pid must not be given explicitly by pid argument.
An exception will be thrown, if both uid and pid are given. An exception will be thrown, if the uid argument is not a negative integer.
To edit records, use the <be:link.editRecordViewHelper>.
Examples
Link to create a new record of a_table after record 17 on the same pid:
<be:link.newRecord table="a_table" returnUrl="foo/bar" uid="-17"/>
Output:
<a href="/typo3/record/edit?edit[a_table][-17]=new&returnUrl=foo/bar">
New record
</a>
Link to create a new record of a_table on root page:
<be:link.newRecord table="a_table" returnUrl="foo/bar""/>
Output:
<a href="/typo3/record/edit?edit[a_table][]=new&returnUrl=foo/bar">
New record
</a>
Link to create a new record of a_table on page 17:
<be:link.newRecord table="a_table" returnUrl="foo/bar" pid="17"/>
Output:
<a href="/typo3/record/edit?edit[a_table][17]=new&returnUrl=foo/bar">
New record
</a>
Link to create a new record then return back to the BE module "web_MyextensionList":
<be:link.newRecord table="a_table" returnUrl="{f:be.uri(route: 'web_MyextensionList')}" pid="17">
Output:
<a href="/typo3/record/edit?edit[a_table][17]=new&returnUrl=/typo3/module/web/MyextensionList">
New record
</a>
Link to create a new record of a_table on page 17 with a default value:
<be:link.newRecord table="a_table" returnUrl="foo/bar" pid="17" defaultValues="{a_table: {a_field: 'value'}}">
Output:
<a href="/typo3/record/edit?edit[a_table][17]=new&returnUrl=foo/bar&defVals[a_table][a_field]=value">
New record
</a>
Source code
Go to the source code of this ViewHelper: Link\NewRecordViewHelper.php (GitHub).
Arguments
Allows arbitrary arguments
This ViewHelper allows you to pass arbitrary arguments not defined below directly
to the HTML tag created. This includes custom
data-
arguments.
The following arguments are available for the link.newRecord ViewHelper:
accesskey
-
- Type
- string
Keyboard shortcut to access this element
additionalAttributes
-
- Type
- array
Additional tag attributes. They will be added directly to the resulting HTML tag.
aria
-
- Type
- array
Additional aria-* attributes. They will each be added with a "aria-" prefix.
class
-
- Type
- string
CSS class(es) for this element
data
-
- Type
- array
Additional data-* attributes. They will each be added with a "data-" prefix.
defaultValues
-
- Type
- array
- Default
- array ( )
default values for fields of the new record
dir
-
- Type
- string
Text direction for this HTML element. Allowed strings: "ltr" (left to right), "rtl" (right to left)
id
-
- Type
- string
Unique (in this file) identifier for this HTML element.
lang
-
- Type
- string
Language for this element. Use short names specified in RFC 1766
onclick
-
- Type
- string
JavaScript evaluated for the onclick event
pid
-
- Type
- int
the page id where the record will be created
returnUrl
-
- Type
- string
- Default
- ''
return to this URL after closing the new record dialog
style
-
- Type
- string
Individual CSS styles for this element
tabindex
-
- Type
- integer
Specifies the tab order of this element
table
-
- Type
- string
- Required
- 1
target database table
title
-
- Type
- string
Tooltip text of element
uid
-
- Type
- int
uid < 0 will insert the record after the given uid