Bug #81853

TSconfig with page based condition is ignored using page tree commands and clipboard

Added by Marc Bastian Heinrichs over 1 year ago. Updated 12 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
TypoScript
Target version:
-
Start date:
2017-07-13
Due date:
% Done:

0%

TYPO3 Version:
7
PHP Version:
5.6
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

The bug described in #81190 is affected by functionalities. I've found using page tree and clipboard copy and paste to far. But perhaps there are more places.

Scenario:

  • You have a multi tree instance with different RTE TSconfigs per tree.
  • You want to avoid references to the TSconfig files in page records.
  • So you use conditions with including the tsconfig in ext_localconf like this:
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
            '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:foo/Configuration/TsConfig/Page/page_base.ts" condition="[PIDinRootline = 1234]">'
        );
    

Problem:
The ConditionMatcher instantiated by the TypoScriptParser tries to determine the page using GetVars 'id', 'edit' or 'cmd'. Those vars are not used anymore in various places to feed the Datahandler commandMap. So no page id found, so no rootline to be evaluated for the condition.

How to reproduce:
You could use e.g.

TCEMAIN.permissions.groupid = 42

inside the file that is included by the statement above (use not the first group a user has anyway!). The pasted pages will sadly not have the configured group.

Current workaround:
Use

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:foo/Configuration/TsConfig/Page/page_base_includes.ts" condition="[PIDinRootline = 1234]">

only for including other INCLUDE_TYPOSCRIPT: statements. Use an additional
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:foo/Configuration/TsConfig/Page/page_base.ts">

with a classic [PIDinRootline = 1234] condition around for all other tree related TSconfig settings.


Related issues

Related to TYPO3 Core - Bug #81190: rtehtmlarea: TSconfig with page based condition is ignored in BrowseLinks and SelectImage windows Closed 2017-05-11

History

#1 Updated by Marc Bastian Heinrichs over 1 year ago

  • Description updated (diff)

#2 Updated by Marc Bastian Heinrichs over 1 year ago

  • Related to Bug #81190: rtehtmlarea: TSconfig with page based condition is ignored in BrowseLinks and SelectImage windows added

#3 Updated by Marc Bastian Heinrichs 12 months ago

The TYPO3\CMS\Backend\Controller\LinkBrowserController and TYPO3\CMS\Rtehtmlarea\Controller\BrowseLinksController are also affected by this problem.

So linkhandler configuration needs to be placed into a classic [PIDinRootline = 1234] condition, too.

Also available in: Atom PDF