.. include:: /Includes.rst.txt .. _next-steps-developers: ============== For Developers ============== .. _next-steps-developers-extbase: .. _next-steps-developers-fluid: Fluid / Extbase =============== To find out more about Templating using Fluid and building your own extensions in Extbase, the following resources are recommended: * book: `Michael Schams: "TYPO3 Extbase: Modern Extension Development for TYPO3 CMS with Extbase & Fluid" `__ (3rd edition for TYPO3 9, not official documentation) * online resource: :doc:`t3extbasebook:Index` (official documentation, but partly outdated) .. important:: Note that currently, the online resource :doc:`t3extbasebook:Index` may be partly outdated. The `TYPO3 Extbase and Fluid book, 3rd edition `__ by Michael Schams was just released, so it should be up to date. You may also want to refer to the `Fluid ViewHelper reference `__ once you work with Fluid. TYPO3 Explained =============== "TYPO3 Explained" is part of the official documentation on docs.typo3.org. It is an extensive resource that aims to gives you an introduction to TYPO3, its extension architecture and a detailed outline of its API. The API Overview covers more than just the public functions of TYPO3, it also explains the concepts and how to use core functionality. It is (in most parts) well maintained. * Introduction: :ref:`t3coreapi:overview` * :ref:`t3coreapi:extension-architecture` (You should read the entire chapter except for "Creating a Distribution") * :ref:`t3coreapi:api-overview`: Start with the first chapter listed. Some of the sections listed in "TYPO3 Explained" are for specific use cases, which you might never need. We list a few chapters that explain general concepts, that you should definitely read. This is not a complete list: * :ref:`t3coreapi:directory-structure` : general directory structure of a TYPO3 installation * :ref:`t3coreapi:namespaces` * :ref:`t3coreapi:globals` * :ref:`t3coreapi:tce` Extension Builder ================= See :ref:`t3coreapi:extension-create-new`. It contains a description of how to create a new extension with the Extension Builder. References ========== There are a number of dedicated references for TCA, TSconfig, TypoScript and Fluid. Have a look in this list: * :ref:`next-steps-references`. You will definitely need these, if you want to get serious about developing for TYPO3. Extensions ========== You can also look at existing extensions to see how other developers have built their extensions. All (publicly available) third party extensions are listed in the `TYPO3 Extension Repository `__. You can do a search, and then click on "Code Insights" to go to the code repository. .. important:: Make sure to always choose an extension that supports the TYPO3 version you are using. So, if you are using TYPO3 9, restrict your search to extensions, that already support TYPO3 9. TYPO3 has gone through several large changes between each major version, so be sure to look at code and documentation for your current version. .. figure:: ../../Images/search-ter.png :class: with-shadow :alt: search in TER Search in TYPO3 Extension Repository for extensions that support version 9. Some extensions that are already used as examples in the documentation are: For Developing Backend Modules: ------------------------------- Styleguide ~~~~~~~~~~ * **Source:** `TYPO3 CMS Backend Styleguide `__ * **Important:** Do not let the notice "Outdated extension" in the `TYPO3 Extension Repository `__ confuse you. It is not outdated and you can use it by installing it! * **Description:** "Presents most supported styles for TYPO3 backend modules. Mocks typography, tables, forms, buttons, flash messages and helpers. More at https://github.com/7elix/TYPO3.CMS.Styleguide." * The **extension key** is **styleguide**. * `Installation `__ Look at the Core Source-Code ============================ Of course, you can also look at the TYPO3 source code. For online browsing, you can use `GitHub `__. Again, make sure to look in the correct branch for your version. Not Found What You Were Looking For? ===================================== .. tip:: You can also go to the :ref:`slack` channel **#typo3-cms** and ask for recommendations about what to read for your particular task.