Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
Link.newRecord ViewHelper <be:link.newRecord>
Note
This ViewHelper is not available by default.
Import its namespace
{namespace be=TYPO3\
in the Fluid file or
xmlns:
in the opening HTML tag.
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">
Edit 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">
Edit 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">
Edit 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">
Edit 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">
Edit record
</a>
Source code
Go to the source code of this ViewHelper: NewRecordViewHelper.php (GitHub).
Arguments
The following arguments are available for <be:
:
additionalAttributes
-
- Type
- mixed
Additional tag attributes. They will be added directly to the resulting HTML tag.
data
-
- Type
- mixed
Additional data-* attributes. They will each be added with a "data-" prefix.
aria
-
- Type
- mixed
Additional aria-* attributes. They will each be added with a "aria-" prefix.
class
-
- Type
- string
CSS class(es) for this element
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
style
-
- Type
- string
Individual CSS styles for this element
title
-
- Type
- string
Tooltip text of element
accesskey
-
- Type
- string
Keyboard shortcut to access this element
tabindex
-
- Type
- integer
Specifies the tab order of this element
onclick
-
- Type
- string
JavaScript evaluated for the onclick event
uid
-
- Type
- mixed
Uid < 0 will insert the record after the given uid
pid
-
- Type
- mixed
The page id where the record will be created
table
-
- Type
- string
- Required
true
Target database table
returnUrl
-
- Type
- string
Return to this URL after closing the edit dialog
defaultValues
-
- Type
- mixed
- Default
array
()
Default values for fields of the new record