Feature: #84983 - BE ViewHelper for EditDocumentController
See forge#84983
Description
Linking to FormEngine / EditDocumentController in fluid templates of backend modules to edit database records and to create new records, has been simplified by introducing a series of new view helpers.
Usage:
New record URI and Link view helper
Outputs the uri / the link to bring up FormEngine with the create new record form.
Available view helper arguments:
- table
- Mandatory. The database table the record belongs to.
- uid
- Optional. Negative value of the uid of the record the new record should be placed after. Must be negative!
- pid
- Optional. The pid of the page the record should be placed to. Must be zero or positive. If not given, defaults to zero (root page).
- returnUrl
- Optional. If given, the form redirects to that URL after save / close.
Note
The ViewHelper accepts either pid or uid to be set, not both. If none is set, the record will be put to pid 0, if the TCA configuration of the table allows this.
<!-- URI to add a new news record on page 11 -->
<be:uri.newRecord pid="11" table="tx_news_domain_model_news" />
<!-- URI to add a new news record on root page -->
<be:uri.newRecord table="tx_news_domain_model_news" />
<!-- URI to add a new news record sorted after news record 17 and on the same pid as record 17 -->
<be:uri.newRecord uid=-17 table="tx_news_domain_model_news" />
<!-- Full link to add a new news record on page 25 -->
<be:link.newRecord pid="25" table="tx_news_domain_model_news">create news article</be:link.newRecord>
Edit record URI and Link view helper
Outputs the uri / the link to bring up FormEngine with the records edit form.
Available view helper arguments:
- table
- Mandatory. The database table the record belongs to.
- uid
- Mandatory. The uid of the record to be edited.
- returnUrl
- Optional. If given, the form redirects to that URL after save / close.
<!-- URI to edit the news record with uid 43 -->
<be:uri.editRecord uid="43" table="tx_news_domain_model_news" />
<!-- Link to edit the news record with uid 43 -->
<be:link.editRecord uid="43" table="tx_news_domain_model_news" />
Impact
Extensions must no longer provide their own ViewHelpers for editing and creating records. The ones provided from ext:backend are public API.