Configuration
Overview
There is no global extension configuration here. T3 DataTable ships no
ext_conf_template.txt, and there are no options to set in the install tool.
You configure everything per grid inside Grid.
Service registration
The extension ships these configuration files:
Configuration/sets up autowiring and theServices. yaml t3datatable.gridtag.Configuration/registers the shared data endpoint.Backend/ Ajax Routes. php Configuration/adds the ES module to the import map.Java Script Modules. php Configuration/registers the demo backend module only.Backend/ Modules. php
Consumer extensions must add the _instanceof rule in their own
Configuration/:
_instanceof:
HRR\T3Datatable\Contract\GridInterface:
tags: ['t3datatable.grid']
Copied!
Grid definition options
Use Grid inside Grid:
$definition
->addColumn('uid', 'UID', searchable: false, orderable: true)
->addColumn('title', 'Title', searchable: true, orderable: true)
->setDefaultOrder('crdate', 'DESC')
->setPageLength(25)
->withDeletedRestriction()
->withHiddenRestriction();
Copied!
| Method | Purpose |
|---|---|
addColumn() | Declare a column (name, label, searchable, orderable) |
setDefaultOrder() | Fallback sort when the client sends no order |
setPageLength() | Default page size hint (client may override via length) |
withDeletedRestriction() | Adds deleted = 0 (table must have deleted column) |
withHiddenRestriction() | Adds hidden = 0 (table must have hidden column) |
Security defaults
- Column names from the client are validated against the grid allowlist.
- All query values use Doctrine named parameters.
- The AJAX controller requires an authenticated backend user.