The recipe is marked that it needs to be reviewed. The provided information may be incomplete and/or outdated. Help us improve it!
Read the recipe carefully and report any improvements that could be made.


You have the feeling that a website you want to create is in need of a new contao extension that does not yet exist in the extension repository. You know that you can create your own modules for Contao, but what exactly is extendable?


Basically, there are two kind of extensions for Contao: Extensions that affect the backend and extensions that affect the frontend. A Contao extension is not limited to either frontend or backend but can tap into both parts of the CMS - most times you want to collect some data and store it in the backend, then display it on your website (the frontend). And since Contao is built upon a great level of class inheritance and built very modular by concept, you are able to extend or manipulate almost any part of it to your desire.


There are a couple of obvious extension types which we will cover in later recipes:

  • Backend Areas - This kind of module adds a entry to the backend navigation sidebar and can be accessed through that entry.
  • Content Element - You can add content element to articles. They get rendered on the website.