Project

General

Profile

Actions

Bug #95662

open

DOCS: SimpleRouteEnhancer adds cHash

Added by Henri Nathanson over 2 years ago. Updated 9 months ago.

Status:
Accepted
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2021-10-15
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
10
PHP Version:
7.3
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

The plugin action "pdf" was routed with /pdf as of v10.4.20. The behaviour changed with v10.4.21 and #91447 to /pdf?cHash=xxx
The action is configured as non-cacheable in ext_localconf.php
Route is generated with: {f:uri.action(action:'pdf')}

  LehrgaengePlugin:
    type: Simple
    routePath: '/{action}/{controller}'
    defaults:
      controller: Lehrgang
    _arguments:
      action: tx_myext_lehrgaenge__action
      controller: tx_myext_lehrgaenge__controller
    aspects:
      action:
        type: StaticValueMapper
        map:
          pdf: pdf

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #91447: SimpleEnhancer don't inflate nested argumentsClosed2020-05-20

Actions
Actions #1

Updated by Henri Nathanson over 2 years ago

  • Related to Bug #91447: SimpleEnhancer don't inflate nested arguments added
Actions #2

Updated by Henri Nathanson over 2 years ago

  • Description updated (diff)
Actions #3

Updated by Henri Nathanson over 2 years ago

  • Description updated (diff)
Actions #4

Updated by Oliver Hader over 2 years ago

  • Status changed from New to Needs Feedback

Unfortunately that kind of argument mapping was wrong and has been documented differently. Please change to

_arguments:
      action: tx_myext_lehrgaenge/action
      controller: tx_myext_lehrgaenge/controller

Besides that, it looks like your application is based on Extbase. Thus, the corresponding plugin enhancer might be used instead as well (which would handle tx_myext_lehrgaenge as plugin namespace):
https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Routing/AdvancedRoutingConfiguration.html#extbase-plugin-enhancer

Actions #5

Updated by Henri Nathanson over 2 years ago

I did some debugging here. There was a bug in array handling (inflateParameters() vs inflateNamespaceParameters()), which you fixed lately and which before that resulted in $routeArguments not being reduced by $dynamicArguments. All arguments were handled as static arguments. As in my example configuration above, not all parameters(Lehrgang) have an aspect. They are therefor treated as dynamic. Dynamic parameters - after the fix - lead to the cHash calculation.

I changed my configuration to have an aspect for every parameter. With this all parameters are static.

Actions #6

Updated by Oliver Hader over 2 years ago

Using ExtbaseEnhancer would fix the part on the missing mapper definition for tx_myext_lehrgaenge[controller] in your site configuration - basically since the controller-action pair needs to be explicitly given in the route configuration.

Actions #7

Updated by Oliver Hader over 1 year ago

  • Subject changed from SimpleRouteEnhancer adds cHash to DOCS: SimpleRouteEnhancer adds cHash

I agree, that cHash impact could be described better in documentation.

Actions #8

Updated by Oliver Hader over 1 year ago

  • Sprint Focus set to On Location Sprint
Actions #9

Updated by Benni Mack 9 months ago

  • Status changed from Needs Feedback to Accepted
Actions #10

Updated by Benni Mack 9 months ago

  • Sprint Focus deleted (On Location Sprint)
Actions

Also available in: Atom PDF