blueways / bw-jsoneditor
Adds a JSON Form Editor type to the TYPO3 Backend. Edit JSON data with code formatting, syntax highlighting, auto repair and more.
Installs: 30 945
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
Requires
- typo3/cms-core: ^12.0 || ^13.0
Requires (Dev)
- armin/editorconfig-cli: ^2.0
- ergebnis/composer-normalize: ^2.44
- friendsofphp/php-cs-fixer: ^3.12
- friendsoftypo3/content-blocks: ^0.7.18 || ^1.0.0
- helhum/typo3-console: ^8.0
- helmich/typo3-typoscript-lint: ^3.2
- nikic/php-parser: 4.19.4 as 5.3.1
- saschaegerer/phpstan-typo3: ^1.1
- ssch/typo3-rector: ^2.10
- symfony/translation: ^7.1
This package is auto-updated.
Last update: 2024-10-28 08:17:59 UTC
README
TYPO3 extension bw_jsoneditor
Integrates the svelte-jsoneditor into the TYPO3 Backend.
Installation
Composer
composer require blueways/bw-jsoneditor
TER
Download the zip file from TYPO3 extension repository (TER).
Usage
The extension adds a new custom input with
renderType jsonEditor
. You can use the new type in TCA or Content Blocks.
TCA
When adding a new field to your TCA, use the type user
and the renderType jsonEditor
:
ExtensionManagementUtility::addTCAcolumns('my_table', [ 'new_field' => [ 'label' => 'My JSON Field', 'config' => [ 'type' => 'user', 'renderType' => 'jsonEditor', ], ], ]);
Make sure the database column of your field is large enough:
-- ext_tables.sql CREATE TABLE my_table ( new_field text );
Content Blocks
You can use the new renderType in Content Blocks by adding the following configuration:
fields: - identifier: new_field label: 'My JSON Field' type: Textarea renderType: jsonEditor
Configuration
You can configure the JSON Editor with the offical API by adding the settings to the options array:
$GLOBALS['TCA']['my_table']['columns']['my_field']['config']['options'] = [ 'mode' => 'tree' ];
The new option height
controls the maximum height of the editor, it defaults to auto
. Setting a value in pixels will
set a fixed height to the editor.
License
This project is licensed under GNU General Public License 2.0 (or later).