Bug #88101
closedf:uri.action (and f:link.action)’s argumentsToBeExcludedFromQueryString argument mis-handles comma (,) in argument names
0%
Description
f:uri.action’s argumentsToBeExcludedFromQueryString argument should remove existing parameters. This does not work reliably when the paramter name contains a , (comma).
Example template:
<p>
Include this in a template, view its page. Then
add these parameters to the URI in the browser:
&a[foo][x]=1&a[foo][y]=1&a[foo,bar][x]=1&a[foo,bar][y]=1
</p>
<p>
<f:uri.action
addQueryString="TRUE"
argumentsToBeExcludedFromQueryString="{0:'a[foo][x]'}"
noCacheHash="1"
/>
– should remove a[foo] only: works as expected
</p>
<p>
<f:uri.action
addQueryString="TRUE"
argumentsToBeExcludedFromQueryString="{0:'a[foo,bar][x]'}"
noCacheHash="1"
/>
– should remove a[foo,bar][x] only: does not work as expected
</p>
<p>
<f:uri.action
addQueryString="TRUE"
argumentsToBeExcludedFromQueryString="{0:'a[foo%2Cbar][x]'}"
noCacheHash="1"
/>
– removes a[foo,bar][x] only
</p>
Looking at the code suggests that, internally, TYPO3 explodes/implodes this parameter using , as the separator, which looks like it could be the cause of this issue.
Seen in TYPO3 9.5.5 as well as TYPO3 8.7.