[BUGFIX] Show hidden templates in tstemplate 67/40767/6
authorFrederic Gaus <frederic.gaus@flagbit.de>
Tue, 30 Jun 2015 12:11:12 +0000 (14:11 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Tue, 1 Dec 2015 11:48:07 +0000 (12:48 +0100)
Show hidden templates in backend module tstemplate

Resolves: #52223
Releases: master
Change-Id: Ida5f2bc2d57155e4e1c5057d3a6fd156774302c5
Reviewed-on: https://review.typo3.org/40767
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
typo3/sysext/t3editor/Classes/Hook/TypoScriptTemplateInfoHook.php

index 02075a7..da4ba6a 100644 (file)
@@ -873,7 +873,7 @@ class ExtendedTemplateService extends TemplateService
         // Query is taken from the runThroughTemplates($theRootLine) function in the parent class.
         if ((int)$id) {
             $addC = $template_uid ? ' AND uid=' . (int)$template_uid : '';
-            $where = 'pid=' . (int)$id . $addC . ' ' . $this->whereClause;
+            $where = 'pid=' . (int)$id . $addC . BackendUtility::deleteClause('sys_template');
             $res = $this->getDatabaseConnection()->exec_SELECTquery('*', 'sys_template', $where, '', 'sorting', '1');
             $row = $this->getDatabaseConnection()->sql_fetch_assoc($res);
             BackendUtility::workspaceOL('sys_template', $row);
@@ -895,7 +895,14 @@ class ExtendedTemplateService extends TemplateService
         }
 
         // Query is taken from the runThroughTemplates($theRootLine) function in the parent class.
-        $res = $this->getDatabaseConnection()->exec_SELECTquery('*', 'sys_template', 'pid=' . (int)$id . ' ' . $this->whereClause, '', 'sorting');
+        $res = $this->getDatabaseConnection()->exec_SELECTquery(
+            '*',
+            'sys_template',
+            'pid=' . (int)$id
+                . BackendUtility::deleteClause('sys_template'),
+            '',
+            'sorting'
+        );
 
         $outRes = array();
         while ($row = $this->getDatabaseConnection()->sql_fetch_assoc($res)) {
index 10ac707..996a04e 100644 (file)
@@ -103,7 +103,8 @@ class TypoScriptTemplateInfoHook
             // Do not log time-performance information
             $tmpl->tt_track = 0;
             $tmpl->init();
-            // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
+            // Get the first template record on the page, which might be hidden as well
+            // (for instance the TypoScript constant editor is persisting to the first template)
             $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
             $existTemplate = is_array($tplRow);
             if ($existTemplate) {