Skip to content
Snippets Groups Projects
Commit a7d89431 authored by Steffen Ritter's avatar Steffen Ritter Committed by Steffen Gebert
Browse files

[TASK] Refactor t3lib_pageSelect::getRootline

t3lib_pageSelect::getRootline is a function called many
times during frontend rendering and link generation.
The complete levelfield logic (incl. levelmedia) is based
on the result of this function.

The function itself has very fuzzy code, hard to read
conditions an in its current implementation a n² complexity.
Furthermore the current structure allows only very basic
caching, which does not fulfill todays needs.

The refactoring moves the "Rootline" to its own class and
splits the logic in many small chunks and helper functions.
Additionally the get(), and generateRootline() use the
CachingFramework to Cache the rootline.
Ancient "Failure Messages" in Rootline have been migrated
to useful RuntimeExceptions.
In addition as a new feature/bugfix levelfields resolve
relations so that levelmedia works with FAL again.

Change-Id: Ief215400c6552480603038966207fa29a26fe5b1
Releases: 6.0
Resolves: #39352
Reviewed-on: http://review.typo3.org/13322
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Tested-by: Marcel Burkhalter
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
parent 5225f8cc
Branches
Tags
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment