Bug #77946
closedFluid page link (f:link.page) to different pid using addQueryString not working as expected
0%
Description
If you are for instance on a page with uid 1 and want to link to a page with uid 2 and set the addQueryString option, the link will be generated for uid 1 instead of 2.
e.g.
We are on page 1 <f:link.page pageUid="2" addQueryString="1">Page 2</f:link.page>
The problem is that the url builder creates a url that looks like yourpage.com?id=2&id=1
where the second id parameter overwrites the first.
I feel like this issue should at least be addressed in TYPO3\CMS\Fluid\ViewHelpers\Link\PageViewHelper
where the id parameter could be stripped away if the pageUid is set. It is very counter intuitive if there is a pageUid parameter present but not respected. It could also be fixed in TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder
directly, although this might break other code.
Updated by Wouter Wolters about 8 years ago
- Status changed from New to Needs Feedback
You need to use argumentsToBeExcludedFromQueryString (arguments to be removed from the URI. Only active if $addQueryString = TRUE) to make this work.
Can you try this?
Updated by Markus Mächler about 8 years ago
Wouter Wolters wrote:
You need to use argumentsToBeExcludedFromQueryString (arguments to be removed from the URI. Only active if $addQueryString = TRUE) to make this work.
Can you try this?
That is true, you can make it work like this:
<f:link.page pageUid="2" addQueryString="1" argumentsToBeExcludedFromQueryString="{0: 'id'}">Page 2</f:link.page>
But in my opinion this should not be necessary and is just an ugly workaround. It is very counter intuitive that you would have to exclude the id when you set the page uid explicitly.
Updated by Alexander Opitz almost 8 years ago
- Category set to Fluid
- Status changed from Needs Feedback to New
Updated by Riccardo De Contardi over 6 years ago
It seems still present as far as I have seen.
Steps to reproduce¶
1) In your fluid template put something like:
<p><f:link.page pageUid="584" addQueryString="1">link to Page</f:link.page></p>
(where 584 is an existing page)
2) In frontend, go to another page, for example http://yoursite.com/index.php?id=180
The link url will be http://yoursite.com/?id=584&id=180
Updated by Riccardo De Contardi over 5 years ago
Does this still occurs with TYPO3 9.5.x ? At a first glance, it seems not reproducible.
Updated by Markus Mächler about 5 years ago
It seems not to be an issue anymore in TYPO3 9.5.x.
Updated by Riccardo De Contardi almost 5 years ago
- Status changed from New to Needs Feedback
@Markus Mächler thank you for your reply and sorry for my late answer; Do you mind if I close your issue as resolved (version 8 is in "priority bugxix" mode) ?
Thanks again and best regards
Updated by Markus Mächler almost 5 years ago
@Riccardo De Contardi I am fine with closing this issue, thanks for your reply!
Updated by Susanne Moog almost 5 years ago
- Status changed from Needs Feedback to Closed