Project

General

Profile

Actions

Bug #101897

open

typolink userfunc changes linktext to a pipe

Added by Mike Street 8 months ago. Updated 8 months ago.

Status:
Under Review
Priority:
Should have
Assignee:
-
Category:
Content Rendering
Target version:
-
Start date:
2023-09-11
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
11
PHP Version:
7.4
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

We have some code which uses the `userFunc` functionality of `typolink` - since upgrading to v11, the `$linkText` variable gets set to a pipe `|` (this worked in v10)

I have narrowed this down to the `lastTypoLinkResult->withAttributes()` method call within the `ContentObjectRenderer.php` file (link to line)

It seems this line replaces the whole of the `lastTypoLinkResult` but sets the title back to the default of `|`.

I have managed to resolve this locally by adding `->withLinkText($linkText)` to the end of this line - which passes the existing link text through to the new `LinkResult` class.

This can be varified by outputing `$this->lastTypoLinkResult->getLinkText()` before and after the `if` statement: https://github.com/TYPO3/typo3/blob/11.5/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php#L4956-L4962

Actions #1

Updated by Mike Street 8 months ago

We have some code which uses the userFunc functionality of typolink - since upgrading to v11, the $linkText variable gets set to a pipe | (this worked in v10)

I have narrowed this down to the lastTypoLinkResult->withAttributes() method call within the ContentObjectRenderer.php file (link to line)

It seems this line replaces the whole of the lastTypoLinkResult but sets the title back to the default of |.

I have managed to resolve this locally by adding ->withLinkText($linkText) to the end of this line - which passes the existing link text through to the new LinkResult class.

This can be verified by outputting $this->lastTypoLinkResult->getLinkText() before and after the if statement: https://github.com/TYPO3/typo3/blob/11.5/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php#L4956-L4962.

I'm happy to submit a patch/fix for this if desired)

(Edit to add correct syntax highlighting & fix some typos)

Actions #2

Updated by Georg Ringer 8 months ago

please go ahead and submit a patch to gerrit, thanks!

Actions #3

Updated by Gerrit Code Review 8 months ago

  • Status changed from New to Under Review

Patch set 1 for branch 11.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80988

Actions #4

Updated by Mike Street 8 months ago

Gerrit Code Review wrote in #note-3:

Patch set 1 for branch 11.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80988

From my investigations it looks like this only affects TYPO3 v11

Actions

Also available in: Atom PDF