[TASK] Make includeCsh configurable in ContainerViewHelper 90/29590/3
authorNico de Haen <mail@ndh-websolutions.de>
Mon, 21 Apr 2014 09:52:37 +0000 (11:52 +0200)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Tue, 29 Apr 2014 22:02:38 +0000 (00:02 +0200)
The container ViewHelper does not provide a configuration
attribute for includeCsh (Context sensitive help). As consequence
ExtJS and ExtDirect code is always loaded in Backend Modules.

Resolves: #58075
Releases: 6.2
Change-Id: I1978bdc0bf3fca40f78cdae9b214a808f58abe49
Reviewed-on: https://review.typo3.org/29590
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php

index 306ab6b..f8f00ad 100644 (file)
@@ -37,7 +37,7 @@ use \TYPO3\CMS\Core\Utility\GeneralUtility;
  * </output>
  *
  * <code title="All options (except deprecated ones)">
- * <f:be.container pageTitle="foo" enableJumpToUrl="false" enableClickMenu="false" loadPrototype="false" loadScriptaculous="false" scriptaculousModule="someModule,someOtherModule" loadExtJs="true" loadExtJsTheme="false" extJsAdapter="jQuery" enableExtJsDebug="true" loadJQuery="true" includeCssFiles="0: '{f:uri.resource(path:\'Styles/Styles.css\')}'" includeJsFiles="0: '{f:uri.resource(path:\'JavaScript/Library1.js\')}', 1: '{f:uri.resource(path:\'JavaScript/Library2.js\')}'" addJsInlineLabels="{0: 'label1', 1: 'label2'}">your module content</f:be.container>
+ * <f:be.container pageTitle="foo" enableJumpToUrl="false" enableClickMenu="false" loadPrototype="false" loadScriptaculous="false" scriptaculousModule="someModule,someOtherModule" loadExtJs="true" loadExtJsTheme="false" extJsAdapter="jQuery" enableExtJsDebug="true" loadJQuery="true" includeCssFiles="0: '{f:uri.resource(path:\'Styles/Styles.css\')}'" includeJsFiles="0: '{f:uri.resource(path:\'JavaScript/Library1.js\')}', 1: '{f:uri.resource(path:\'JavaScript/Library2.js\')}'" addJsInlineLabels="{0: 'label1', 1: 'label2'}" includeCsh="true">your module content</f:be.container>
  * </code>
  * <output>
  * "your module content" wrapped with proper head & body tags.
@@ -67,11 +67,12 @@ class ContainerViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBacken
         * @param array $includeCssFiles List of custom CSS file to be loaded
         * @param array $includeJsFiles List of custom JavaScript file to be loaded
         * @param array $addJsInlineLabels Custom labels to add to JavaScript inline labels
+        * @param boolean $includeCsh flag for including CSH
         * @return string
         * @see \TYPO3\CMS\Backend\Template\DocumentTemplate
         * @see \TYPO3\CMS\Core\Page\PageRenderer
         */
-       public function render($pageTitle = '', $enableJumpToUrl = TRUE, $enableClickMenu = TRUE, $loadPrototype = TRUE, $loadScriptaculous = FALSE, $scriptaculousModule = '', $loadExtJs = FALSE, $loadExtJsTheme = TRUE, $extJsAdapter = '', $enableExtJsDebug = FALSE, $addCssFile = NULL, $addJsFile = NULL, $loadJQuery = FALSE, $includeCssFiles = NULL, $includeJsFiles = NULL, $addJsInlineLabels = NULL) {
+       public function render($pageTitle = '', $enableJumpToUrl = TRUE, $enableClickMenu = TRUE, $loadPrototype = TRUE, $loadScriptaculous = FALSE, $scriptaculousModule = '', $loadExtJs = FALSE, $loadExtJsTheme = TRUE, $extJsAdapter = '', $enableExtJsDebug = FALSE, $addCssFile = NULL, $addJsFile = NULL, $loadJQuery = FALSE, $includeCssFiles = NULL, $includeJsFiles = NULL, $addJsInlineLabels = NULL, $includeCsh = TRUE) {
                $doc = $this->getDocInstance();
                $pageRenderer = $doc->getPageRenderer();
                $doc->JScode .= $doc->wrapScriptTags($doc->redirectUrls());
@@ -125,7 +126,7 @@ class ContainerViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBacken
                }
                // Render the content and return it
                $output = $this->renderChildren();
-               $output = $doc->startPage($pageTitle) . $output;
+               $output = $doc->startPage($pageTitle, $includeCsh) . $output;
                $output .= $doc->endPage();
                return $output;
        }