[TASK] Add getter for TemplateService->rootId 15/55415/3
authorBenni Mack <benni@typo3.org>
Sat, 20 Jan 2018 13:32:47 +0000 (14:32 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Sat, 20 Jan 2018 19:23:21 +0000 (20:23 +0100)
The rootID holds the page ID where the root sys_template
record was found.

As this is crucial for some hooks this property
should be publically available but is marked as
deprecated during v9 development, a getter is added
to provide a public API.

Resolves: #83619
Releases: master
Change-Id: Ief651f2e2d758350f0620b3104dd47e0c06fa2f4
Reviewed-on: https://review.typo3.org/55415
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/core/Classes/TypoScript/TemplateService.php

index a4fa5c5..5f134cd 100644 (file)
@@ -53,7 +53,7 @@ class TemplateService
         'allowedPaths' => 'Using $allowedPaths of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
         'simulationHiddenOrTime' => 'Using $simulationHiddenOrTime of class TemplateService is discouraged, as this has been superseeded by Doctrine DBAL API.',
         'nextLevel' => 'Using $nextLevel of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
-        'rootId' => 'Using $rootId of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
+        'rootId' => 'Using $rootId of class TemplateService from the outside is discouraged, use TemplateService->getRootId() instead.',
         'absoluteRootLine' => 'Using $absoluteRootLine of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
         'outermostRootlineIndexWithTemplate' => 'Using $outermostRootlineIndexWithTemplate of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
         'rowSum' => 'Using $rowSum of class TemplateService from the outside is discouraged, as this variable is only used for internal storage.',
@@ -1447,6 +1447,16 @@ class TemplateService
         return false;
     }
 
+    /**
+     * Returns the page ID of the rootlevel
+     *
+     * @return int
+     */
+    public function getRootId(): int
+    {
+        return (int)$this->rootId;
+    }
+
     /*******************************************************************
      *
      * Functions for creating links