Once upon a time, somewhere back in mid 2015 I dived into a big adventure that came to an end (for the time being) - the core extension t3editor.

Continue reading...

When you create a new content element by using the record wizard, you'll get a tab-based list of possible content elements to choose from. In the old days, those were PHP classes known as "wizicons" and automatically created by the kickstarter extension. You may guessed it already, it's about $GLOBALS['TBE_MODULES_EXT']['xMOD_db_new_content_el']['addElClasses'].

Continue reading...

Migrating an old extension can be a tough job, especially when the extension was developed before TYPO3 CMS 6.2 times and thus doesn't follow the current best practises. In this article I'll show you how to migrate the TCA placed in an ext_tables.php file of a real extension that was originally developed for TYPO3 4.5.

Continue reading...

AJAX with PSR-7

psr-7 backend frontend tutorial

1 minute, 59 seconds

As stated in the previous article, you may also use PSR-7 for AJAX requests. However, the implementation in the backend and the frontend is different. This article explains how you setup so-called "routes" for backend AJAX requests and how eIDs look like for the frontend.

Continue reading...

PSR-7 for backend modules

psr-7 backend tutorial

3 minutes, 33 seconds

Ah, you have a non-extbase extension whose content is cleanly structured into Classes, Configuration, Resources, etc. But then there are these pesky modX/index.php files for your backend modules. That's not nice, but there is help: PSR-7. This tutorial shows how to setup your backend modules according to PSR-7.

Continue reading...

RequireJS in backend modules

javascript tutorial

3 minutes, 34 seconds

Since TYPO3 CMS 7 it is possible to use RequireJS in the backend. A short explanation: RequireJS enables developers to have some kind of dependency handling for JavaScript. The JavaScript is written as so-called "Asynchronous Module Definition" (AMD). Some libraries delivered with TYPO3 are written as modules. This tutorial explains how you can write such modules on your own.

Continue reading...