The concepts behind TYPO3 extensions
The TYPO3 CMS is built entirely out of extensions. The Core consists of "system extensions" — some mandatory, others optional.
Thousands of extensions are available in the TYPO3 Extension Repository (TER), and many more are hosted on platforms like GitHub.
And for Composer-based setups, TYPO3 can pull in any PHP packages from Packagist.
Extensions allow TYPO3 to be extended in unlimited directions due to the robust TYPO3 Extension API - and without compromising backward compatibility.
System extensions
System extensions deliver TYPO3 core functionality. They have the Composer
type typo3-.
In classic mode installations you can find them in the
typo3/ directory.
These are the most important ones:
- typo3/cms-core
- Defines essential database tables (e.g., BE users, groups, pages, sys_*) and
default global configuration
(
core/). It also provides a large set of PHP base classes.Configuration/ Default Configuration. php - typo3/cms-backend
- Powers the TYPO3 backend interface including controllers, PHP classes, and the Fluid templates needed to operate the admin environment.
- typo3/cms-frontend
- Handles frontend rendering. Key components include content object classes
in
frontend/, which provide output for content types.Classes/ Content Object - typo3/cms-extbase
- TYPO3’s MVC framework. Provides structure for extensions. Works alongside Fluid, which handles the "View" layer.
- typo3/cms-fluid
- A standalone templating engine and the "View" in MVC. This extension
includes templating logic and many ViewHelpers
(
fluid/) for building flexible and reusable templates.Classes/ View Helpers - typo3/cms-install
- Contains the Install Tool, which is used for system setup, upgrades, and configuration.
Tip
You can use Composer Helper on get.typo3.org to generate a Composer command. Choose between default, minimal, or full TYPO3 installation presets, select optional individual packages and specify your desired TYPO3 version.
Scope of extensions: System, third-party or custom
Extension files are installed in thevendor/
folder by Composer. See also vendor/.
In Classic mode installations they are found in typo3/sysext/ (system extensions) or typo3conf/ext/ (third-party and custom extensions).
Third-party and custom extensions
Third-party and custom extensions must have Composer type typo3-:
{
"name": "myvendor/my-extension",
"type": "typo3-cms-extension",
"...": "..."
}
The extension will be installed in the vendor/
directory by Composer. Custom extensions like sitepackages
or extensions planned to be used in just one project can be kept under version
control in a directory like packages/. They are then
symlinked into vendor/ by Composer.
In Classic mode installations third-party extensions are installed into
typo3conf/ext/. Custom extensions can be kept in a
directory outside of the project root and symlinked into typo3conf/
or manually inserted in the directory.
System extensions
System extensions have Composer type typo3-:
{
"name": "typo3/cms-core",
"type": "typo3-cms-framework",
"...": "..."
}
Composer installs TYPO3 extensions (including system extensions) in the vendor/ directory.
In Classic mode installations they are installed in typo3/sysext/.