
Introduction
In this article I will try to tell you what TYPO3 is, what advantages and disadvantages of this CMS are, how TYPO3 differs from other CMS and what is its scope of application. This article is most likely for those who have never worked with TYPO3. I have no doubt that people with more experience than I have are found in Habré and I hope that they will correct me if I make a mistake somewhere.
What is TYPO3
TYPO3 positions itself as a site management system for the enterprise. The development of this system began by Kasper Skårhøj in 1998. CMS is distributed for free under the GNU GPL license, written in PHP using MySQL DBMS (theoretically supports others). TYPO3 became a brand after the commercial success of the third version. The version number has long jumped to the top four, but the three in the title have remained since. The currently relevant version is TYPO3 4.6.0.
How is TYPO3 better than Drupal, Joomla or% CMS%?
In fact, comparing these systems with each other is a thankless task as they occupy different niches in the market. For example, Drupal is much better for sites where visitors are expected to participate in creating content. In Joomla, the editor will be able to quickly figure out how to properly format the text. Why then need TYPO3? Like any CMS, TYPO3 has its advantages and disadvantages. The advantages include flexible configuration of user rights, the ability to use one installation for several independent sites and domains, the ability to use extensions from TER (TYPO3 extension repository) and versioning. The main disadvantages are the complexity of editing, a complex system of options and settings, the slow rendering of large pages. One of the main features of TYPO3 - typography - is a double-edged sword. On the one hand, most of the settings can be changed without getting into the PHP CMS code or its extensions, which facilitates updating the system. On the other hand, the typing script needs to learn (syntax and basic "options"), besides, when setting up extensions, it starts to creep up with smoking manuals (if they exist at all), since the names of options to extensions are limited only by the developer's imagination. TYPO3 is contraindicated if:
- the customer has a small budget
- the customer wants a portal with content from visitors
- need built-in online store
- the customer does not want to teach editors
- less than 20 pages or more than 5000 pages
- the customer needs a built-in CRM / customer wants his CRM to work with the site
Naturally, with the help of a large file and direct hands, these contraindications can be overcome, but it is worth considering whether it is not easier to take something else. The ideal niche for using TYPO3 is for small and medium-sized companies.
')
Extensions, extensions ...
Extensions in TYPO3 are called plugins. A bunch of these extensions can be found in TER and installed directly through TYPO3. If there is no necessary extension, you can write it yourself. To do this, it is recommended to read the documentation for the TYPO3 API, otherwise the result will be rather pitiable. The extensions themselves are for every taste and color. Some we will see directly on our page (for example, forms or flash movies), others will expand the capabilities of the system (for example, using a database to save pictures) and will not be visible to the visitor, but most extensions will do both - the content is shown to the visitor and you are given the tools to customize this content (news, image galleries, etc.).
TypoScript
TypoScript is not a programming language, it is used only for configuration and is purely declarative. One of the most important features of TypoScript is the ability to write conditions and define constants. On large pages, depending on which branch of the site there is a certain page, for example, the number of columns changes. It is logical to use the condition for this, and in the constant you can write the internal ID of the page from which the branch begins. TypoScript is also used to configure extensions (for example, you can configure the number of displayed news on one page). As a result, TypoScript will be loaded into one large array in which the TYPO3 engine will peek during rendering.
How does a site start on TYPO3?

Oddly enough, it all starts with the usual HTML page that will be used as a template. Usually, so-called markers are inserted into the page (an example is seen in the picture). After we have prepared the HTML-template, you should have a test page in the backend. You can then proceed to the TypoScript template. In the simplest working version, TypoScript will simply fill in the template with what is written in the backend. An alternative to markers is the TemplaVoila extension, which allows you to bind places for output to tags used in the HTML template by id. TemplaVoila also gives the editor a more flexible configuration by columns, but the first option is better versioned using CVS, since all the information about the template is written to files and not to the database.
His majesty backend

In order to describe all the functionality of the backend will require several articles, here I only briefly mention the basics. The backend can be divided into three parts: menu, pagetree and work-area (from left to right).
Menu
The menu is located on the left, with its help we select various TYPO3 (KO) functions. Often, to change one or another setting you need to select a function from the menu and optionally select a page in pagetree.

Pagetree
The site structure in TYPO3 is always visible as a tree. In the picture, the four sites are combined in one TYPO3 installation. They have different designs, different content and they are available under different domains. It can be convenient if the customer needs a separate page for a new project, and you do not want to relearn a new CMS, and you can leave the server as it is.
Work area
On the right we see the work area. It is here that all data, texts, pictures and other things are entered. Unlike the menu and pagetree, which practically do not change, the work-area changes in accordance with the combination of the selected menu item and page.
Last but not least
At the end of this article, I would like to say that TYPO3 writes pages to the cache (without TYPO3 cache is a perversion), it has an easily customizable search engine (for large sites there is an extension for solr), can export to PDF, supports RSS, can authorize users via LDAP, can draw pictures using imagemagick / gd and many other interesting things. TYPO3 has long been an international project with a large community.
I would be glad if I could get anyone interested in
TYPO3 .
In the process of writing this article, I turned to the following sources:
typo3.orgtypo3.ruTYPO3 on wikipedia