Configuration
T3Toon can be configured through the TYPO3 Extension Manager (Install Tool) or by passing per-call options via EncodeOptions and DecodeOptions.
Access configuration
Navigate to Admin Tools > Settings > Extension Configuration and select T3Toon – Token-Efficient Data Format for TYPO3 AI.
Extension configuration options
Escape style
- Type
-
string
- Default
-
backslash - Description
-
The style used for escaping special characters in TOON format.
Available options:
* backslash — Use backslash escaping (e.g. Hello\, world)
Minimum rows for tabular format
- Type
-
integer
- Default
-
2 - Description
-
Minimum number of rows required before converting arrays to tabular format.
When arrays have at least this many items with the same structure, they are converted to a more compact tabular format:
items[2]{id,done}:
1,false
2,true
Maximum preview items
- Type
-
integer
- Default
-
200 - Description
-
Maximum number of items to preview in nested structures.
This prevents extremely large arrays from generating unreadable output.
Coerce scalar types
- Type
-
boolean
- Default
-
1(enabled) - Description
-
Automatically convert string representations of booleans and numbers
When enabled:
``"true"`` → ``true`` (boolean)
"false" → false (boolean)
``"123"`` → ``123`` (integer)
"45.67" → 45.67 (float)
Programmatic defaults (code)
The following options are used by the service with defaults in code when not set in Extension Configuration:
- indent (int, default
2) — Spaces per indentation level - delimiter (string, default
',') — Field delimiter for tabular rows (comma or tab) - primitive_array_header (bool, default
false) — Emit primitive arrays as[N]: v1,v2,v3(spec-style)
Per-call options
You can override encoding and decoding behavior per call using EncodeOptions and DecodeOptions instead of changing global configuration. See Options (EncodeOptions & DecodeOptions).
Programmatic access
use RRP\T3Toon\Utility\ToonHelper;
$config = ToonHelper::getConfig();
// Returns full config including defaults:
// [
// 'indent' => 2,
// 'delimiter' => ',',
// 'escape_style' => 'backslash',
// 'min_rows_to_tabular' => 2,
// 'max_preview_items' => 200,
// 'coerce_scalar_types' => true,
// 'primitive_array_header' => false,
// ]
$merged = ToonHelper::getConfigMerged(['indent' => 4]);
// Merges overrides with extension config (e.g. for one-off encoding).