Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Update introduction #1447

Merged
merged 1 commit into from
Nov 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 40 additions & 47 deletions Documentation/Introduction/Index.rst
Original file line number Diff line number Diff line change
@@ -1,71 +1,64 @@
:navigation-title: Introduction
.. include:: /Includes.rst.txt
.. _typoscript-syntax-typoscript-templates:
.. _typoscript-syntax-typoscript-templates-usage:
.. _introduction:

.. _about:
.. _introduction:
============================
Introduction into TypoScript
============================

============
Introduction
============
TypoScript is a configuration language used to configure both the frontend
output and the backend of a a TYPO3 web site.

This document serves as a manual for TypoScript and TSconfig, two
essential configuration tools in TYPO3.

.. _typoscript-syntax-typoscript-templates:

TypoScript
==========

TypoScript is a configuration language used to define the frontend rendering
in TYPO3. It is not a programming language but a means of configuring the
TypoScript is not a programming language but a means of configuring the
website.

Key sections to explore:

* :ref:`TypoScript Syntax <typoscript-syntax>` for an introduction to the syntax.
* :ref:`TypoScript Reference <data-types>` for details on data types, object types, functions, and conditions.
* :ref:`guide` for configuring frontend behavior using TypoScript.
* :ref:`using-and-setting` for extending and setting TypoScript properties.
.. contents::

.. _typoscript-syntax-typoscript-templates-usage:
.. _introduction-frontend-typoscript:

Templating in TYPO3
Frontend TypoScript
===================

Frontend rendering in TYPO3 can use several methods, each requiring some TypoScript configuration:
Frontend TypoScript is mainly used to configure which data should be send to the
Fluid templates.

**Best Practice:**
It can also be used to define settings send to Extbase plugins, metadata for
a whole page etc.

- **Fluid Templates**: Use the `Fluid <https://typo3.org/fluid>`__ engine with TypoScript's :ref:`cobj-fluidtemplate` to integrate external HTML templates with Fluid variables.
* See :ref:`t3sitepackage:start` for creating site packages and custom themes.
* See :ref:`t3coreapi:adding-your-own-content-elements` to create custom content elements with TypoScript and Fluid.
In the beginning of TYPO3, TypoScript was used as templating language. In modern
project it is not common to do that anymore.

**Other Methods:**
For an introduction see
`Getting started: A quick introduction into TypoScript <https://docs.typo3.org/permalink/t3tsref:guide>`_.

- External templating engines via extensions.
- Custom PHP code for advanced use cases.
- TypoScript content objects for fully configurable rendering.

**Outdated Method:**
.. _about-tsconfig:

- **HTML Templates** using markers and subparts (:ref:`cobj-template`) are no longer recommended.
Backend TypoScript / TSconfig
=============================

.. _about-tsconfig:
Backend TypoScript, also called TSconfig, can be used to configure the output
of certain forms etc in the TYPO3 backend.

TSconfig
========
.. _about-page-tsconfig:

TSconfig customizes the TYPO3 backend for pages, users, and groups without requiring PHP code. It is a TypoScript-like syntax, used for backend configuration, distinct from TypoScript, which configures the frontend.
Page TSconfig
-------------

**Key Concepts:**
Page TSconfig can be made available globally, on a per site or per page level.

- **Page TSconfig**: Configures backend behavior on a per-page basis.
- **User TSconfig**: Configures options for specific users or groups.
For the possibilities see the
`Page TSconfig Reference <https://docs.typo3.org/permalink/t3tsref:pagetoplevelobjects>`_.

TSconfig is primarily for integrators to control what backend users see and interact with, including:
.. _about-user-tsconfig:

- Configuring backend options and views.
- Customizing the Admin Panel in the frontend, which is tightly linked to backend user roles.
User TSconfig
-------------

For details on syntax, refer to :ref:`TYPO3 Explained <t3tsref:typoscript-syntax>`. Remember, properties from the :ref:`TypoScript Reference <t3tsref:start>` cannot be used in TSconfig and vice versa.
User TSconfig can be made available globally for certain user groups or certain
users. It cannot be set for just one site or page. It can however override
:ref:`about-page-tsconfig`.

This document provides the foundational concepts and serves as a reference for both TypoScript and TSconfig, empowering developers and integrators to customize TYPO3 effectively.
For the possibilities see the
`User TSconfig reference <https://docs.typo3.org/permalink/t3tsref:usertoplevelobjects>`_.
Loading