[FEATURE] Add debug attribute to RenderViewHelper 73/56173/5
authorFrank Naegler <frank.naegler@typo3.org>
Thu, 15 Mar 2018 15:37:18 +0000 (16:37 +0100)
committerSusanne Moog <susanne.moog@typo3.org>
Thu, 15 Mar 2018 16:38:49 +0000 (17:38 +0100)
Resolves: #84216
Releases: master
Change-Id: I5eda479d37e31ad9d246ef3808f74a9c96d981c2
Reviewed-on: https://review.typo3.org/56173
Reviewed-by: Hendrik Stender <h.stender@neusta.de>
Reviewed-by: Joerg Boesche <typo3@joergboesche.de>
Tested-by: Joerg Boesche <typo3@joergboesche.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
typo3/sysext/adminpanel/Resources/Private/Templates/Modules/Cache.html
typo3/sysext/adminpanel/Resources/Private/Templates/Modules/TsDebug.html
typo3/sysext/core/Documentation/Changelog/master/Feature-84216-FluidPartialDebugOutputShouldNotBeVisibleInAdminPanel.rst [new file with mode: 0644]
typo3/sysext/fluid/Classes/ViewHelpers/Debug/RenderViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/RenderViewHelper.php [new file with mode: 0644]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/ViewHelperResolverTest.php

index 35d3e8d..643eb49 100644 (file)
@@ -1,6 +1,6 @@
 <f:if condition="{isEnabled} == 1">
-    <f:render partial="Modules/Cache/NoCache" arguments="{_all}"/>
-    <f:render partial="Modules/Cache/ClearLevels" arguments="{_all}"/>
-    <f:render partial="Modules/Cache/UpdateButton" arguments="{_all}"/>
-    <f:render partial="Modules/Cache/ClearCacheButton"/>
+    <f:render partial="Modules/Cache/NoCache" debug="false" arguments="{_all}"/>
+    <f:render partial="Modules/Cache/ClearLevels" debug="false" arguments="{_all}"/>
+    <f:render partial="Modules/Cache/UpdateButton" debug="false" arguments="{_all}"/>
+    <f:render partial="Modules/Cache/ClearCacheButton" debug="false"/>
 </f:if>
index fc19c3b..2f97161 100644 (file)
@@ -1,11 +1,11 @@
 <f:if condition="{isEnabled} == 1">
     <div class="typo3-adminPanel-form-group">
-        <f:render partial="Modules/TsDebug/Tree" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/DisplayTimes" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/DisplayMessages" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/TrackContentRendering" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/DisplayContent" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/ForceTemplateParsing" arguments="{_all}"/>
-        <f:render partial="Modules/TsDebug/TypoScriptLog" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/Tree" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/DisplayTimes" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/DisplayMessages" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/TrackContentRendering" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/DisplayContent" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/ForceTemplateParsing" debug="false" arguments="{_all}"/>
+        <f:render partial="Modules/TsDebug/TypoScriptLog" debug="false" arguments="{_all}"/>
     </div>
 </f:if>
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-84216-FluidPartialDebugOutputShouldNotBeVisibleInAdminPanel.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-84216-FluidPartialDebugOutputShouldNotBeVisibleInAdminPanel.rst
new file mode 100644 (file)
index 0000000..554e249
--- /dev/null
@@ -0,0 +1,21 @@
+.. include:: ../../Includes.txt
+
+===========================================================
+Feature: #84216 - New attribute "debug" in RenderViewHelper
+===========================================================
+
+See :issue:`84216`
+
+Description
+===========
+
+A new attribute "debug" was added to the RenderViewHelper which is true by default.
+Setting this attribute to false disables the debug information rendered in the frontend
+if the fluid debug mode is enabled in the admin panel.
+
+Impact
+======
+
+It is now possible to disable the debug output in some specials cases like in the admin panel.
+
+.. index:: Fluid, Frontend, ext:fluid
index 31fb27f..0c386e4 100644 (file)
@@ -43,6 +43,7 @@ class RenderViewHelper extends AbstractViewHelper
     public function initializeArguments()
     {
         parent::initializeArguments();
+        $this->registerArgument('debug', 'boolean', 'If true, the admin panel shows debug information if activated,', false, true);
         $this->registerArgument('section', 'string', 'Section to render - combine with partial to render section in partial', false, null);
         $this->registerArgument('partial', 'string', 'Partial to render, with or without section', false, null);
         $this->registerArgument('arguments', 'array', 'Array of variables to be transferred. Use {_all} for all variables', false, []);
@@ -59,6 +60,7 @@ class RenderViewHelper extends AbstractViewHelper
      */
     public function render()
     {
+        $isDebug = $this->arguments['debug'];
         $section = $this->arguments['section'];
         $partial = $this->arguments['partial'];
         $arguments = (array)$this->arguments['arguments'];
@@ -83,6 +85,11 @@ class RenderViewHelper extends AbstractViewHelper
             $content = $this->arguments['default'] ?? $tagContent;
         }
 
+        // if debug is disabled, return content
+        if (!$isDebug) {
+            return $content;
+        }
+
         $cssRules = [];
         $cssRules[] = 'display: block';
         $cssRules[] = 'background-color: #fff';
diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/RenderViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/RenderViewHelper.php
new file mode 100644 (file)
index 0000000..4ff16df
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+namespace TYPO3\CMS\Fluid\ViewHelpers;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+/**
+ * Class RenderViewHelper
+ * @inheritdoc
+ */
+class RenderViewHelper extends \TYPO3Fluid\Fluid\ViewHelpers\RenderViewHelper
+{
+    /**
+     */
+    public function initializeArguments()
+    {
+        parent::initializeArguments();
+        $this->registerArgument('debug', 'boolean', 'If true, the admin panel shows debug information if activated,', false, true);
+    }
+}
index 23605de..fc2b6a5 100644 (file)
@@ -17,7 +17,7 @@ use TYPO3\CMS\Extbase\Object\ObjectManager;
 use TYPO3\CMS\Fluid\Core\ViewHelper\ViewHelperResolver;
 use TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper;
 use TYPO3\CMS\Fluid\ViewHelpers\Format\HtmlentitiesViewHelper;
-use TYPO3Fluid\Fluid\ViewHelpers\RenderViewHelper;
+use TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper;
 
 /**
  * Test case