Skip to content

Commit

Permalink
[TASK] Split up page TSconfig's mod properties (#447)
Browse files Browse the repository at this point in the history
The mod page is really long. By splitting up, the pages
are much smaller. Additionally, the properties are now visible in the main
navigation which eases the access.

In the new pages, only the header sections are adjusted, nothing else is done.
They can be streamlined in a follow-up.

Releases: main, 12.4, 11.5

Co-authored-by: Chris Müller <[email protected]>
  • Loading branch information
github-actions[bot] and brotkrueml authored Apr 3, 2024
1 parent fbd6528 commit f48f4f6
Show file tree
Hide file tree
Showing 8 changed files with 1,520 additions and 1,496 deletions.
1,506 changes: 10 additions & 1,496 deletions Documentation/PageTsconfig/Mod.rst

Large diffs are not rendered by default.

182 changes: 182 additions & 0 deletions Documentation/PageTsconfig/Mod/Shared.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
.. include:: /Includes.rst.txt

.. index::
mod; SHARED
Modules; All
.. _pagesharedotionsformodules:

======
SHARED
======

.. youtube:: xJtsLlEtY5U

.. contents::
:local:

.. index::
colPos_list
Columns; Disable

colPos_list
===========

:aspect:`Datatype`
list of integers

:aspect:`Description`
This option lets you specify which columns of tt_content elements should be editable in the
'Columns' view of the Web > Page module.

Used on top of backend layouts, this setting controls which columns are editable. Columns configured
in the Backend Layout which are not listed here, will be displayed with placeholder area.

Each column has a number which ultimately comes from the configuration of the table tt_content,
field 'colPos'. These are the values of the four default columns used in the default backend layout:

Left: `1`, Normal: `0`, Right: `2`, Border: `3`

:aspect:`Default`
1,0,2,3


:aspect:`Example`
.. _example_for_backend_layout:

The example creates a basic backend layout and sets the "Left" column to be not editable:

* Create a record of type "Backend Layout", for instance in the root page of your website

* Add a title, e.g. "My Layout"

* Use the wizard to create a two column backend layout, the result may look like this:

.. figure:: /Images/ManualScreenshots/List/SimpleBackendLayout.png
:alt: A simple backend layout

A simple backend layout

* Create a page and select this new backend layout in the "Appearance" tab.
The page module then looks like this, displaying the two defined columns:

.. figure:: /Images/ManualScreenshots/Page/SimpleBackendLayoutInPageModule.png
:alt: Backend layout used in page module

Backend layout used in page module

* Now set the "Left" column to be not editable using page TSconfig in the
:guilabel:`Resources` tab of the page, by restricting `colPos_list` to
`0` (the "Content" columns as defined above):

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
mod.SHARED.colPos_list = 0
* The result in the page module then looks like this:

.. figure:: /Images/ManualScreenshots/Page/SimpleBackendLayoutLeftNotEditable.png
:alt: One column not editable in a backend layout

One column not editable in a backend layout


.. index::
defaultLanguageFlag
Localization; Default language flag
.. _pageTsConfigSharedDefaultLanguageLabel:

defaultLanguageFlag
===================

:aspect:`Datatype`
string

:aspect:`Description`
Country flag shown for the "Default" language in the backend, used in Web > List and Web > Page module.
Values as listed in the "Select flag icon" of a language record in the backend are allowed, including
the value "multiple".

.. figure:: /Images/ManualScreenshots/List/SelectFlagIcon.png
:alt: The flag selector of a language record in the backend

The flag selector of a language record in the backend

:aspect:`Example`
This will show the German flag, and the text "deutsch" on hover.

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
mod.SHARED {
defaultLanguageFlag = de
defaultLanguageLabel = deutsch
}
.. warning::

Note that this option has largely been superseded by site configuration since **TYPO3 v10** and will only
work in the Backend for a "NullSite". For instance, a global sysfolder in the page tree without an
attached site configuration. Once a page tree has a site configuration, the default language icon is
set from the site configuration's language settings and this option will have no effect at all.


.. index::
defaultLanguageLabel
Localization; Default language label

defaultLanguageLabel
====================

