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:
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.
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
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
table
-
- Type
- string
- Required
- 1
target database table
uid
-
- Type
- int
uid < 0 will insert the record after the given uid