Task #70903
closedRefactor "getTreeList" functions / add utility function
0%
Description
While searching for a way to get a comma-seperated PID list without using the old pi_getPidList
function (defined in TYPO3\CMS\Frontend\Plugin\AbstractPlugin
) I found three definitions of a function getTreeList
in different classes:
- in
TYPO3\CMS\Core\Database\QueryGenearator
- in
TYPO3\CMS\Core\Database\QueryView
- in
TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer
The first two getTreeList
are almost equal (and have a "todo: Define visibility"). Each of these methods is public
. Perhaps it would be useful to have a utility function doing this, inspired by the method defined in the ContentObjectRenderer
because that one seems to use caching.
This is related to #33138: Provide getPidList function in ExtBase environment (includes propsed solution)
Updated by Franz Holzinger over 8 years ago
The function getTreeList is very slow. I have discovered on a page with many hierarchical sysfolders that the call to this function took 3 seconds of time. The generation of the rest of the page took another 6 seconds. It would be fine if the information needed by getTreeList could completely reside somewhere in a cache. Almost every TYPO3 extension makes calls to this function.
./typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
Updated by Benni Mack about 7 years ago
- Target version changed from 8 LTS to Candidate for Major Version
Updated by Benni Mack about 4 years ago
- Related to Bug #88083: ContentObjectRenderer::getTreeList isn't aware of Workspace/NonCacheRequests and expires not respected / mishandled added
Updated by Christian Kuhn over 2 years ago
- Status changed from New to Closed
Hey. I think we reduced the mess meanwhile and can close the issue: queryView and queryGenerator are now merged and in ext:lowlevel and no longer public api, the tree methods in extbase and contentObjectRenderer have been cleaned up accordingly.