|
| 1 | +:navigation-title: Introduction |
1 | 2 | .. include:: /Includes.rst.txt |
| 3 | +.. _typoscript-syntax-typoscript-templates: |
| 4 | +.. _typoscript-syntax-typoscript-templates-usage: |
| 5 | +.. _introduction: |
2 | 6 |
|
3 | | -.. _about: |
4 | | -.. _introduction: |
5 | | -.. _typoscript-syntax-typoscript-templates: |
| 7 | +============================ |
| 8 | +Introduction into TypoScript |
| 9 | +============================ |
6 | 10 |
|
7 | | -============ |
8 | | -Introduction |
9 | | -============ |
| 11 | +TypoScript is a configuration language used to configure both the frontend |
| 12 | +output and the backend of a a TYPO3 web site. |
10 | 13 |
|
11 | | -What is to be rendered on a page in the frontend, |
12 | | -the menu structure, how content objects are displayed, etc. can be |
13 | | -defined with TypoScript - often it is used in |
14 | | -combination with the Fluid templating engine. |
| 14 | +TypoScript is not a programming language but a means of configuring the |
| 15 | +website. |
15 | 16 |
|
16 | | -This document is a **reference**, used to lookup TypoScript templating |
17 | | -:ref:`basic data types <data-types>`, :ref:`object types <cobject>`, |
18 | | -:ref:`functions <functions>` and :ref:`conditions <conditions>`. This |
19 | | -reference is not intended to give you a full introduction into the topic |
20 | | -TypoScript. |
| 17 | +.. contents:: |
21 | 18 |
|
| 19 | +.. _introduction-frontend-typoscript: |
22 | 20 |
|
23 | | -What is TypoScript? |
| 21 | +Frontend TypoScript |
24 | 22 | =================== |
25 | 23 |
|
26 | | -TypoScript can have 2 meanings: |
| 24 | +Frontend TypoScript is mainly used to configure which data should be send to the |
| 25 | +Fluid templates. |
27 | 26 |
|
28 | | -* **TypoScript syntax** is used in TypoScript templates and in |
29 | | - TSconfig |
30 | | -* **TypoScript templates** are used to configure |
31 | | - the TYPO3 frontend rendering. |
| 27 | +It can also be used to define settings send to Extbase plugins, metadata for |
| 28 | +a whole page etc. |
32 | 29 |
|
33 | | -Additionally, in TypoScript templates, you must differentiate between |
| 30 | +In the beginning of TYPO3, TypoScript was used as templating language. In modern |
| 31 | +project it is not common to do that anymore. |
34 | 32 |
|
35 | | -* TypoScript **constants** (using the TypoScript constant syntax) |
36 | | -* and Typoscript **setup** |
| 33 | +For an introduction see |
| 34 | +`Getting started: A quick introduction into TypoScript <https://docs.typo3.org/permalink/t3tsref:guide>`_. |
37 | 35 |
|
38 | | -Though TypoScript does include "functions" and "objects" and "conditions" |
39 | | -it is not a programming language. Think of it more as a configuration |
40 | | -language. The results of the TypoScript setup are used to build a PHP |
41 | | -array. |
| 36 | +.. _about-tsconfig: |
42 | 37 |
|
43 | | -Basically think of TypoScript as a means to "configure" the **frontend**, |
44 | | -while TSconfig is used to configure the **backend** (with a few exceptions |
45 | | -to this principle) |
| 38 | +Backend TypoScript / TSconfig |
| 39 | +============================= |
46 | 40 |
|
47 | | -Please read the following for an introduction: |
| 41 | +Backend TypoScript, also called TSconfig, can be used to configure the output |
| 42 | +of certain forms etc in the TYPO3 backend. |
48 | 43 |
|
49 | | -* :ref:`TypoScript Syntax <typoscript-syntax>` |
50 | | - chapter for an introduction to the TypoScript |
51 | | - syntax |
52 | | -* :ref:`guide` for an introduction to TypoScript configuration |
53 | | -* The chapter :ref:`using-and-setting` describes how to use, set |
54 | | - and extend TypoScript. |
| 44 | +.. _about-page-tsconfig: |
55 | 45 |
|
| 46 | +Page TSconfig |
| 47 | +------------- |
56 | 48 |
|
57 | | -.. _typoscript-syntax-typoscript-templates-usage: |
| 49 | +Page TSconfig can be made available globally, on a per site or per page level. |
58 | 50 |
|
59 | | -Templating methods in TYPO3 |
60 | | -=========================== |
| 51 | +For the possibilities see the |
| 52 | +`Page TSconfig Reference <https://docs.typo3.org/permalink/t3tsref:pagetoplevelobjects>`_. |
61 | 53 |
|
| 54 | +.. _about-user-tsconfig: |
62 | 55 |
|
63 | | -TypoScript templates are used to drive frontend rendering. |
| 56 | +User TSconfig |
| 57 | +------------- |
64 | 58 |
|
65 | | -A minimal amount of TypoScript will *always* be necessary to |
66 | | -tell TYPO3 CMS which templating method to use. |
67 | | -It could be any of the following. |
68 | | - |
69 | | -Best practice: |
70 | | - |
71 | | -- **Fluid templates:** Configure TYPO3 to use `Fluid <https://typo3.org/fluid>`__ |
72 | | - for templating. This allows to use external HTML templates, but |
73 | | - with fluid-style variables with curly braces. A content object type |
74 | | - :ref:`cobj-fluidtemplate` is available, which uses Fluid |
75 | | - from inside TypoScript. |
76 | | - |
77 | | - * See :ref:`t3sitepackage:start` for a complete walkthrough of creating a |
78 | | - sitepackage, which is the basis for a custom theme for your site. |
79 | | - * See :ref:`t3coreapi:adding-your-own-content-elements` for an |
80 | | - introduction on how to create your own content element types using |
81 | | - TypoScript :ref:`cobj-template`, Fluid and data processors. |
82 | | - |
83 | | -Other methods: |
84 | | - |
85 | | - |
86 | | -- **External Templating Engines:** Any other templating system can be |
87 | | - used. It will be provided via an extension. In such a case TypoScript |
88 | | - may be used to delegate the rendering to that system. |
89 | | - |
90 | | -- **Custom PHP:** Configure TYPO3 to call your own PHP code which |
91 | | - generates content in any way you may prefer. This might include using |
92 | | - third party templating engines! |
93 | | - |
94 | | -- **TS content objects:** Build the page entirely using TypoScript |
95 | | - content objects. All these objects are highly configurable. |
96 | | - |
97 | | -Outdated methods: |
98 | | - |
99 | | - |
100 | | -- **HTML templates:** Configure TYPO3 CMS to facilitate external HTML- |
101 | | - templates with markers and subparts using the :ref:`cobj-template` |
102 | | - content object type. This method is considered outdated and no |
103 | | - longer recommended. |
| 59 | +User TSconfig can be made available globally for certain user groups or certain |
| 60 | +users. It cannot be set for just one site or page. It can however override |
| 61 | +:ref:`about-page-tsconfig`. |
104 | 62 |
|
| 63 | +For the possibilities see the |
| 64 | +`User TSconfig reference <https://docs.typo3.org/permalink/t3tsref:usertoplevelobjects>`_. |
0 commit comments