Feature-97096-Non-namespacedArgumentsInExtbaseBackendModules.rst 1.66 KB
Newer Older
1
.. include:: /Includes.rst.txt
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

=====================================================================
Feature: #97096 - Non-namespaced arguments in extbase backend modules
=====================================================================

See :issue:`97096`

Description
===========

Extbase plugins and backend modules traditionally use the plugin / module
namespace to prefix their get parameters and form data. In the frontend context,
this makes sense, as multiple plugins may reside on a page. In the backend,
however, an extbase module is responsible for rendering a complete view.
Therefore, the namespacing of arguments has been disabled, making URLs easier
to read, more in line with non-extbase modules and allowing extbase modules
to directly access outside information like the `id` parameter handed over
by the page tree for example.

To allow extbase modules to configure this behaviour, the extbase feature
flag :typoscript:`enableNamespacedArgumentsForBackend` can be set in the module
configuration, turning the namespacing off or on.

Impact
======

Extbase will by default build and react to backend module links without paying
attention to the namespace of the parameters.

A link may look like this:

33
:samp:`https://example.org/typo3/module/web/BeuserTxBeuser?action=groups&controller=BackendUser`
34
35
36
37
38

If a module explicitly wants to keep using the namespaced version of the arguments,
the feature flag can be set:

.. code-block:: typoscript
39
    :caption: EXT:my_extension/ext_typoscript_setup.typoscript
40

41
    module.tx_myextension_somemodule {
42
43
44
45
46
47
        features {
            enableNamespacedArgumentsForBackend = 1
        }
    }

.. index:: Backend, PHP-API, ext:extbase