TYPO3  7.6
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
PageRenderer Class Reference
Inheritance diagram for PageRenderer:
SingletonInterface

Public Member Functions

 __construct ($templateFile= '', $backPath=null)
 
 setTitle ($title)
 
 setRenderXhtml ($enable)
 
 setXmlPrologAndDocType ($xmlPrologAndDocType)
 
 setCharSet ($charSet)
 
 setLanguage ($lang)
 
 setMetaCharsetTag ($metaCharsetTag)
 
 setHtmlTag ($htmlTag)
 
 setHeadTag ($headTag)
 
 setFavIcon ($favIcon)
 
 setIconMimeType ($iconMimeType)
 
 setBaseUrl ($baseUrl)
 
 setTemplateFile ($file)
 
 setBackPath ($backPath)
 
 setBodyContent ($content)
 
 setRequireJsPath ($path)
 
 setExtJsPath ($path)
 
 enableMoveJsFromHeaderToFooter ()
 
 disableMoveJsFromHeaderToFooter ()
 
 enableCompressJavascript ()
 
 disableCompressJavascript ()
 
 enableCompressCss ()
 
 disableCompressCss ()
 
 enableConcatenateFiles ()
 
 disableConcatenateFiles ()
 
 enableConcatenateJavascript ()
 
 disableConcatenateJavascript ()
 
 enableConcatenateCss ()
 
 disableConcatenateCss ()
 
 enableRemoveLineBreaksFromTemplate ()
 
 disableRemoveLineBreaksFromTemplate ()
 
 enableDebugMode ()
 
 getTitle ()
 
 getCharSet ()
 
 getLanguage ()
 
 getRenderXhtml ()
 
 getHtmlTag ()
 
 getMetaCharsetTag ()
 
 getHeadTag ()
 
 getFavIcon ()
 
 getIconMimeType ()
 
 getBaseUrl ()
 
 getTemplateFile ()
 
 getMoveJsFromHeaderToFooter ()
 
 getCompressJavascript ()
 
 getCompressCss ()
 
 getConcatenateFiles ()
 
 getConcatenateJavascript ()
 
 getConcatenateCss ()
 
 getRemoveLineBreaksFromTemplate ()
 
 getBodyContent ()
 
 getExtJsPath ()
 
 getInlineLanguageLabels ()
 
 getInlineLanguageLabelFiles ()
 
 addMetaTag ($meta)
 
 addInlineComment ($comment)
 
 addHeaderData ($data)
 
 addFooterData ($data)
 
 addJsLibrary ($name, $file, $type= 'text/javascript', $compress=false, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|', $async=false, $integrity= '')
 
 addJsFooterLibrary ($name, $file, $type= 'text/javascript', $compress=false, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|', $async=false, $integrity= '')
 
 addJsFile ($file, $type= 'text/javascript', $compress=true, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|', $async=false, $integrity= '')
 
 addJsFooterFile ($file, $type= 'text/javascript', $compress=true, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|', $async=false, $integrity= '')
 
 addJsInlineCode ($name, $block, $compress=true, $forceOnTop=false)
 
 addJsFooterInlineCode ($name, $block, $compress=true, $forceOnTop=false)
 
 addExtOnReadyCode ($block, $forceOnTop=false)
 
 addCssFile ($file, $rel= 'stylesheet', $media= 'all', $title= '', $compress=true, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|')
 
 addCssLibrary ($file, $rel= 'stylesheet', $media= 'all', $title= '', $compress=true, $forceOnTop=false, $allWrap= '', $excludeFromConcatenation=false, $splitChar= '|')
 
 addCssInlineBlock ($name, $block, $compress=false, $forceOnTop=false)
 
 loadJquery ($version=null, $source=null, $namespace=self::JQUERY_NAMESPACE_DEFAULT)
 
 loadRequireJs ()
 
 addRequireJsConfiguration (array $configuration)
 
 loadRequireJsModule ($mainModuleName, $callBackFunction=null)
 
 loadExtJS ($css=true, $theme=true)
 
 enableExtJsDebug ()
 
 addInlineLanguageLabel ($key, $value)
 
 addInlineLanguageLabelArray (array $array, $parseWithLanguageService=false)
 
 addInlineLanguageLabelFile ($fileRef, $selectionPrefix= '', $stripFromSelectionName= '', $errorMode=0)
 
 addInlineSetting ($namespace, $key, $value)
 
 addInlineSettingArray ($namespace, array $array)
 
 addBodyContent ($content)
 
 render ($part=self::PART_COMPLETE)
 
 renderPageWithUncachedObjects ($substituteHash)
 
 renderJavaScriptAndCssForProcessingOfUncachedContentObjects ($cachedPageContent, $substituteHash)
 

Public Attributes

const PART_COMPLETE = 0
 
const PART_HEADER = 1
 
const PART_FOOTER = 2
 
const JQUERY_VERSION_LATEST = '2.1.4'
 
const JQUERY_NAMESPACE_NONE = 'none'
 
const JQUERY_NAMESPACE_DEFAULT = 'jQuery'
 
const JQUERY_NAMESPACE_DEFAULT_NOCONFLICT = 'defaultNoConflict'
 
 $backPath
 

Protected Member Functions

 reset ()
 
 prepareRendering ()
 
 renderJavaScriptAndCss ()
 
 getPreparedMarkerArray ($jsLibs, $jsFiles, $jsFooterFiles, $cssLibs, $cssFiles, $jsInline, $cssInline, $jsFooterInline, $jsFooterLibs, $metaTags)
 
 getPreparedMarkerArrayForPageWithUncachedObjects ($substituteHash)
 
 getTemplateForPart ($part)
 
 renderMainJavaScriptLibraries ()
 
 loadJavaScriptLanguageStrings ()
 
 renderJqueryScriptTag ($version, $source, $namespace)
 
 renderCssLibraries ()
 
 renderCssFiles ()
 
 renderCssInline ()
 
 renderAdditionalJavaScriptLibraries ()
 
 renderJavaScriptFiles ()
 
 renderInlineJavaScript ()
 
 includeLanguageFileForInline ($fileRef, $selectionPrefix= '', $stripFromSelectionName= '', $errorMode=0)
 
 doConcatenate ()
 
 doConcatenateJavaScript ()
 
 doConcatenateCss ()
 
 doCompress ()
 
 doCompressCss ()
 
 doCompressJavaScript ()
 
 getCompressor ()
 
 processJsFile ($filename)
 
 getTypoScriptFrontendController ()
 
 getLanguageService ()
 
 executePreRenderHook ()
 
 executeRenderPostTransformHook ()
 
 executePostRenderHook (&$jsLibs, &$jsFiles, &$jsFooterFiles, &$cssLibs, &$cssFiles, &$jsInline, &$cssInline, &$jsFooterInline, &$jsFooterLibs)
 

Protected Attributes

 $compressJavascript = false
 
 $compressCss = false
 
 $removeLineBreaksFromTemplate = false
 
 $concatenateFiles = false
 
 $concatenateJavascript = false
 
 $concatenateCss = false
 
 $moveJsFromHeaderToFooter = false
 
 $csConvObj
 
 $locales
 
 $lang
 
 $languageDependencies = array()
 
 $compressor
 
 $jsFiles = array()
 
 $jsFooterFiles = array()
 
 $jsLibs = array()
 
 $jsFooterLibs = array()
 
 $cssFiles = array()
 
 $cssLibs = array()
 
 $title
 
 $charSet
 
 $favIcon
 
 $baseUrl
 
 $renderXhtml = true
 
 $xmlPrologAndDocType = ''
 
 $metaTags = array()
 
 $inlineComments = array()
 
 $headerData = array()
 
 $footerData = array()
 
 $titleTag = '<title>|</title>'
 
 $metaCharsetTag = '<meta http-equiv="Content-Type" content="text/html; charset=|" />'
 
 $htmlTag = '<html>'
 
 $headTag = '<head>'
 
 $baseUrlTag = '<base href="|" />'
 
 $iconMimeType = ''
 
 $shortcutTag = '<link rel="shortcut icon" href="%1$s"%2$s />'
 
 $jsInline = array()
 
 $jsFooterInline = array()
 
 $extOnReadyCode = array()
 
 $cssInline = array()
 
 $bodyContent
 
 $templateFile
 
 $jsLibraryNames = array('extjs')
 
 $requireJsPath = 'sysext/core/Resources/Public/JavaScript/Contrib/'
 
 $extJsPath = 'sysext/core/Resources/Public/JavaScript/Contrib/extjs/'
 
 $jQueryPath = 'sysext/core/Resources/Public/JavaScript/Contrib/jquery/'
 
 $jQueryVersions = array()
 
 $availableLocalJqueryVersions
 
 $jQueryCdnUrls
 
 $addRequireJs = false
 
 $requireJsConfig = array()
 
 $addExtJS = false
 
 $extDirectCodeAdded = false
 
 $enableExtJsDebug = false
 
 $enableJqueryDebug = false
 
 $extJStheme = true
 
 $extJScss = true
 
 $inlineLanguageLabels = array()
 
 $inlineLanguageLabelFiles = array()
 
 $inlineSettings = array()
 
 $inlineJavascriptWrap = array()
 
 $compressError = ''
 
 $endingSlash = ''
 

Detailed Description

TYPO3 pageRender class (new in TYPO3 4.3.0) This class render the HTML of a webpage, usable for BE and FE

Definition at line 29 of file PageRenderer.php.

Constructor & Destructor Documentation

__construct (   $templateFile = '',
  $backPath = null 
)
Parameters
string$templateFileDeclare the used template file. Omit this parameter will use default template
string$backPathRelative path to typo3-folder. It varies for BE modules, in FE it will be typo3/

Definition at line 413 of file PageRenderer.php.

References PageRenderer\$backPath, $GLOBALS, PageRenderer\$templateFile, GeneralUtility\makeInstance(), and PageRenderer\reset().

Member Function Documentation

addBodyContent (   $content)

Adds content to body content

Parameters
string$content
Returns
void

Definition at line 1792 of file PageRenderer.php.

addCssFile (   $file,
  $rel = 'stylesheet',
  $media = 'all',
  $title = '',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|' 
)

Adds CSS file

Parameters
string$file
string$rel
string$media
string$title
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
Returns
void

Definition at line 1439 of file PageRenderer.php.

References PageRenderer\$title.

addCssInlineBlock (   $name,
  $block,
  $compress = false,
  $forceOnTop = false 
)

Adds CSS inline code

Parameters
string$name
string$block
bool$compress
bool$forceOnTop
Returns
void

Definition at line 1496 of file PageRenderer.php.

addCssLibrary (   $file,
  $rel = 'stylesheet',
  $media = 'all',
  $title = '',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|' 
)

Adds CSS file

Parameters
string$file
string$rel
string$media
string$title
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
Returns
void

Definition at line 1470 of file PageRenderer.php.

References PageRenderer\$title.

Referenced by PageRenderer\renderMainJavaScriptLibraries().

addExtOnReadyCode (   $block,
  $forceOnTop = false 
)

Adds Ext.onready code, which will be wrapped in Ext.onReady(function() {...});

Parameters
string$blockJavascript code
bool$forceOnTopPosition of the javascript code (TRUE for putting it on top, default is FALSE = bottom)
Returns
void

Definition at line 1283 of file PageRenderer.php.

addFooterData (   $data)

Adds footer data

Parameters
string$dataFree header data for HTML header
Returns
void

Definition at line 1085 of file PageRenderer.php.

addHeaderData (   $data)

Adds header data

Parameters
string$dataFree header data for HTML header
Returns
void

Definition at line 1072 of file PageRenderer.php.

addInlineComment (   $comment)

Adds inline HTML comment

Parameters
string$comment
Returns
void

Definition at line 1059 of file PageRenderer.php.

addInlineLanguageLabel (   $key,
  $value 
)

Adds Javascript Inline Label. This will occur in TYPO3.lang - object The label can be used in scripts with TYPO3.lang.<key> Need extJs loaded

Parameters
string$key
string$value
Returns
void

Definition at line 1678 of file PageRenderer.php.

addInlineLanguageLabelArray ( array  $array,
  $parseWithLanguageService = false 
)

Adds Javascript Inline Label Array. This will occur in TYPO3.lang - object The label can be used in scripts with TYPO3.lang.<key> Array will be merged with existing array. Need extJs loaded

Parameters
array$array
bool$parseWithLanguageService
Returns
void

Definition at line 1693 of file PageRenderer.php.

References PageRenderer\getLanguageService(), and PageRenderer\getTypoScriptFrontendController().

addInlineLanguageLabelFile (   $fileRef,
  $selectionPrefix = '',
  $stripFromSelectionName = '',
  $errorMode = 0 
)

Gets labels to be used in JavaScript fetched from a locallang file.

Parameters
string$fileRefInput is a file-reference (see GeneralUtility::getFileAbsFileName). That file is expected to be a 'locallang.xlf' file containing a valid XML TYPO3 language structure.
string$selectionPrefixPrefix to select the correct labels (default: '')
string$stripFromSelectionNameString to be removed from the label names in the output. (default: '')
int$errorModeError mode (when file could not be found): 0 - syslog entry, 1 - do nothing, 2 - throw an exception
Returns
void

Definition at line 1717 of file PageRenderer.php.

addInlineSetting (   $namespace,
  $key,
  $value 
)

Adds Javascript Inline Setting. This will occur in TYPO3.settings - object The label can be used in scripts with TYPO3.setting.<key> Need extJs loaded

Parameters
string$namespace
string$key
string$value
Returns
void

Definition at line 1740 of file PageRenderer.php.

References PageRenderer\$inlineSettings.

addInlineSettingArray (   $namespace,
array  $array 
)

Adds Javascript Inline Setting. This will occur in TYPO3.settings - object The label can be used in scripts with TYPO3.setting.<key> Array will be merged with existing array. Need extJs loaded

Parameters
string$namespace
array$array
Returns
void

Definition at line 1768 of file PageRenderer.php.

References PageRenderer\$inlineSettings.

Referenced by PageRenderer\loadRequireJs().

addJsFile (   $file,
  $type = 'text/javascript',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '' 
)

Adds JS file

Parameters
string$fileFile name
string$typeContent Type
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
bool$asyncFlag if property 'async="async"' should be added to JavaScript tags
string$integritySubresource Integrity (SRI)
Returns
void

Definition at line 1178 of file PageRenderer.php.

addJsFooterFile (   $file,
  $type = 'text/javascript',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '' 
)

Adds JS file to footer

Parameters
string$fileFile name
string$typeContent Type
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
bool$asyncFlag if property 'async="async"' should be added to JavaScript tags
string$integritySubresource Integrity (SRI)
Returns
void

Definition at line 1213 of file PageRenderer.php.

addJsFooterInlineCode (   $name,
  $block,
  $compress = true,
  $forceOnTop = false 
)

Adds JS inline code to footer

Parameters
string$name
string$block
bool$compress
bool$forceOnTop
Returns
void

Definition at line 1264 of file PageRenderer.php.

addJsFooterLibrary (   $name,
  $file,
  $type = 'text/javascript',
  $compress = false,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '' 
)

Adds JS Library to Footer. JS Library block is rendered on top of the Footer JS files.

Parameters
string$nameArbitrary identifier
string$fileFile name
string$typeContent Type
bool$compressFlag if library should be compressed
bool$forceOnTopFlag if added library should be inserted at begin of this block
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
bool$asyncFlag if property 'async="async"' should be added to JavaScript tags
string$integritySubresource Integrity (SRI)
Returns
void

Definition at line 1143 of file PageRenderer.php.

addJsInlineCode (   $name,
  $block,
  $compress = true,
  $forceOnTop = false 
)

Adds JS inline code

Parameters
string$name
string$block
bool$compress
bool$forceOnTop
Returns
void

Definition at line 1243 of file PageRenderer.php.

Referenced by PageRenderer\loadRequireJsModule().

addJsLibrary (   $name,
  $file,
  $type = 'text/javascript',
  $compress = false,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '' 
)

Adds JS Library. JS Library block is rendered on top of the JS files.

Parameters
string$nameArbitrary identifier
string$fileFile name
string$typeContent Type
bool$compressFlag if library should be compressed
bool$forceOnTopFlag if added library should be inserted at begin of this block
string$allWrap
bool$excludeFromConcatenation
string$splitCharThe char used to split the allWrap value, default is "|"
bool$asyncFlag if property 'async="async"' should be added to JavaScript tags
string$integritySubresource Integrity (SRI)
Returns
void

Definition at line 1107 of file PageRenderer.php.

addMetaTag (   $meta)

Adds meta data

Parameters
string$metaMeta data (complete metatag)
Returns
void

Definition at line 1046 of file PageRenderer.php.

addRequireJsConfiguration ( array  $configuration)

Add additional configuration to require js.

Configuration will be merged recursive with overrule.

To add another path mapping deliver the following configuration: 'paths' => array( 'EXTERN/mybootstrapjs' => 'sysext/.../twbs/bootstrap.min', ),

Parameters
array$configurationThe configuration that will be merged with existing one.
Returns
void

Definition at line 1606 of file PageRenderer.php.

disableCompressCss ( )

Disables compression of css

Returns
void

Definition at line 707 of file PageRenderer.php.

disableCompressJavascript ( )

Disables compression of javascript

Returns
void

Definition at line 687 of file PageRenderer.php.

disableConcatenateCss ( )

Disables concatenation of css files

Returns
void

Definition at line 767 of file PageRenderer.php.

disableConcatenateFiles ( )

Disables concatenation of js and css files

Returns
void

Definition at line 727 of file PageRenderer.php.

disableConcatenateJavascript ( )

Disables concatenation of js files

Returns
void

Definition at line 747 of file PageRenderer.php.

disableMoveJsFromHeaderToFooter ( )

Disables MoveJsFromHeaderToFooter

Returns
void

Definition at line 667 of file PageRenderer.php.

disableRemoveLineBreaksFromTemplate ( )

Unsets removal of all line breaks in template

Returns
void

Definition at line 787 of file PageRenderer.php.

doCompress ( )
protected

Compresses inline code

Returns
void

Definition at line 2599 of file PageRenderer.php.

References PageRenderer\doCompressCss(), and PageRenderer\doCompressJavaScript().

Referenced by PageRenderer\renderJavaScriptAndCss().

doCompressCss ( )
protected

Compresses CSS according to configuration.

Returns
void

Definition at line 2610 of file PageRenderer.php.

References $GLOBALS, GeneralUtility\callUserFunction(), and PageRenderer\getCompressor().

Referenced by PageRenderer\doCompress().

doCompressJavaScript ( )
protected

Compresses JavaScript according to configuration.

Returns
void

Definition at line 2635 of file PageRenderer.php.

References $GLOBALS, GeneralUtility\callUserFunction(), PageRenderer\getCompressor(), and GeneralUtility\minifyJavaScript().

Referenced by PageRenderer\doCompress().

doConcatenate ( )
protected

Concatenate files into one file registered handler

Returns
void

Definition at line 2534 of file PageRenderer.php.

References PageRenderer\doConcatenateCss(), and PageRenderer\doConcatenateJavaScript().

Referenced by PageRenderer\renderJavaScriptAndCss().

doConcatenateCss ( )
protected

Concatenate CSS files according to configuration.

Returns
void

Definition at line 2571 of file PageRenderer.php.

References $GLOBALS, GeneralUtility\callUserFunction(), and PageRenderer\getCompressor().

Referenced by PageRenderer\doConcatenate().

doConcatenateJavaScript ( )
protected

Concatenate JavaScript files according to the configuration.

Returns
void

Definition at line 2545 of file PageRenderer.php.

References $GLOBALS, GeneralUtility\callUserFunction(), and PageRenderer\getCompressor().

Referenced by PageRenderer\doConcatenate().

enableCompressCss ( )

Enables compression of css

Returns
void

Definition at line 697 of file PageRenderer.php.

enableCompressJavascript ( )

Enables compression of javascript

Returns
void

Definition at line 677 of file PageRenderer.php.

enableConcatenateCss ( )

Enables concatenation of css files

Returns
void

Definition at line 757 of file PageRenderer.php.

enableConcatenateFiles ( )

Enables concatenation of js and css files

Returns
void

Definition at line 717 of file PageRenderer.php.

enableConcatenateJavascript ( )

Enables concatenation of js files

Returns
void

Definition at line 737 of file PageRenderer.php.

enableDebugMode ( )

Enables Debug Mode This is a shortcut to switch off all compress/concatenate features to enable easier debug

Returns
void

Definition at line 798 of file PageRenderer.php.

References PageRenderer\enableExtJsDebug().

enableExtJsDebug ( )

Call this function to load debug version of ExtJS. Use this for development only

Returns
void

Definition at line 1664 of file PageRenderer.php.

Referenced by PageRenderer\enableDebugMode(), and PageRenderer\renderMainJavaScriptLibraries().

enableMoveJsFromHeaderToFooter ( )

Enables MoveJsFromHeaderToFooter

Returns
void

Definition at line 657 of file PageRenderer.php.

enableRemoveLineBreaksFromTemplate ( )

Sets removal of all line breaks in template

Returns
void

Definition at line 777 of file PageRenderer.php.

executePostRenderHook ( $jsLibs,
$jsFiles,
$jsFooterFiles,
$cssLibs,
$cssFiles,
$jsInline,
$cssInline,
$jsFooterInline,
$jsFooterLibs 
)
protected

Execute postRenderHook for possible manipulation

Parameters
$jsLibsstring
$jsFilesstring
$jsFooterFilesstring
$cssLibsstring
$cssFilesstring
$jsInlinestring
$cssInlinestring
$jsFooterInlinestring
$jsFooterLibsstring
Returns
void

Definition at line 2801 of file PageRenderer.php.

References PageRenderer\$cssFiles, PageRenderer\$cssInline, PageRenderer\$cssLibs, $GLOBALS, PageRenderer\$jsFiles, PageRenderer\$jsFooterFiles, PageRenderer\$jsFooterInline, PageRenderer\$jsFooterLibs, PageRenderer\$jsInline, PageRenderer\$jsLibs, and GeneralUtility\callUserFunction().

Referenced by PageRenderer\renderJavaScriptAndCss().

executePreRenderHook ( )
protected

Execute PreRenderHook for possible manipulation

Returns
void

Definition at line 2740 of file PageRenderer.php.

References $GLOBALS, and GeneralUtility\callUserFunction().

Referenced by PageRenderer\renderJavaScriptAndCss().

executeRenderPostTransformHook ( )
protected

PostTransform for possible manipulation of concatenated and compressed files

Returns
void

Definition at line 2766 of file PageRenderer.php.

References $GLOBALS, and GeneralUtility\callUserFunction().

Referenced by PageRenderer\renderJavaScriptAndCss().

getBaseUrl ( )

Gets HTML base URL

Returns
string $url

Definition at line 909 of file PageRenderer.php.

References PageRenderer\$baseUrl.

getBodyContent ( )

Gets content for body

Returns
string

Definition at line 999 of file PageRenderer.php.

References PageRenderer\$bodyContent.

getCharSet ( )

Gets the charSet

Returns
string $charSet

Definition at line 829 of file PageRenderer.php.

References PageRenderer\$charSet.

Referenced by PageRenderer\loadJavaScriptLanguageStrings().

getCompressCss ( )

Gets compress of css

Returns
bool

Definition at line 949 of file PageRenderer.php.

References PageRenderer\$compressCss.

getCompressJavascript ( )

Gets compress of javascript

Returns
bool

Definition at line 939 of file PageRenderer.php.

References PageRenderer\$compressJavascript.

getCompressor ( )
protected
getConcatenateCss ( )

Gets concatenate of css files

Returns
bool

Definition at line 979 of file PageRenderer.php.

References PageRenderer\$concatenateCss.

getConcatenateFiles ( )

Gets concatenate of js and css files

Returns
bool

Definition at line 959 of file PageRenderer.php.

References PageRenderer\$concatenateFiles.

getConcatenateJavascript ( )

Gets concatenate of js files

Returns
bool

Definition at line 969 of file PageRenderer.php.

References PageRenderer\$concatenateJavascript.

getExtJsPath ( )

Gets Path for ExtJs library (relative to typo3 directory)

Returns
string

Definition at line 1009 of file PageRenderer.php.

References PageRenderer\$extJsPath.

getFavIcon ( )

Gets favicon

Returns
string $favIcon

Definition at line 889 of file PageRenderer.php.

References PageRenderer\$favIcon.

getHeadTag ( )

Gets head tag

Returns
string $tag Head tag

Definition at line 879 of file PageRenderer.php.

References PageRenderer\$headTag.

getHtmlTag ( )

Gets html tag

Returns
string $htmlTag Html tag

Definition at line 859 of file PageRenderer.php.

References PageRenderer\$htmlTag.

getIconMimeType ( )

Gets icon mime type

Returns
string $iconMimeType

Definition at line 899 of file PageRenderer.php.

References PageRenderer\$iconMimeType.

getInlineLanguageLabelFiles ( )

Gets the inline language files

Returns
array

Definition at line 1029 of file PageRenderer.php.

References PageRenderer\$inlineLanguageLabelFiles.

getInlineLanguageLabels ( )

Gets the inline language labels.

Returns
array The inline language labels

Definition at line 1019 of file PageRenderer.php.

References PageRenderer\$inlineLanguageLabels.

getLanguage ( )

Gets the language

Returns
string $lang

Definition at line 839 of file PageRenderer.php.

References PageRenderer\$lang.

getLanguageService ( )
protected

Returns global language service instance

Returns

Definition at line 2725 of file PageRenderer.php.

References $GLOBALS.

Referenced by PageRenderer\addInlineLanguageLabelArray().

getMetaCharsetTag ( )

Get meta charset

Returns
string

Definition at line 869 of file PageRenderer.php.

References PageRenderer\$metaCharsetTag.

getMoveJsFromHeaderToFooter ( )

Gets MoveJsFromHeaderToFooter

Returns
bool

Definition at line 929 of file PageRenderer.php.

References PageRenderer\$moveJsFromHeaderToFooter.

getPreparedMarkerArray (   $jsLibs,
  $jsFiles,
  $jsFooterFiles,
  $cssLibs,
  $cssFiles,
  $jsInline,
  $cssInline,
  $jsFooterInline,
  $jsFooterLibs,
  $metaTags 
)
protected

Fills the marker array with the given strings and trims each value

Parameters
$jsLibsstring
$jsFilesstring
$jsFooterFilesstring
$cssLibsstring
$cssFilesstring
$jsInlinestring
$cssInlinestring
$jsFooterInlinestring
$jsFooterLibsstring
$metaTagsstring
Returns
array Marker array

Definition at line 1946 of file PageRenderer.php.

References PageRenderer\$cssFiles, PageRenderer\$cssInline, PageRenderer\$cssLibs, PageRenderer\$jsFiles, PageRenderer\$jsFooterFiles, PageRenderer\$jsFooterInline, PageRenderer\$jsFooterLibs, PageRenderer\$jsInline, PageRenderer\$jsLibs, and PageRenderer\$metaTags.

Referenced by PageRenderer\render().

getPreparedMarkerArrayForPageWithUncachedObjects (   $substituteHash)
protected

Fills the marker array with the given strings and trims each value

Parameters
string$substituteHashThe hash that is used for the placehoder markers
Returns
array Marker array

Definition at line 1981 of file PageRenderer.php.

Referenced by PageRenderer\renderPageWithUncachedObjects().

getRemoveLineBreaksFromTemplate ( )

Gets remove of empty lines from template

Returns
bool

Definition at line 989 of file PageRenderer.php.

References PageRenderer\$removeLineBreaksFromTemplate.

getRenderXhtml ( )

Returns rendering mode XHTML or HTML

Returns
bool TRUE if XHTML, FALSE if HTML

Definition at line 849 of file PageRenderer.php.

References PageRenderer\$renderXhtml.

Referenced by PageRenderer\prepareRendering().

getTemplateFile ( )

Gets template file

Returns
string

Definition at line 919 of file PageRenderer.php.

References PageRenderer\$templateFile.

getTemplateForPart (   $part)
protected

Reads the template file and returns the requested part as string

Parameters
int$part
Returns
string

Definition at line 2016 of file PageRenderer.php.

References PageRenderer\$templateFile, GeneralUtility\getFileAbsFileName(), and GeneralUtility\getUrl().

Referenced by PageRenderer\render(), and PageRenderer\renderPageWithUncachedObjects().

getTitle ( )

Gets the title

Returns
string $title Title of webpage

Definition at line 819 of file PageRenderer.php.

References PageRenderer\$title.

getTypoScriptFrontendController ( )
protected

Returns global frontend controller

Returns
TypoScriptFrontendController

Definition at line 2715 of file PageRenderer.php.

References $GLOBALS.

Referenced by PageRenderer\addInlineLanguageLabelArray().

includeLanguageFileForInline (   $fileRef,
  $selectionPrefix = '',
  $stripFromSelectionName = '',
  $errorMode = 0 
)
protected

Include language file for inline usage

Parameters
string$fileRef
string$selectionPrefix
string$stripFromSelectionName
int$errorMode
Returns
void
Exceptions
\RuntimeException

Definition at line 2455 of file PageRenderer.php.

Referenced by PageRenderer\loadJavaScriptLanguageStrings().

loadExtJS (   $css = true,
  $theme = true 
)

call this function if you need the extJS library

Parameters
bool$cssFlag, if set the ext-css will be loaded
bool$themeFlag, if set the ext-theme "grey" will be loaded
Returns
void

Definition at line 1652 of file PageRenderer.php.

loadJavaScriptLanguageStrings ( )
protected

Load the language strings into JavaScript

Definition at line 2139 of file PageRenderer.php.

References PageRenderer\getCharSet(), and PageRenderer\includeLanguageFileForInline().

Referenced by PageRenderer\renderMainJavaScriptLibraries().

loadJquery (   $version = null,
  $source = null,
  $namespace = self::JQUERY_NAMESPACE_DEFAULT 
)

Call this function if you need to include the jQuery library

Parameters
null | string$versionThe jQuery version that should be included, either "latest" or any available version
null | string$sourceThe location of the jQuery source, can be "local", "google", "msn", "jquery" or just an URL to your jQuery lib
string$namespaceThe namespace in which the jQuery object of the specific version should be stored.
Returns
void
Exceptions
\UnexpectedValueException

Definition at line 1516 of file PageRenderer.php.

loadRequireJs ( )

Call function if you need the requireJS library this automatically adds the JavaScript path of all loaded extensions in the requireJS path option so it resolves names like TYPO3/CMS/MyExtension/MyJsFile to EXT:MyExtension/Resources/Public/JavaScript/MyJsFile.js when using requireJS

Returns
void

Definition at line 1546 of file PageRenderer.php.

References $GLOBALS, PageRenderer\addInlineSettingArray(), GeneralUtility\getApplicationContext(), GeneralUtility\getFileAbsFileName(), GeneralUtility\hmac(), and GeneralUtility\underscoredToUpperCamelCase().

Referenced by PageRenderer\loadRequireJsModule().

loadRequireJsModule (   $mainModuleName,
  $callBackFunction = null 
)

includes an AMD-compatible JS file by resolving the ModuleName, and then requires the file via a requireJS request, additionally allowing to execute JavaScript code afterwards

this function only works for AMD-ready JS modules, used like "define('TYPO3/CMS/Backend/FormEngine..." in the JS file

TYPO3/CMS/Backend/FormEngine => "TYPO3": Vendor Name "CMS": Product Name "Backend": Extension Name "FormEngine": FileName in the Resources/Public/JavaScript folder

Parameters
string$mainModuleNameMust be in the form of "TYPO3/CMS/PackageName/ModuleName" e.g. "TYPO3/CMS/Backend/FormEngine"
string$callBackFunctionloaded right after the requireJS loading, must be wrapped in function() {}
Returns
void

Definition at line 1628 of file PageRenderer.php.

References PageRenderer\addJsInlineCode(), and PageRenderer\loadRequireJs().

Referenced by UsernamePasswordLoginProvider\render(), and PageRenderer\renderMainJavaScriptLibraries().

prepareRendering ( )
protected

Remove ending slashes from static header block if the page is beeing rendered as html (not xhtml) and define property $this->endingSlash for further use

Returns
void

Definition at line 1882 of file PageRenderer.php.

References PageRenderer\getRenderXhtml().

Referenced by PageRenderer\render(), PageRenderer\renderJavaScriptAndCssForProcessingOfUncachedContentObjects(), and PageRenderer\renderPageWithUncachedObjects().

processJsFile (   $filename)
protected

Processes a Javascript file dependent on the current context

Adds the version number for Frontend, compresses the file for Backend

Parameters
string$filenameFilename
Returns
string New filename

Definition at line 2691 of file PageRenderer.php.

References $filename, GeneralUtility\createVersionNumberedFilename(), and PageRenderer\getCompressor().

Referenced by PageRenderer\renderMainJavaScriptLibraries().

render (   $part = self::PART_COMPLETE)
renderAdditionalJavaScriptLibraries ( )
protected

Render JavaScipt libraries

Returns
array<string> jsLibs and jsFooterLibs strings

Definition at line 2324 of file PageRenderer.php.

References PageRenderer\$jsFooterLibs, PageRenderer\$jsLibs, GeneralUtility\createVersionNumberedFilename(), and GeneralUtility\resolveBackPath().

Referenced by PageRenderer\renderJavaScriptAndCss().

renderCssFiles ( )
protected
renderCssInline ( )
protected

Render inline CSS

Returns
string

Definition at line 2302 of file PageRenderer.php.

References PageRenderer\$cssInline.

Referenced by PageRenderer\renderJavaScriptAndCss().

renderCssLibraries ( )
protected

Render CSS library files

Returns
string

Definition at line 2238 of file PageRenderer.php.

References PageRenderer\$cssFiles, GeneralUtility\createVersionNumberedFilename(), and GeneralUtility\resolveBackPath().

Referenced by PageRenderer\renderJavaScriptAndCss().

renderInlineJavaScript ( )
protected

Render inline JavaScript

Returns
array<string> jsInline and jsFooterInline string

Definition at line 2410 of file PageRenderer.php.

References PageRenderer\$jsFooterInline, and PageRenderer\$jsInline.

Referenced by PageRenderer\renderJavaScriptAndCss().

renderJavaScriptAndCss ( )
protected
renderJavaScriptAndCssForProcessingOfUncachedContentObjects (   $cachedPageContent,
  $substituteHash 
)

Renders the JavaScript and CSS files that have been added during processing of uncached content objects (USER_INT, COA_INT)

Parameters
string$cachedPageContent
string$substituteHashThe hash that is used for the placehoder markers private
Returns
string

Definition at line 1849 of file PageRenderer.php.

References PageRenderer\$cssFiles, PageRenderer\$cssInline, PageRenderer\$cssLibs, PageRenderer\$jsFiles, PageRenderer\$jsFooterFiles, PageRenderer\$jsFooterInline, PageRenderer\$jsFooterLibs, PageRenderer\$jsInline, PageRenderer\$jsLibs, PageRenderer\$title, PageRenderer\prepareRendering(), PageRenderer\renderJavaScriptAndCss(), and PageRenderer\reset().

renderJavaScriptFiles ( )
protected

Render JavaScript files

Returns
array<string> jsFiles and jsFooterFiles strings

Definition at line 2367 of file PageRenderer.php.

References PageRenderer\$jsFiles, PageRenderer\$jsFooterFiles, GeneralUtility\createVersionNumberedFilename(), and GeneralUtility\resolveBackPath().

Referenced by PageRenderer\renderJavaScriptAndCss().

renderJqueryScriptTag (   $version,
  $source,
  $namespace 
)
protected

Renders the HTML script tag for the given jQuery version.

Parameters
string$versionThe jQuery version that should be included, either "latest" or any available version
string$sourceThe location of the jQuery source, can be "local", "google", "msn" or "jquery
string$namespaceThe namespace in which the jQuery object of the specific version should be stored
Returns
string

Definition at line 2194 of file PageRenderer.php.

References GeneralUtility\wrapJS().

Referenced by PageRenderer\renderMainJavaScriptLibraries().

renderMainJavaScriptLibraries ( )
protected
renderPageWithUncachedObjects (   $substituteHash)

Render the page but not the JavaScript and CSS Files

Parameters
string$substituteHashThe hash that is used for the placehoder markers private
Returns
string Content of rendered section

Definition at line 1831 of file PageRenderer.php.

References PageRenderer\getPreparedMarkerArrayForPageWithUncachedObjects(), PageRenderer\getTemplateForPart(), GeneralUtility\makeInstance(), and PageRenderer\prepareRendering().

reset ( )
protected

Reset all vars to initial values

Returns
void

Definition at line 437 of file PageRenderer.php.

Referenced by PageRenderer\__construct(), PageRenderer\render(), and PageRenderer\renderJavaScriptAndCssForProcessingOfUncachedContentObjects().

setBackPath (   $backPath)

Sets back path

Parameters
string$backPath
Returns
void

Definition at line 608 of file PageRenderer.php.

References PageRenderer\$backPath.

setBaseUrl (   $baseUrl)

Sets HTML base URL

Parameters
string$baseUrlHTML base URL
Returns
void

Definition at line 586 of file PageRenderer.php.

References PageRenderer\$baseUrl.

setBodyContent (   $content)

Sets Content for Body

Parameters
string$content
Returns
void

Definition at line 619 of file PageRenderer.php.

setCharSet (   $charSet)

Sets meta charset

Parameters
string$charSetUsed charset
Returns
void

Definition at line 500 of file PageRenderer.php.

References PageRenderer\$charSet.

setExtJsPath (   $path)

Sets Path for ExtJs library (relative to typo3 directory)

Parameters
string$path
Returns
void

Definition at line 641 of file PageRenderer.php.

setFavIcon (   $favIcon)

Sets favicon

Parameters
string$favIcon
Returns
void

Definition at line 564 of file PageRenderer.php.

References PageRenderer\$favIcon.

setHeadTag (   $headTag)

Sets HTML head tag

Parameters
string$headTagHTML head tag
Returns
void

Definition at line 553 of file PageRenderer.php.

References PageRenderer\$headTag.

setHtmlTag (   $htmlTag)

Sets html tag

Parameters
string$htmlTagHtml tag
Returns
void

Definition at line 542 of file PageRenderer.php.

References PageRenderer\$htmlTag.

setIconMimeType (   $iconMimeType)

Sets icon mime type

Parameters
string$iconMimeType
Returns
void

Definition at line 575 of file PageRenderer.php.

References PageRenderer\$iconMimeType.

setLanguage (   $lang)

Sets language

Parameters
string$langUsed language
Returns
void

Definition at line 511 of file PageRenderer.php.

References PageRenderer\$lang.

setMetaCharsetTag (   $metaCharsetTag)

Set the meta charset tag

Parameters
string$metaCharsetTag
Returns
void

Definition at line 531 of file PageRenderer.php.

References PageRenderer\$metaCharsetTag.

setRenderXhtml (   $enable)

Enables/disables rendering of XHTML code

Parameters
bool$enableEnable XHTML
Returns
void

Definition at line 478 of file PageRenderer.php.

setRequireJsPath (   $path)

Sets path to requireJS library (relative to typo3 directory)

Parameters
string$pathPath to requireJS library
Returns
void

Definition at line 630 of file PageRenderer.php.

setTemplateFile (   $file)

Sets template file

Parameters
string$file
Returns
void

Definition at line 597 of file PageRenderer.php.

setTitle (   $title)

Sets the title

Parameters
string$titletitle of webpage
Returns
void

Definition at line 467 of file PageRenderer.php.

References PageRenderer\$title.

setXmlPrologAndDocType (   $xmlPrologAndDocType)

Sets xml prolog and docType

Parameters
string$xmlPrologAndDocTypeComplete tags for xml prolog and docType
Returns
void

Definition at line 489 of file PageRenderer.php.

References PageRenderer\$xmlPrologAndDocType.

Member Data Documentation

$addExtJS = false
protected

Definition at line 341 of file PageRenderer.php.

$addRequireJs = false
protected

Definition at line 330 of file PageRenderer.php.

$availableLocalJqueryVersions
protected
Initial value:
= array(
self::JQUERY_VERSION_LATEST
)

Definition at line 310 of file PageRenderer.php.

$backPath

Definition at line 407 of file PageRenderer.php.

Referenced by PageRenderer\__construct(), and PageRenderer\setBackPath().

$baseUrl
protected

Definition at line 161 of file PageRenderer.php.

Referenced by PageRenderer\getBaseUrl(), and PageRenderer\setBaseUrl().

$baseUrlTag = '<base href="|" />'
protected

Definition at line 217 of file PageRenderer.php.

$bodyContent
protected

Definition at line 253 of file PageRenderer.php.

Referenced by PageRenderer\getBodyContent().

$charSet
protected

Definition at line 151 of file PageRenderer.php.

Referenced by PageRenderer\getCharSet(), and PageRenderer\setCharSet().

$compressCss = false
protected

Definition at line 50 of file PageRenderer.php.

Referenced by PageRenderer\getCompressCss().

$compressError = ''
protected

Definition at line 393 of file PageRenderer.php.

$compressJavascript = false
protected

Definition at line 45 of file PageRenderer.php.

Referenced by PageRenderer\getCompressJavascript().

$compressor
protected

Definition at line 106 of file PageRenderer.php.

Referenced by PageRenderer\getCompressor().

$concatenateCss = false
protected

Definition at line 70 of file PageRenderer.php.

Referenced by PageRenderer\getConcatenateCss().

$concatenateFiles = false
protected

Definition at line 60 of file PageRenderer.php.

Referenced by PageRenderer\getConcatenateFiles().

$concatenateJavascript = false
protected

Definition at line 65 of file PageRenderer.php.

Referenced by PageRenderer\getConcatenateJavascript().

$csConvObj
protected

Definition at line 80 of file PageRenderer.php.

$cssFiles = array()
protected
$cssInline = array()
protected
$cssLibs = array()
protected
$enableExtJsDebug = false
protected

Definition at line 351 of file PageRenderer.php.

$enableJqueryDebug = false
protected

Definition at line 356 of file PageRenderer.php.

$endingSlash = ''
protected

Definition at line 400 of file PageRenderer.php.

$extDirectCodeAdded = false
protected

Definition at line 346 of file PageRenderer.php.

$extJScss = true
protected

Definition at line 366 of file PageRenderer.php.

$extJsPath = 'sysext/core/Resources/Public/JavaScript/Contrib/extjs/'
protected

Definition at line 276 of file PageRenderer.php.

Referenced by PageRenderer\getExtJsPath().

$extJStheme = true
protected

Definition at line 361 of file PageRenderer.php.

$extOnReadyCode = array()
protected

Definition at line 243 of file PageRenderer.php.

$favIcon
protected

Definition at line 156 of file PageRenderer.php.

Referenced by PageRenderer\getFavIcon(), and PageRenderer\setFavIcon().

$footerData = array()
protected

Definition at line 192 of file PageRenderer.php.

$headerData = array()
protected

Definition at line 187 of file PageRenderer.php.

$headTag = '<head>'
protected

Definition at line 212 of file PageRenderer.php.

Referenced by PageRenderer\getHeadTag(), and PageRenderer\setHeadTag().

$htmlTag = '<html>'
protected

Definition at line 207 of file PageRenderer.php.

Referenced by PageRenderer\getHtmlTag(), and PageRenderer\setHtmlTag().

$iconMimeType = ''
protected

Definition at line 222 of file PageRenderer.php.

Referenced by PageRenderer\getIconMimeType(), and PageRenderer\setIconMimeType().

$inlineComments = array()
protected

Definition at line 182 of file PageRenderer.php.

$inlineJavascriptWrap = array()
protected

Definition at line 386 of file PageRenderer.php.

$inlineLanguageLabelFiles = array()
protected

Definition at line 376 of file PageRenderer.php.

Referenced by PageRenderer\getInlineLanguageLabelFiles().

$inlineLanguageLabels = array()
protected

Definition at line 371 of file PageRenderer.php.

Referenced by PageRenderer\getInlineLanguageLabels().

$inlineSettings = array()
protected
$jQueryCdnUrls
protected
Initial value:
= array(
'google' => 'https://ajax.googleapis.com/ajax/libs/jquery/%1$s/jquery%2$s.js',
'msn' => 'https://ajax.aspnetcdn.com/ajax/jQuery/jquery-%1$s%2$s.js',
'jquery' => 'https://code.jquery.com/jquery-%1$s%2$s.js',
'cloudflare' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery/%1$s/jquery%2$s.js'
)

Definition at line 319 of file PageRenderer.php.

$jQueryPath = 'sysext/core/Resources/Public/JavaScript/Contrib/jquery/'
protected

Definition at line 283 of file PageRenderer.php.

$jQueryVersions = array()
protected

Definition at line 303 of file PageRenderer.php.

$jsFiles = array()
protected
$jsFooterFiles = array()
protected
$jsFooterInline = array()
protected
$jsFooterLibs = array()
protected
$jsInline = array()
protected
$jsLibraryNames = array('extjs')
protected

Definition at line 263 of file PageRenderer.php.

$jsLibs = array()
protected
$lang
protected
$languageDependencies = array()
protected

Definition at line 101 of file PageRenderer.php.

$locales
protected

Definition at line 85 of file PageRenderer.php.

$metaCharsetTag = '<meta http-equiv="Content-Type" content="text/html; charset=|" />'
protected
$metaTags = array()
protected

Definition at line 177 of file PageRenderer.php.

Referenced by PageRenderer\getPreparedMarkerArray(), and PageRenderer\render().

$moveJsFromHeaderToFooter = false
protected

Definition at line 75 of file PageRenderer.php.

Referenced by PageRenderer\getMoveJsFromHeaderToFooter().

$removeLineBreaksFromTemplate = false
protected

Definition at line 55 of file PageRenderer.php.

Referenced by PageRenderer\getRemoveLineBreaksFromTemplate().

$renderXhtml = true
protected

Definition at line 166 of file PageRenderer.php.

Referenced by PageRenderer\getRenderXhtml().

$requireJsConfig = array()
protected

Definition at line 336 of file PageRenderer.php.

$requireJsPath = 'sysext/core/Resources/Public/JavaScript/Contrib/'
protected

Definition at line 271 of file PageRenderer.php.

$shortcutTag = '<link rel="shortcut icon" href="%1$s"%2$s />'
protected

Definition at line 227 of file PageRenderer.php.

$templateFile
protected
$title
protected
$titleTag = '<title>|</title>'
protected

Definition at line 197 of file PageRenderer.php.

$xmlPrologAndDocType = ''
protected

Definition at line 172 of file PageRenderer.php.

Referenced by PageRenderer\setXmlPrologAndDocType().

const JQUERY_NAMESPACE_DEFAULT = 'jQuery'

Definition at line 39 of file PageRenderer.php.

const JQUERY_NAMESPACE_DEFAULT_NOCONFLICT = 'defaultNoConflict'

Definition at line 40 of file PageRenderer.php.

Referenced by PageRendererViewHelper\render().

const JQUERY_NAMESPACE_NONE = 'none'

Definition at line 38 of file PageRenderer.php.

const JQUERY_VERSION_LATEST = '2.1.4'

Definition at line 36 of file PageRenderer.php.

const PART_COMPLETE = 0

Definition at line 32 of file PageRenderer.php.

const PART_FOOTER = 2

Definition at line 34 of file PageRenderer.php.

Referenced by ModuleTemplate\renderContent(), and DocumentTemplate\startPage().

const PART_HEADER = 1