:aspect:`Datatype`
string

:aspect:`Description`
Alternate label for "Default" when language labels are shown in the interface.

Used in Web > List and Web > Page module.

.. warning::

Note that this option has largely been superseded by site configuration since **TYPO3 v10** and will only
work in the backend for a "NullSite". For instance a global sysfolder in the page tree without an
attached site configuration. Once a page tree has a site configuration, the default language label is
set from the site configuration's language settings and this option will have no effect at all.


.. index::
disableLanguages
Localization; disable languages

disableLanguages
================

:aspect:`Datatype`
string

:aspect:`Description`
Comma-separated list of language UIDs which will be disabled in the given page tree.

.. warning::

Note that this option has largely been superseded by site configuration since **TYPO3 v10** and will only
work in the Backend for a "NullSite". For instance, a global sysfolder in the page tree without an
attached site configuration. Once a page tree has a site configuration, the language settings
from the site configuration are applied and this option will have no effect at all.


.. index::
disableSysNoteButton
Buttons; disable sys_note

disableSysNoteButton
====================

:aspect:`Datatype`
boolean

:aspect:`Description`
Disables the `sys_note` creation button in the modules' top button bar in the :guilabel:`Page`, :guilabel:`List` and :guilabel:`Info`
modules.


109 changes: 109 additions & 0 deletions Documentation/PageTsconfig/Mod/WebInfo.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
.. include:: /Includes.rst.txt

.. index::
mod; web_info
Modules; Info

========
web_info
========

Configuration options of the "Web > Info" module.

.. contents::
:local:

.. index::
fieldDefinitions
Pagetree overview; Available fields
.. _fieldDefinitions-webinfo:

fieldDefinitions
================

:aspect:`Datatype`
array

:aspect:`Description`
The available fields in the "Pagetree overview" module under the Info module, by default ship with the entries
"Basic settings", "Record overview", and "Cache and age".

.. figure:: /Images/ManualScreenshots/Info/PageTsModWebInfoFieldDefinitions.png
:alt: Default entries of Pagetree Overview

Default entries of Pagetree Overview

By using page TsConfig it is possible to change the available fields and add additional entries to the select box.

Next to using a list of fields from the `pages` table you can add counters for records in a given table by prefixing a
table name with `table_` and adding it to the list of fields.

The string `###ALL_TABLES###` is replaced with a list of all table names an editor has access to.

:aspect:`Example`
.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
mod.web_info.fieldDefinitions {
0 {
# Basic settings
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_0
fields = title,uid,slug,alias,starttime,endtime,fe_group,target,url,shortcut,shortcut_mode
}
1 {
# Record overview
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_1
fields = title,uid,###ALL_TABLES###
}
2 {
# Cache and age
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_2
fields = title,uid,table_tt_content,table_fe_users
}
}
.. index::
web_info.menu.function
Module menu; Info
.. _pageblindingfunctionmenuoptions-webinfo:

menu.function
=============

:aspect:`Datatype`
array

:aspect:`Description`
Disable elements of the "Function selector" in the document header of the module. The keys for single
items can be found by browsing *System > Configuration > $GLOBALS['TBE_MODULES_EXT']*.

.. figure:: /Images/ManualScreenshots/Info/FunctionMenuInfoModule.png
:alt: The function menu of the Info module

The function menu of the Info module

.. warning::

Blinding the function mMenu items is not hardcore access control! All it
does is hide the possibility of accessing that module functionality
from the interface. It might be possible for users to hack their way
around it and access the functionality anyways. You should use the
option of blinding elements mostly to remove otherwise distracting options.

:aspect:`Example`
.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
mod.web_info.menu.function {
# Disable item "Page Tsconfig"
TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController = 0
# Disable item "Log"
TYPO3\CMS\Belog\Module\BackendLogModuleBootstrap = 0
# Disable item "Pagetree Overview"
TYPO3\CMS\Info\Controller\PageInformationController = 0
# Disable item "Localization Overview"
TYPO3\CMS\Info\Controller\TranslationStatusController = 0
# Disable item "Linkvalidator"
TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport = 0
}
Loading

0 comments on commit f48f4f6

Please sign in to comment.