Initial commit - Typo3 11.5.41

This commit is contained in:
Matteo Gallo
2026-07-03 17:53:31 +02:00
commit 5ca4743197
6811 changed files with 568848 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
.. include:: /Includes.rst.txt
.. _configuration-extension-configuration:
Global extension configuration
==============================
After the installation has been completed, some global configuration can be defined.
If you are using TYPO3 8.7, this configuration can be found in the Extension Manager.
With version 9.5 this has been moved to the Install Tool.
Settings
--------
The following settings are available:
====================================== ========== ============================================================= =========================
Property: Data type: Description: Default:
====================================== ========== ============================================================= =========================
storeBackwardsCompatName boolean If set, the field `name` is populated with the values of the 1
fields `first_name`, `middle_name` and `last_name`.
-------------------------------------- ---------- ------------------------------------------------------------- -------------------------
readOnlyNameField boolean If set, the name field is set to read only which makes 1
absolutely sense if the value of the field is populated
automatically.
====================================== ========== ============================================================= =========================

View File

@@ -0,0 +1,22 @@
.. include:: /Includes.rst.txt
.. _configuration:
Configuration
=============
When starting to configure the extension you should create a separate TS extension template for it
where you do all the configuration for this extension. That extension template can then get included
in the root template. In the extension template add the static TS configuration, otherwise it wont
work!
.. toctree::
:maxdepth: 2
:titlesonly:
ExtensionSettings/Index
TypoScript/Index
TsConfig/Index
Seo/Index
Routing/Index

View File

@@ -0,0 +1,100 @@
.. include:: /Includes.rst.txt
.. _routing:
.. _configuration-extension-routing:
===========================
Use Routing to rewrite URLs
===========================
This section will show you how you can rewrite the URLs for tt\_address using
**Routing Enhancers and Aspects**. TYPO3 Explained has a chapter
:ref:`Introduction to routing <t3coreapi:routing-introduction>` that you can read
if you are not familiar with the concept yet. You will no
longer need third party extensions like RealURL or CoolUri to rewrite and
beautify your URLs.
.. _how_to_rewrite_urls:
How to rewrite URLs with address parameters
============================================
On setting up your page you should already have created a **site configuration**.
You can do this in the backend module :guilabel:`Site Managements > Sites`.
Your site configuration will be stored in
:file:`/config/sites/<your_identifier>/config.yaml`. The following
configurations have to be applied to this file.
Any URL parameters can be rewritten with the Routing Enhancers and Aspects.
These are added manually in the :file:`config.yaml`:
#. Add a section :yaml:`routeEnhancers`, if one does not already exist.
#. Choose an unique identifier for your Routing Enhancer. It doesn't have
to match any extension key.
#. :yaml:`type`: For tt\_address, the Extbase Plugin Enhancer (:yaml:`Extbase`)
is used.
#. :yaml:`extension`: the extension key, converted to :code:`UpperCamelCase`.
#. :yaml:`plugin`: the plugin name of address is `ListView`, even for the detail
page.
#. After that you will configure individual routes and aspects depending on
your use case.
.. code-block:: yaml
:linenos:
:caption: :file:`/config/sites/<your_identifier>/config.yaml`
Address:
type: Extbase
limitToPages:
- 8
- 10
- 11
extension: TtAddress
plugin: ListView
routes:
- routePath: '/{address-title}'
_controller: 'Address::show'
_arguments:
address-title: address
- routePath: '/{page-label}-{page}'
_controller: 'Address::list'
_arguments:
page: 'currentPage'
defaultController: 'Address::list'
aspects:
address-title:
type: PersistedAliasMapper
tableName: tt_address
routeFieldName: slug
page:
type: StaticRangeMapper
start: '1'
end: '100'
page-label:
type: LocaleModifier
default: seite
localeMap:
- locale: 'en_.*'
value: page
- locale: 'it_.*'
value: pagina
- locale: 'fr_.*'
value: page
- locale: 'es_.*'
value: pagina
.. tip::
If your routing does not work as expected, check the **indentation** of your
configuration blocks.
Proper indentation is crucial in YAML.
It is recommended to limit :yaml:`routeEnhancers` to the pages where they are needed.
This will speed up performance for building page routes of all other pages.
References
==========
* :ref:`TYPO3 Documentation: Routing <t3coreapi:routing-introduction>`
* :ref:`TYPO3 Documentation: Site Handling <t3coreapi:sitehandling>`

View File

@@ -0,0 +1,46 @@
.. include:: /Includes.rst.txt
.. _configuration-extension-seo:
SEO
===
This chapter covers all aspects regarding search engine optimization for tt_address.
.. toctree::
:maxdepth: 2
:titlesonly:
Routing
-------
Routing can be used to rewrite the URLs for tt\_address. The chapter
:ref:`Use Routing to rewrite URLs <configuration-extension-routing>` is a good
starting point.
Custom Page Title
-----------------
If a detail view is rendered, a custom page title provider changes the page title to a specific one provided by the extension.
The following configuration is set by default:
.. code-block:: typoscript
plugin.tx_ttaddress.settings.seo {
pageTitle {
properties = title,firstName,middleName,lastName
glue = " "
}
}
- The setting `properties` is a comma separated list of properties of the `Address` model which should be taken into account (if not empty).
- The setting `glue` defines how the values are combined together.
Meta Tags
---------
Meta Tags are rendered by using the ViewHelper `MetaTagViewHelper`.
.. code-block:: html
<!-- Example can be found in Partials/MetaTags.html
<ttaddr:metaTag property="description">{address}</ttaddr:metaTag>
By default the meta tags for `description` and `og:description` are set.

