Initial commit - Typo3 11.5.41
This commit is contained in:
@@ -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.
|
||||
====================================== ========== ============================================================= =========================
|
||||
@@ -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
|
||||
@@ -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>`
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user