user3873201
user3873201

Reputation:

Typo3 override backend classes

It's been a few weeks I work on Typo3 6.2 and I want to know how to override Typo3 Core classes.

In my case, I have to edit the way select html objects are displayed (I want to add optgroup but Typo doesn't allow us to do it). So I edited the file "FormEngine.php" (typo3/sysext/backend/Classes/Form) and now it works. But this isn't healthy for future upgrade.

Is there a way to override core classes like any other CMS would allow us to do ? And I haven't been able to find something on the Internet and I think it could be useful.

Upvotes: 0

Views: 884

Answers (1)

biesior
biesior

Reputation: 55798

Instead of modifying source code of CMS you can just declare a field with a user type and then point your custom userFunc

From the ref:

'tx_examples_special' => array (
        'exclude' => 0,
        'label' => 'LLL:EXT:examples/Resources/Private/Language/locallang_db.xlf:fe_users.tx_examples_special',
        'config' => array (
                'type' => 'user',
                'size' => '30',
                'userFunc' => 'Documentation\\Examples\\Userfuncs\\Tca->specialField',
                'parameters' => array(
                        'color' => 'blue'
                )
        )
),

TIP: Using this approach, you can create ANY type of field you need, it can be i.e. Google Maps selector, set of fields with common dependencies filled by JS, etc, etc.

Upvotes: 2

Related Questions