View File

@@ -0,0 +1,31 @@
.. include:: /Includes.rst.txt
.. _configuration-extension-tsconfig:
==================
TsConfig Reference
==================
This section covers the configuration options set via Page TsConfig.
Modify record label in backend
==============================
The label of the record is shown in the list module of the backend.
Depending on the use case it can improve the usability to generate the label from
different columns. If `tt_address` is used to collect email addresses,
the email address might be the only filled field. If the records hold information
about contacts of a company, the name should be shown.
By using the configuration `tt_address.label` all use cases can be covered as long
as those are splitted into different pages. A typical example might be:
.. code-block:: typoscript
tt_address.label = name;last_name,first_name;email
Each label group is divided by `;` and each group can hold a list of field names.
1. In the given example, the value of the field `name` is shown if filled.
2. If the field is empty, the values of the fields `last_name` and `first_name` are shown.
3. If this combination is still empty, the email address is shown

View File

@@ -0,0 +1,209 @@
.. include:: /Includes.rst.txt
.. _configuration-reference:
=========
Reference
=========
View
====
.. confval:: view.templateRootPaths
:Path: plugin.tx_ttaddress
:type: array
Defines the path where the templates are located.
.. code-block:: typoscript
:caption: Default value
templateRootPaths {
0 = EXT:tt_address/Resources/Private/Templates/
1 = {$plugin.tx_ttaddress.view.templateRootPath}
}
**Example:**
Override the templates, partials and layouts of tt_adress in your own
extension:
.. code-block:: typoscript
:caption: EXT:my_extension/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
view {
templateRootPaths {
42 = EXT:my_extension/Resources/Private/Templates/Address
}
partialRootPaths {
42 = EXT:my_extension/Resources/Private/Partials/Address
}
layoutRootPaths {
42 = EXT:my_extension/Resources/Layouts/Templates/Address
}
}
}
.. confval:: view.partialRootPaths
:Path: plugin.tx_ttaddress
:type: array
Defines the path where the partials are located.
.. code-block:: typoscript
:caption: Default value
partialRootPaths {
0 = EXT:tt_address/Resources/Private/Partials/
1 = {$plugin.tx_ttaddress.view.partialRootPath}
}
Example: See :confval:`view.templateRootPaths`.
.. confval:: view.layoutRootPaths
:Path: plugin.tx_ttaddress
:type: array
Defines the path where the layouts are located.
.. code-block:: typoscript
:caption: Default value
layoutRootPaths {
0 = EXT:tt_address/Resources/Private/Layouts/
1 = {$plugin.tx_ttaddress.view.layoutRootPath}
}
Example: See :confval:`view.templateRootPaths`.
Settings
========
.. confval:: settings.overrideFlexformSettingsIfEmpty
:Path: plugin.tx_ttaddress
:type: string
:Default: paginate.itemsPerPage, singlePid, recursive
A comma separated list of fields which are filled from TypoScript if
the equivalent flexform field is empty. This makes it possible to define
default values in TypoScript
.. confval:: settings.recursive
:Path: plugin.tx_ttaddress
:type: int
Defines how many levels to search for tt_address records from the given
pages in pidList.
**Example:**
Search in a depth of 4 by default:
.. code-block:: typoscript
:caption: EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
settings {
recursive = 4
}
}
.. confval:: settings.paginate
:Path: plugin.tx_ttaddress
:type: array
A comma separated list of fields which are filled from TypoScript if
the equivalent flexform field is empty. This makes it possible to define
default values in TypoScript
.. code-block:: typoscript
:caption: Default value
paginate {
# can be overridden by plugin
itemsPerPage = 10
insertAbove = 0
insertBelow = 1
maximumNumberOfLinks = 10
}
**Example:**
Show 50 items per page by default and the pagination both above and below:
.. code-block:: typoscript
:caption: EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
settings.paginate {
itemsPerPage = 50
insertAbove = 1
insertBelow = 1
}
}
.. confval:: settings.map.rendering
:Path: plugin.tx_ttaddress
:type: string
:Default: leaflet
Map rendering which is used in the Fronted
Available: leaflet, googleMaps, staticGoogleMaps
**Example:**
.. code-block:: typoscript
:caption: EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
settings {
map {
googleMaps.key = ABCDEFG123
rendering = googleMaps
}
}
}
.. confval:: settings.map.googleMaps.key
:Path: plugin.tx_ttaddress
:type: string
Key for variant **Google Maps**
.. confval:: map.staticGoogleMaps.parameters
:Path: plugin.tx_ttaddress
:type: array
Parameters for Static Google Maps configuration
See: `official docs <https://developers.google.com/maps/documentation/maps-static/dev-guide>`__
**Example:**
.. code-block:: typoscript
:caption: EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
settings {
map {
rendering = staticGoogleMaps
staticGoogleMaps.parameters {
center = Emanuel-Leutze-Straße 11, 40547 Düsseldorf
zoom = 14
size = 400x400
key = ABCDEFG123
}
}
}
}