‪TYPO3CMS  10.4
TYPO3\CMS\Core\Page\PageRenderer Class Reference
Inheritance diagram for TYPO3\CMS\Core\Page\PageRenderer:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 updateState (array $newState)
 
array getState ()
 
 setTitle ($title)
 
 setRenderXhtml ($enable)
 
 setXmlPrologAndDocType ($xmlPrologAndDocType)
 
 setCharSet ($charSet)
 
 setLanguage ($lang)
 
 setMetaCharsetTag ($metaCharsetTag)
 
 setHtmlTag ($htmlTag)
 
 setHeadTag ($headTag)
 
 setFavIcon ($favIcon)
 
 setIconMimeType ($iconMimeType)
 
 setBaseUrl ($baseUrl)
 
 setTemplateFile ($file)
 
 setBodyContent ($content)
 
 setRequireJsPath ($path)
 
array getRequireJsConfig (string $scope=null)
 
 enableMoveJsFromHeaderToFooter ()
 
 disableMoveJsFromHeaderToFooter ()
 
 enableCompressJavascript ()
 
 disableCompressJavascript ()
 
 enableCompressCss ()
 
 disableCompressCss ()
 
 enableConcatenateJavascript ()
 
 disableConcatenateJavascript ()
 
 enableConcatenateCss ()
 
 disableConcatenateCss ()
 
 enableRemoveLineBreaksFromTemplate ()
 
 disableRemoveLineBreaksFromTemplate ()
 
 enableDebugMode ()
 
string getTitle ()
 
string getCharSet ()
 
string getLanguage ()
 
bool getRenderXhtml ()
 
string getHtmlTag ()
 
string getMetaCharsetTag ()
 
string getHeadTag ()
 
string getFavIcon ()
 
string getIconMimeType ()
 
string getBaseUrl ()
 
string getTemplateFile ()
 
bool getMoveJsFromHeaderToFooter ()
 
bool getCompressJavascript ()
 
bool getCompressCss ()
 
bool getConcatenateJavascript ()
 
bool getConcatenateCss ()
 
bool getRemoveLineBreaksFromTemplate ()
 
string getBodyContent ()
 
array getInlineLanguageLabels ()
 
array getInlineLanguageLabelFiles ()
 
 setMetaTag (string $type, string $name, string $content, array $subProperties=[], $replace=true)
 
array getMetaTag (string $type, string $name)
 
 removeMetaTag (string $type, string $name)
 
 addInlineComment ($comment)
 
 addHeaderData ($data)
 
 addFooterData ($data)
 
 addJsLibrary ($name, $file, $type='text/javascript', $compress=false, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $async=false, $integrity='', $defer=false, $crossorigin='', $nomodule=false)
 
 addJsFooterLibrary ($name, $file, $type='text/javascript', $compress=false, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $async=false, $integrity='', $defer=false, $crossorigin='', $nomodule=false)
 
 addJsFile ($file, $type='text/javascript', $compress=true, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $async=false, $integrity='', $defer=false, $crossorigin='', $nomodule=false)
 
 addJsFooterFile ($file, $type='text/javascript', $compress=true, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $async=false, $integrity='', $defer=false, $crossorigin='', $nomodule=false)
 
 addJsInlineCode ($name, $block, $compress=true, $forceOnTop=false)
 
 addJsFooterInlineCode ($name, $block, $compress=true, $forceOnTop=false)
 
 addCssFile ($file, $rel='stylesheet', $media='all', $title='', $compress=true, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $inline=false)
 
 addCssLibrary ($file, $rel='stylesheet', $media='all', $title='', $compress=true, $forceOnTop=false, $allWrap='', $excludeFromConcatenation=false, $splitChar='|', $inline=false)
 
 addCssInlineBlock ($name, $block, $compress=false, $forceOnTop=false)
 
 loadRequireJs ()
 
 addRequireJsConfiguration (array $configuration)
 
 loadRequireJsModule ($mainModuleName, $callBackFunction=null)
 
 addInlineLanguageLabel ($key, $value)
 
 addInlineLanguageLabelArray (array $array)
 
 addInlineLanguageLabelFile ($fileRef, $selectionPrefix='', $stripFromSelectionName='')
 
 addInlineSetting ($namespace, $key, $value)
 
 addInlineSettingArray ($namespace, array $array)
 
 addBodyContent ($content)
 
string render ($part=self::PART_COMPLETE)
 
string renderPageWithUncachedObjects ($substituteHash)
 
string renderJavaScriptAndCssForProcessingOfUncachedContentObjects ($cachedPageContent, $substituteHash)
 

Static Public Member Functions

static setCache (FrontendInterface $cache)
 

Public Attributes

const PART_COMPLETE = 0
 
const PART_HEADER = 1
 
const PART_FOOTER = 2
 
const REQUIREJS_SCOPE_CONFIG = 'config'
 
const REQUIREJS_SCOPE_RESOLVE = 'resolve'
 

Protected Member Functions

array< string, $jsFiles=array();protected array $jsFooterFiles=array();protected array $jsLibs=array();protected array $jsFooterLibs=array();protected array< string, $cssFiles=array();protected array< string, $cssLibs=array();protected string $title;protected string $charSet;protected string $favIcon;protected string $baseUrl;protected bool $renderXhtml=true;protected string $xmlPrologAndDocType='';protected array $metaTags=array();protected array $inlineComments=array();protected array $headerData=array();protected array $footerData=array();protected string $titleTag='< title >|</title >';protected string $metaCharsetTag='< meta http-equiv="Content-Type" content="text/html; charset=|"/>';protected string $htmlTag='< html >';protected string $headTag='< head >';protected string $baseUrlTag='< base href="|"/>';protected string $iconMimeType='';protected string $shortcutTag='< link rel="shortcut icon" href="%1$s"%2 $s/>';protected array< string, $jsInline=array();protected array $jsFooterInline=array();protected array< string, $cssInline=array();protected string $bodyContent;protected string $templateFile;protected string $requireJsPath='EXT:core/Resources/Public/JavaScript/Contrib/';protected bool $addRequireJs=false;protected array $requireJsConfig=array();protected array $internalRequireJsPathModuleNames=array();protected array $publicRequireJsConfig=array();protected array $inlineLanguageLabels=array();protected array $inlineLanguageLabelFiles=array();protected array $inlineSettings=array();protected array $inlineJavascriptWrap=array('< script type="text/javascript">' . LF . '' . LF, '' . LF . '</script >' . LF);protected array $inlineCssWrap=array('< style type="text/css">' . LF . '' . LF . '<!-- ' . LF, '-->' . LF . '' . LF . '</style >' . LF);protected string $compressError='';protected string $endingSlash='';protected MetaTagManagerRegistry $metaTagRegistry;protected static FrontendInterface $cache=null;public __construct( $templateFile='') { $this->reset();$this->locales=GeneralUtility::makeInstance(Locales::class);if( $templateFile !=='') { $this->templateFile=$templateFile;} $this->metaTagRegistry=GeneralUtility::makeInstance(MetaTagManagerRegistry::class);$this-> setMetaTag ('name', 'generator', 'TYPO3 CMS')
 
 reset ()
 
array computeRequireJsConfig ($isDevelopment, array $packages)
 
string getRequireJsLoader ()
 
array filterArrayKeys (array $array, array $keys, bool $keep=true)
 
string null findRequireJsBaseModuleName (string $moduleName)
 
array renderMetaTagsFromAPI ()
 
 prepareRendering ()
 
array string[] renderJavaScriptAndCss ()
 
array getPreparedMarkerArray ($jsLibs, $jsFiles, $jsFooterFiles, $cssLibs, $cssFiles, $jsInline, $cssInline, $jsFooterInline, $jsFooterLibs, $metaTags)
 
array getPreparedMarkerArrayForPageWithUncachedObjects ($substituteHash)
 
string getTemplateForPart ($part)
 
string renderMainJavaScriptLibraries ()
 
array parseLanguageLabelsForJavaScript ()
 
 loadJavaScriptLanguageStrings ()
 
 convertCharsetRecursivelyToUtf8 (&$data, string $fromCharset)
 
 addAjaxUrlsToInlineSettings (bool $publicRoutesOnly=false)
 
string renderCssLibraries ()
 
string renderCssFiles ()
 
string renderCssInline ()
 
array string[] renderAdditionalJavaScriptLibraries ()
 
array string[] renderJavaScriptFiles ()
 
array string[] renderInlineJavaScript ()
 
 includeLanguageFileForInline ($fileRef, $selectionPrefix='', $stripFromSelectionName='')
 
array readLLfile ($fileRef)
 
 doConcatenate ()
 
 doConcatenateJavaScript ()
 
 doConcatenateCss ()
 
 doCompress ()
 
 doCompressCss ()
 
 doCompressJavaScript ()
 
ResourceCompressor getCompressor ()
 
string processJsFile ($filename)
 
string getStreamlinedFileName ($file, $prepareForOutput=true)
 
string getAbsoluteWebPath (string $file)
 
 executePreRenderHook ()
 
 executeRenderPostTransformHook ()
 
 executePostRenderHook (&$jsLibs, &$jsFiles, &$jsFooterFiles, &$cssLibs, &$cssFiles, &$jsInline, &$cssInline, &$jsFooterInline, &$jsFooterLibs)
 
string createInlineCssTagFromFile (string $file, array $properties)
 
 getPathFixer ()
 

Protected Attributes

bool $compressJavascript = false
 
bool $compressCss = false
 
bool $removeLineBreaksFromTemplate = false
 
bool $concatenateJavascript = false
 
bool $concatenateCss = false
 
bool $moveJsFromHeaderToFooter = false
 
Locales $locales
 
string $lang
 
array $languageDependencies = array( )
 
ResourceCompressor $compressor
 

Private Member Functions

string createCssTag (array $properties, string $file)
 

Detailed Description

TYPO3 pageRender class This class render the HTML of a webpage, usable for BE and FE

Definition at line 41 of file PageRenderer.php.

Member Function Documentation

◆ addAjaxUrlsToInlineSettings()

TYPO3\CMS\Core\Page\PageRenderer::addAjaxUrlsToInlineSettings ( bool  $publicRoutesOnly = false)
protected

Make URLs to all backend ajax handlers available as inline setting.

Parameters
bool$publicRoutesOnly

Definition at line 2004 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderMainJavaScriptLibraries().

◆ addBodyContent()

TYPO3\CMS\Core\Page\PageRenderer::addBodyContent (   $content)

Adds content to body content

Parameters
string$content

Definition at line 1633 of file PageRenderer.php.

◆ addCssFile()

TYPO3\CMS\Core\Page\PageRenderer::addCssFile (   $file,
  $rel = 'stylesheet',
  $media = 'all',
  $title = '',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $inline = false 
)

Adds CSS file

Parameters
string$file
string$rel
string$media
string$title
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$inline

Definition at line 1201 of file PageRenderer.php.

Referenced by TYPO3\CMS\Backend\Form\FormResultCompiler\addCssFiles(), TYPO3\CMS\Frontend\Http\RequestHandler\addCssToPageRenderer(), TYPO3\CMS\Dashboard\Controller\DashboardController\addFrontendResources(), and TYPO3\CMS\Dashboard\Controller\DashboardController\preparePageRenderer().

◆ addCssInlineBlock()

TYPO3\CMS\Core\Page\PageRenderer::addCssInlineBlock (   $name,
  $block,
  $compress = false,
  $forceOnTop = false 
)

Adds CSS inline code

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

Definition at line 1259 of file PageRenderer.php.

Referenced by TYPO3\CMS\Frontend\Http\RequestHandler\addCssToPageRenderer().

◆ addCssLibrary()

TYPO3\CMS\Core\Page\PageRenderer::addCssLibrary (   $file,
  $rel = 'stylesheet',
  $media = 'all',
  $title = '',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $inline = false 
)

Adds CSS file

Parameters
string$file
string$rel
string$media
string$title
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$inline

Definition at line 1233 of file PageRenderer.php.

◆ addFooterData()

TYPO3\CMS\Core\Page\PageRenderer::addFooterData (   $data)

Adds footer data

Parameters
string$data‪Free header data for HTML header

Definition at line 989 of file PageRenderer.php.

Referenced by TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject\renderFluidTemplateAssetsIntoPageRenderer().

◆ addHeaderData()

TYPO3\CMS\Core\Page\PageRenderer::addHeaderData (   $data)

Adds header data

Parameters
string$data‪Free header data for HTML header

Definition at line 977 of file PageRenderer.php.

Referenced by TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject\renderFluidTemplateAssetsIntoPageRenderer().

◆ addInlineComment()

TYPO3\CMS\Core\Page\PageRenderer::addInlineComment (   $comment)

Adds inline HTML comment

Parameters
string$comment

Definition at line 965 of file PageRenderer.php.

◆ addInlineLanguageLabel()

TYPO3\CMS\Core\Page\PageRenderer::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>

Parameters
string$key
string$value

Definition at line 1540 of file PageRenderer.php.

◆ addInlineLanguageLabelArray()

TYPO3\CMS\Core\Page\PageRenderer::addInlineLanguageLabelArray ( array  $array)

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.

Parameters
array$array

Definition at line 1552 of file PageRenderer.php.

Referenced by TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom().

◆ addInlineLanguageLabelFile()

TYPO3\CMS\Core\Page\PageRenderer::addInlineLanguageLabelFile (   $fileRef,
  $selectionPrefix = '',
  $stripFromSelectionName = '' 
)

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

Parameters
string$fileRef‪Input 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$selectionPrefix‪Prefix to select the correct labels (default: '')
string$stripFromSelectionName‪String to be removed from the label names in the output. (default: '')

Definition at line 1564 of file PageRenderer.php.

Referenced by TYPO3\CMS\Form\Controller\FormEditorController\indexAction(), TYPO3\CMS\Form\Controller\FormManagerController\indexAction(), TYPO3\CMS\Recordlist\Controller\RecordListController\init(), and TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom().

◆ addInlineSetting()

TYPO3\CMS\Core\Page\PageRenderer::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>

Parameters
string$namespace
string$key
mixed$value

Definition at line 1584 of file PageRenderer.php.

Referenced by TYPO3\CMS\Beuser\Hook\BackendControllerHook\addJavaScript(), TYPO3\CMS\Impexp\Hook\BackendControllerHook\addJavaScript(), TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom(), and TYPO3\CMS\Backend\Form\FormResultCompiler\printNeededJSFunctions().

◆ addInlineSettingArray()

TYPO3\CMS\Core\Page\PageRenderer::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.

Parameters
string$namespace
array$array

Definition at line 1610 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\computeRequireJsConfig(), and TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom().

◆ addJsFile()

TYPO3\CMS\Core\Page\PageRenderer::addJsFile (   $file,
  $type = 'text/javascript',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '',
  $defer = false,
  $crossorigin = '',
  $nomodule = false 
)

Adds JS file

Parameters
string$file‪File name
string$type‪Content Type
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$async‪Flag if property 'async="async"' should be added to JavaScript tags
string$integrity‪Subresource Integrity (SRI)
bool$defer‪Flag if property 'defer="defer"' should be added to JavaScript tags
string$crossorigin‪CORS settings attribute
bool$nomodule‪Flag if property 'nomodule="nomodule"' should be added to JavaScript tags

Definition at line 1089 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_HEADER.

Referenced by TYPO3\CMS\Dashboard\Controller\DashboardController\addFrontendResources(), and TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom().

◆ addJsFooterFile()

TYPO3\CMS\Core\Page\PageRenderer::addJsFooterFile (   $file,
  $type = 'text/javascript',
  $compress = true,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '',
  $defer = false,
  $crossorigin = '',
  $nomodule = false 
)

Adds JS file to footer

Parameters
string$file‪File name
string$type‪Content Type
bool$compress
bool$forceOnTop
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$async‪Flag if property 'async="async"' should be added to JavaScript tags
string$integrity‪Subresource Integrity (SRI)
bool$defer‪Flag if property 'defer="defer"' should be added to JavaScript tags
string$crossorigin‪CORS settings attribute
bool$nomodule‪Flag if property 'nomodule="nomodule"' should be added to JavaScript tags

Definition at line 1126 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_FOOTER.

◆ addJsFooterInlineCode()

TYPO3\CMS\Core\Page\PageRenderer::addJsFooterInlineCode (   $name,
  $block,
  $compress = true,
  $forceOnTop = false 
)

Adds JS inline code to footer

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

Definition at line 1175 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_FOOTER.

Referenced by TYPO3\CMS\Form\ViewHelpers\Form\DatePickerViewHelper\renderInlineJavascript().

◆ addJsFooterLibrary()

TYPO3\CMS\Core\Page\PageRenderer::addJsFooterLibrary (   $name,
  $file,
  $type = 'text/javascript',
  $compress = false,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '',
  $defer = false,
  $crossorigin = '',
  $nomodule = false 
)

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

Parameters
string$name‪Arbitrary identifier
string$file‪File name
string$type‪Content Type
bool$compress‪Flag if library should be compressed
bool$forceOnTop‪Flag if added library should be inserted at begin of this block
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$async‪Flag if property 'async="async"' should be added to JavaScript tags
string$integrity‪Subresource Integrity (SRI)
bool$defer‪Flag if property 'defer="defer"' should be added to JavaScript tags
string$crossorigin‪CORS settings attribute
bool$nomodule‪Flag if property 'nomodule="nomodule"' should be added to JavaScript tags

Definition at line 1051 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_FOOTER.

◆ addJsInlineCode()

TYPO3\CMS\Core\Page\PageRenderer::addJsInlineCode (   $name,
  $block,
  $compress = true,
  $forceOnTop = false 
)

Adds JS inline code

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

Definition at line 1155 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_HEADER.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadRequireJsModule(), and TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController\main().

◆ addJsLibrary()

TYPO3\CMS\Core\Page\PageRenderer::addJsLibrary (   $name,
  $file,
  $type = 'text/javascript',
  $compress = false,
  $forceOnTop = false,
  $allWrap = '',
  $excludeFromConcatenation = false,
  $splitChar = '|',
  $async = false,
  $integrity = '',
  $defer = false,
  $crossorigin = '',
  $nomodule = false 
)

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

Parameters
string$name‪Arbitrary identifier
string$file‪File name
string$type‪Content Type
bool$compress‪Flag if library should be compressed
bool$forceOnTop‪Flag if added library should be inserted at begin of this block
string$allWrap
bool$excludeFromConcatenation
string$splitChar‪The char used to split the allWrap value, default is "|"
bool$async‪Flag if property 'async="async"' should be added to JavaScript tags
string$integrity‪Subresource Integrity (SRI)
bool$defer‪Flag if property 'defer="defer"' should be added to JavaScript tags
string$crossorigin‪CORS settings attribute
bool$nomodule‪Flag if property 'nomodule="nomodule"' should be added to JavaScript tags

Definition at line 1013 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\PART_HEADER.

◆ addRequireJsConfiguration()

TYPO3\CMS\Core\Page\PageRenderer::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$configuration‪The configuration that will be merged with existing one.

Definition at line 1404 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\loadRequireJs().

Referenced by TYPO3\CMS\Dashboard\Controller\DashboardController\preparePageRenderer().

◆ computeRequireJsConfig()

array TYPO3\CMS\Core\Page\PageRenderer::computeRequireJsConfig (   $isDevelopment,
array  $packages 
)
protected

Computes the RequireJS configuration, mainly consisting of the paths to the core and all extension JavaScript resource folders plus some additional generic configuration.

Parameters
bool$isDevelopment
array<string,PackageInterface>‪$packages
Returns
‪array The RequireJS configuration

Definition at line 1309 of file PageRenderer.php.

References $GLOBALS, TYPO3\CMS\Core\Page\PageRenderer\addInlineSettingArray(), TYPO3\CMS\Core\Utility\PathUtility\getAbsoluteWebPath(), TYPO3\CMS\Core\Core\Environment\getProjectPath(), and TYPO3\CMS\Core\Utility\GeneralUtility\underscoredToUpperCamelCase().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadRequireJs().

◆ convertCharsetRecursivelyToUtf8()

TYPO3\CMS\Core\Page\PageRenderer::convertCharsetRecursivelyToUtf8 ( $data,
string  $fromCharset 
)
protected

Small helper function to convert charsets for arrays into utf-8

Parameters
mixed$data‪given by reference (string/array usually)
string$fromCharset‪convert FROM this charset

Definition at line 1988 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadJavaScriptLanguageStrings().

◆ createCssTag()

string TYPO3\CMS\Core\Page\PageRenderer::createCssTag ( array  $properties,
string  $file 
)
private

Create link (inline=0) or style (inline=1) tag

Parameters
array$properties
string$file
Returns
‪string

Definition at line 2077 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\createInlineCssTagFromFile(), and TYPO3\CMS\Core\Page\PageRenderer\getStreamlinedFileName().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderCssFiles(), and TYPO3\CMS\Core\Page\PageRenderer\renderCssLibraries().

◆ createInlineCssTagFromFile()

string TYPO3\CMS\Core\Page\PageRenderer::createInlineCssTagFromFile ( string  $file,
array  $properties 
)
protected

Creates a CSS inline tag

Parameters
string$file‪the filename to process
array$properties
Returns
‪string

Definition at line 2653 of file PageRenderer.php.

References TYPO3\CMS\Core\Utility\PathUtility\dirname(), and TYPO3\CMS\Core\Page\PageRenderer\getPathFixer().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\createCssTag().

◆ disableCompressCss()

TYPO3\CMS\Core\Page\PageRenderer::disableCompressCss ( )

Disables compression of css

Definition at line 613 of file PageRenderer.php.

◆ disableCompressJavascript()

TYPO3\CMS\Core\Page\PageRenderer::disableCompressJavascript ( )

Disables compression of javascript

Definition at line 597 of file PageRenderer.php.

◆ disableConcatenateCss()

TYPO3\CMS\Core\Page\PageRenderer::disableConcatenateCss ( )

Disables concatenation of css files

Definition at line 645 of file PageRenderer.php.

◆ disableConcatenateJavascript()

TYPO3\CMS\Core\Page\PageRenderer::disableConcatenateJavascript ( )

Disables concatenation of js files

Definition at line 629 of file PageRenderer.php.

◆ disableMoveJsFromHeaderToFooter()

TYPO3\CMS\Core\Page\PageRenderer::disableMoveJsFromHeaderToFooter ( )

Disables MoveJsFromHeaderToFooter

Definition at line 581 of file PageRenderer.php.

◆ disableRemoveLineBreaksFromTemplate()

TYPO3\CMS\Core\Page\PageRenderer::disableRemoveLineBreaksFromTemplate ( )

Unsets removal of all line breaks in template

Definition at line 661 of file PageRenderer.php.

◆ doCompress()

TYPO3\CMS\Core\Page\PageRenderer::doCompress ( )
protected

◆ doCompressCss()

TYPO3\CMS\Core\Page\PageRenderer::doCompressCss ( )
protected

◆ doCompressJavaScript()

TYPO3\CMS\Core\Page\PageRenderer::doCompressJavaScript ( )
protected

◆ doConcatenate()

TYPO3\CMS\Core\Page\PageRenderer::doConcatenate ( )
protected

◆ doConcatenateCss()

TYPO3\CMS\Core\Page\PageRenderer::doConcatenateCss ( )
protected

◆ doConcatenateJavaScript()

TYPO3\CMS\Core\Page\PageRenderer::doConcatenateJavaScript ( )
protected

Concatenate JavaScript files according to the configuration.

Definition at line 2344 of file PageRenderer.php.

References $GLOBALS, TYPO3\CMS\Core\Resource\ResourceCompressor\concatenateJsFiles(), and TYPO3\CMS\Core\Page\PageRenderer\getCompressor().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\doConcatenate().

◆ enableCompressCss()

TYPO3\CMS\Core\Page\PageRenderer::enableCompressCss ( )

Enables compression of css

Definition at line 605 of file PageRenderer.php.

◆ enableCompressJavascript()

TYPO3\CMS\Core\Page\PageRenderer::enableCompressJavascript ( )

Enables compression of javascript

Definition at line 589 of file PageRenderer.php.

◆ enableConcatenateCss()

TYPO3\CMS\Core\Page\PageRenderer::enableConcatenateCss ( )

Enables concatenation of css files

Definition at line 637 of file PageRenderer.php.

◆ enableConcatenateJavascript()

TYPO3\CMS\Core\Page\PageRenderer::enableConcatenateJavascript ( )

Enables concatenation of js files

Definition at line 621 of file PageRenderer.php.

◆ enableDebugMode()

TYPO3\CMS\Core\Page\PageRenderer::enableDebugMode ( )

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

Definition at line 670 of file PageRenderer.php.

◆ enableMoveJsFromHeaderToFooter()

TYPO3\CMS\Core\Page\PageRenderer::enableMoveJsFromHeaderToFooter ( )

Enables MoveJsFromHeaderToFooter

Definition at line 573 of file PageRenderer.php.

◆ enableRemoveLineBreaksFromTemplate()

TYPO3\CMS\Core\Page\PageRenderer::enableRemoveLineBreaksFromTemplate ( )

Sets removal of all line breaks in template

Definition at line 653 of file PageRenderer.php.

◆ executePostRenderHook()

TYPO3\CMS\Core\Page\PageRenderer::executePostRenderHook ( $jsLibs,
$jsFiles,
$jsFooterFiles,
$cssLibs,
$cssFiles,
$jsInline,
$cssInline,
$jsFooterInline,
$jsFooterLibs 
)
protected

Execute postRenderHook for possible manipulation

Parameters
string$jsLibs
string$jsFiles
string$jsFooterFiles
string$cssLibs
string$cssFiles
string$jsInline
string$cssInline
string$jsFooterInline
string$jsFooterLibs

Definition at line 2607 of file PageRenderer.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ executePreRenderHook()

TYPO3\CMS\Core\Page\PageRenderer::executePreRenderHook ( )
protected

Execute PreRenderHook for possible manipulation

Definition at line 2543 of file PageRenderer.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ executeRenderPostTransformHook()

TYPO3\CMS\Core\Page\PageRenderer::executeRenderPostTransformHook ( )
protected

PostTransform for possible manipulation of concatenated and compressed files

Definition at line 2570 of file PageRenderer.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ filterArrayKeys()

array TYPO3\CMS\Core\Page\PageRenderer::filterArrayKeys ( array  $array,
array  $keys,
bool  $keep = true 
)
protected
Parameters
array$array
string[]$keys
bool$keep
Returns
‪array

Definition at line 1466 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getRequireJsConfig().

◆ findRequireJsBaseModuleName()

string null TYPO3\CMS\Core\Page\PageRenderer::findRequireJsBaseModuleName ( string  $moduleName)
protected

Determines requireJS base module name (if defined).

Parameters
string$moduleName
Returns
‪string|null

Definition at line 1521 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadRequireJsModule().

◆ getAbsoluteWebPath()

string TYPO3\CMS\Core\Page\PageRenderer::getAbsoluteWebPath ( string  $file)
protected

Gets absolute web path of filename for backend disposal. Resolving the absolute path in the frontend with conflict with applying config.absRefPrefix in frontend rendering process.

Parameters
string$file
Returns
‪string
See also
‪\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setAbsRefPrefix()

Definition at line 2527 of file PageRenderer.php.

References TYPO3\CMS\Core\Utility\PathUtility\getAbsoluteWebPath().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getStreamlinedFileName(), and TYPO3\CMS\Core\Page\PageRenderer\processJsFile().

◆ getBaseUrl()

string TYPO3\CMS\Core\Page\PageRenderer::getBaseUrl ( )

Gets HTML base URL

Returns
‪string $url

Definition at line 780 of file PageRenderer.php.

◆ getBodyContent()

string TYPO3\CMS\Core\Page\PageRenderer::getBodyContent ( )

Gets content for body

Returns
‪string

Definition at line 860 of file PageRenderer.php.

◆ getCharSet()

string TYPO3\CMS\Core\Page\PageRenderer::getCharSet ( )

Gets the charSet

Returns
‪string $charSet

Definition at line 700 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadJavaScriptLanguageStrings().

◆ getCompressCss()

bool TYPO3\CMS\Core\Page\PageRenderer::getCompressCss ( )

Gets compress of css

Returns
‪bool

Definition at line 820 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$compressCss.

◆ getCompressJavascript()

bool TYPO3\CMS\Core\Page\PageRenderer::getCompressJavascript ( )

Gets compress of javascript

Returns
‪bool

Definition at line 810 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$compressJavascript.

◆ getCompressor()

ResourceCompressor TYPO3\CMS\Core\Page\PageRenderer::getCompressor ( )
protected

◆ getConcatenateCss()

bool TYPO3\CMS\Core\Page\PageRenderer::getConcatenateCss ( )

Gets concatenate of css files

Returns
‪bool

Definition at line 840 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$concatenateCss.

◆ getConcatenateJavascript()

bool TYPO3\CMS\Core\Page\PageRenderer::getConcatenateJavascript ( )

Gets concatenate of js files

Returns
‪bool

Definition at line 830 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$concatenateJavascript.

◆ getFavIcon()

string TYPO3\CMS\Core\Page\PageRenderer::getFavIcon ( )

Gets favicon

Returns
‪string $favIcon

Definition at line 760 of file PageRenderer.php.

◆ getHeadTag()

string TYPO3\CMS\Core\Page\PageRenderer::getHeadTag ( )

Gets head tag

Returns
‪string $tag Head tag

Definition at line 750 of file PageRenderer.php.

◆ getHtmlTag()

string TYPO3\CMS\Core\Page\PageRenderer::getHtmlTag ( )

Gets html tag

Returns
‪string $htmlTag Html tag

Definition at line 730 of file PageRenderer.php.

◆ getIconMimeType()

string TYPO3\CMS\Core\Page\PageRenderer::getIconMimeType ( )

Gets icon mime type

Returns
‪string $iconMimeType

Definition at line 770 of file PageRenderer.php.

◆ getInlineLanguageLabelFiles()

array TYPO3\CMS\Core\Page\PageRenderer::getInlineLanguageLabelFiles ( )

Gets the inline language files

Returns
‪array

Definition at line 880 of file PageRenderer.php.

◆ getInlineLanguageLabels()

array TYPO3\CMS\Core\Page\PageRenderer::getInlineLanguageLabels ( )

Gets the inline language labels.

Returns
‪array The inline language labels

Definition at line 870 of file PageRenderer.php.

◆ getLanguage()

string TYPO3\CMS\Core\Page\PageRenderer::getLanguage ( )

Gets the language

Returns
‪string $lang

Definition at line 710 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$lang.

◆ getMetaCharsetTag()

string TYPO3\CMS\Core\Page\PageRenderer::getMetaCharsetTag ( )

Get meta charset

Returns
‪string

Definition at line 740 of file PageRenderer.php.

◆ getMetaTag()

array TYPO3\CMS\Core\Page\PageRenderer::getMetaTag ( string  $type,
string  $name 
)

Returns the requested meta tag

Parameters
string$type
string$name
Returns
‪array

Definition at line 925 of file PageRenderer.php.

◆ getMoveJsFromHeaderToFooter()

bool TYPO3\CMS\Core\Page\PageRenderer::getMoveJsFromHeaderToFooter ( )

Gets MoveJsFromHeaderToFooter

Returns
‪bool

Definition at line 800 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$moveJsFromHeaderToFooter.

◆ getPathFixer()

TYPO3\CMS\Core\Page\PageRenderer::getPathFixer ( )
protected

◆ getPreparedMarkerArray()

array TYPO3\CMS\Core\Page\PageRenderer::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
string$jsLibs
string$jsFiles
string$jsFooterFiles
string$cssLibs
string$cssFiles
string$jsInline
string$cssInline
string$jsFooterInline
string$jsFooterLibs
string$metaTags
Returns
‪array Marker array

Definition at line 1817 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\render().

◆ getPreparedMarkerArrayForPageWithUncachedObjects()

array TYPO3\CMS\Core\Page\PageRenderer::getPreparedMarkerArrayForPageWithUncachedObjects (   $substituteHash)
protected

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

Parameters
string$substituteHash‪The hash that is used for the placeholder markers
Returns
‪array Marker array

Definition at line 1852 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderPageWithUncachedObjects().

◆ getRemoveLineBreaksFromTemplate()

bool TYPO3\CMS\Core\Page\PageRenderer::getRemoveLineBreaksFromTemplate ( )

Gets remove of empty lines from template

Returns
‪bool

Definition at line 850 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$removeLineBreaksFromTemplate.

◆ getRenderXhtml()

bool TYPO3\CMS\Core\Page\PageRenderer::getRenderXhtml ( )

Returns rendering mode XHTML or HTML

Returns
‪bool TRUE if XHTML, FALSE if HTML

Definition at line 720 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\prepareRendering().

◆ getRequireJsConfig()

array TYPO3\CMS\Core\Page\PageRenderer::getRequireJsConfig ( string  $scope = null)
Parameters
string$scope
Returns
‪array

Definition at line 540 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\filterArrayKeys().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getRequireJsLoader().

◆ getRequireJsLoader()

string TYPO3\CMS\Core\Page\PageRenderer::getRequireJsLoader ( )
protected

Generates RequireJS loader HTML markup.

Returns
‪string
Exceptions

Definition at line 1419 of file PageRenderer.php.

References $GLOBALS, TYPO3\CMS\Core\Page\PageRenderer\getRequireJsConfig(), and TYPO3\CMS\Core\Page\PageRenderer\processJsFile().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderMainJavaScriptLibraries().

◆ getState()

array TYPO3\CMS\Core\Page\PageRenderer::getState ( )
Returns
‪array

Definition at line 329 of file PageRenderer.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript().

◆ getStreamlinedFileName()

string TYPO3\CMS\Core\Page\PageRenderer::getStreamlinedFileName (   $file,
  $prepareForOutput = true 
)
protected

This function acts as a wrapper to allow relative and paths starting with EXT: to be dealt with in this very case to always return the absolute web path to be included directly before output.

This is mainly added so the EXT: syntax can be resolved for PageRenderer in one central place, and hopefully removed in the future by one standard API call.

Parameters
string$file‪the filename to process
bool$prepareForOutput‪whether the file should be prepared as version numbered file and prefixed as absolute webpath
Returns
‪string

Definition at line 2501 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getAbsoluteWebPath(), and TYPO3\CMS\Core\Utility\PathUtility\getRelativePathTo().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\createCssTag(), TYPO3\CMS\Core\Page\PageRenderer\processJsFile(), TYPO3\CMS\Core\Page\PageRenderer\renderAdditionalJavaScriptLibraries(), and TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptFiles().

◆ getTemplateFile()

string TYPO3\CMS\Core\Page\PageRenderer::getTemplateFile ( )

Gets template file

Returns
‪string

Definition at line 790 of file PageRenderer.php.

◆ getTemplateForPart()

string TYPO3\CMS\Core\Page\PageRenderer::getTemplateForPart (   $part)
protected

Reads the template file and returns the requested part as string

Parameters
int$part
Returns
‪string

Definition at line 1887 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\render(), and TYPO3\CMS\Core\Page\PageRenderer\renderPageWithUncachedObjects().

◆ getTitle()

string TYPO3\CMS\Core\Page\PageRenderer::getTitle ( )

Gets the title

Returns
‪string $title Title of webpage

Definition at line 690 of file PageRenderer.php.

◆ includeLanguageFileForInline()

TYPO3\CMS\Core\Page\PageRenderer::includeLanguageFileForInline (   $fileRef,
  $selectionPrefix = '',
  $stripFromSelectionName = '' 
)
protected

Include language file for inline usage

Parameters
string$fileRef
string$selectionPrefix
string$stripFromSelectionName
Exceptions

Definition at line 2260 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\readLLfile().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\loadJavaScriptLanguageStrings().

◆ loadJavaScriptLanguageStrings()

TYPO3\CMS\Core\Page\PageRenderer::loadJavaScriptLanguageStrings ( )
protected

◆ loadRequireJs()

TYPO3\CMS\Core\Page\PageRenderer::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

Definition at line 1276 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\computeRequireJsConfig(), TYPO3\CMS\Core\Cache\Frontend\FrontendInterface\get(), TYPO3\CMS\Core\Core\Environment\getContext(), TYPO3\CMS\Core\Core\Environment\getProjectPath(), TYPO3\CMS\Core\Core\ApplicationContext\isDevelopment(), and TYPO3\CMS\Core\Cache\Frontend\FrontendInterface\set().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\addRequireJsConfiguration(), and TYPO3\CMS\Core\Page\PageRenderer\loadRequireJsModule().

◆ loadRequireJsModule()

TYPO3\CMS\Core\Page\PageRenderer::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$mainModuleName‪Must be in the form of "TYPO3/CMS/PackageName/ModuleName" e.g. "TYPO3/CMS/Backend/FormEngine"
string$callBackFunction‪loaded right after the requireJS loading, must be wrapped in function() {}

Definition at line 1493 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\addJsInlineCode(), TYPO3\CMS\Core\Page\PageRenderer\findRequireJsBaseModuleName(), and TYPO3\CMS\Core\Page\PageRenderer\loadRequireJs().

Referenced by TYPO3\CMS\Backend\Backend\ToolbarItems\LiveSearchToolbarItem\__construct(), TYPO3\CMS\Backend\Backend\ToolbarItems\ClearCacheToolbarItem\__construct(), TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem\__construct(), TYPO3\CMS\Scheduler\Controller\SchedulerModuleController\__construct(), TYPO3\CMS\Dashboard\Controller\DashboardController\addFrontendResources(), TYPO3\CMS\Scheduler\Controller\SchedulerModuleController\editTaskAction(), TYPO3\CMS\Lowlevel\Controller\DatabaseIntegrityController\func_search(), TYPO3\CMS\Beuser\Controller\PermissionController\initializeView(), TYPO3\CMS\Backend\Form\FormResultCompiler\JSbottom(), TYPO3\CMS\Scheduler\Controller\SchedulerModuleController\listTasksAction(), TYPO3\CMS\Info\Controller\TranslationStatusController\main(), TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController\main(), TYPO3\CMS\Recordlist\Controller\RecordListController\main(), TYPO3\CMS\Dashboard\Controller\DashboardController\preparePageRenderer(), TYPO3\CMS\Setup\Controller\SetupModuleController\processAdditionalJavaScriptModules(), TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider\render(), and TYPO3\CMS\Fluid\ViewHelpers\Be\TableListViewHelper\render().

◆ parseLanguageLabelsForJavaScript()

array TYPO3\CMS\Core\Page\PageRenderer::parseLanguageLabelsForJavaScript ( )
protected

Converts the language labels for usage in JavaScript

Returns
‪array

Definition at line 1946 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderMainJavaScriptLibraries().

◆ prepareRendering()

TYPO3\CMS\Core\Page\PageRenderer::prepareRendering ( )
protected

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

Definition at line 1741 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getRenderXhtml().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\render(), TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCssForProcessingOfUncachedContentObjects(), and TYPO3\CMS\Core\Page\PageRenderer\renderPageWithUncachedObjects().

◆ processJsFile()

string TYPO3\CMS\Core\Page\PageRenderer::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$filename‪Filename
Returns
‪string New filename

Definition at line 2478 of file PageRenderer.php.

References TYPO3\CMS\Core\Resource\ResourceCompressor\compressJsFile(), TYPO3\CMS\Core\Page\PageRenderer\getAbsoluteWebPath(), TYPO3\CMS\Core\Page\PageRenderer\getCompressor(), and TYPO3\CMS\Core\Page\PageRenderer\getStreamlinedFileName().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getRequireJsLoader().

◆ readLLfile()

array TYPO3\CMS\Core\Page\PageRenderer::readLLfile (   $fileRef)
protected

Reads a locallang file.

Parameters
string$fileRef‪Reference to a relative filename to include.
Returns
‪array Returns the $LOCAL_LANG array found in the file. If no array found, returns empty array.

Definition at line 2293 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$lang, and TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\includeLanguageFileForInline().

◆ removeMetaTag()

TYPO3\CMS\Core\Page\PageRenderer::removeMetaTag ( string  $type,
string  $name 
)

Unset the requested meta tag

Parameters
string$type
string$name

Definition at line 950 of file PageRenderer.php.

◆ render()

string TYPO3\CMS\Core\Page\PageRenderer::render (   $part = self::PART_COMPLETE)

Render the section (Header or Footer)

Parameters
int$part‪Section which should be rendered: self::PART_COMPLETE, self::PART_HEADER or self::PART_FOOTER
Returns
‪string Content of rendered section

Definition at line 1649 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getPreparedMarkerArray(), TYPO3\CMS\Core\Page\PageRenderer\getTemplateForPart(), TYPO3\CMS\Core\Page\PageRenderer\prepareRendering(), TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss(), TYPO3\CMS\Core\Page\PageRenderer\renderMetaTagsFromAPI(), and TYPO3\CMS\Core\Page\PageRenderer\reset().

◆ renderAdditionalJavaScriptLibraries()

array string [] TYPO3\CMS\Core\Page\PageRenderer::renderAdditionalJavaScriptLibraries ( )
protected

Render JavaScript libraries

Returns
‪array|string[] jsLibs and jsFooterLibs strings

Definition at line 2125 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getStreamlinedFileName().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderCssFiles()

string TYPO3\CMS\Core\Page\PageRenderer::renderCssFiles ( )
protected

Render CSS files

Returns
‪string

Definition at line 2054 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\createCssTag().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderCssInline()

string TYPO3\CMS\Core\Page\PageRenderer::renderCssInline ( )
protected

Render inline CSS

Returns
‪string

Definition at line 2103 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderCssLibraries()

string TYPO3\CMS\Core\Page\PageRenderer::renderCssLibraries ( )
protected

Render CSS library files

Returns
‪string

Definition at line 2033 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\createCssTag().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderInlineJavaScript()

array string [] TYPO3\CMS\Core\Page\PageRenderer::renderInlineJavaScript ( )
protected

Render inline JavaScript

Returns
‪array|string[] jsInline and jsFooterInline string

Definition at line 2217 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderJavaScriptAndCss()

◆ renderJavaScriptAndCssForProcessingOfUncachedContentObjects()

string TYPO3\CMS\Core\Page\PageRenderer::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$substituteHash‪The hash that is used for the variables
Returns
‪string

Definition at line 1709 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\prepareRendering(), TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss(), TYPO3\CMS\Core\Page\PageRenderer\renderMetaTagsFromAPI(), and TYPO3\CMS\Core\Page\PageRenderer\reset().

◆ renderJavaScriptFiles()

array string [] TYPO3\CMS\Core\Page\PageRenderer::renderJavaScriptFiles ( )
protected

Render JavaScript files

Returns
‪array|string[] jsFiles and jsFooterFiles strings

Definition at line 2171 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getStreamlinedFileName().

Referenced by TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCss().

◆ renderMainJavaScriptLibraries()

string TYPO3\CMS\Core\Page\PageRenderer::renderMainJavaScriptLibraries ( )
protected

◆ renderMetaTagsFromAPI()

array TYPO3\CMS\Core\Page\PageRenderer::renderMetaTagsFromAPI ( )
protected

Renders metaTags based on tags added via the API

Returns
‪array

Definition at line 1670 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\render(), and TYPO3\CMS\Core\Page\PageRenderer\renderJavaScriptAndCssForProcessingOfUncachedContentObjects().

◆ renderPageWithUncachedObjects()

string TYPO3\CMS\Core\Page\PageRenderer::renderPageWithUncachedObjects (   $substituteHash)

Render the page but not the JavaScript and CSS Files

Parameters
string$substituteHash‪The hash that is used for the placeholder markers
Returns
‪string Content of rendered section

Definition at line 1691 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\getPreparedMarkerArrayForPageWithUncachedObjects(), TYPO3\CMS\Core\Page\PageRenderer\getTemplateForPart(), and TYPO3\CMS\Core\Page\PageRenderer\prepareRendering().

◆ reset()

TYPO3\CMS\Core\Page\PageRenderer::reset ( )
protected

◆ setBaseUrl()

TYPO3\CMS\Core\Page\PageRenderer::setBaseUrl (   $baseUrl)

Sets HTML base URL

Parameters
string$baseUrl‪HTML base URL

Definition at line 501 of file PageRenderer.php.

◆ setBodyContent()

TYPO3\CMS\Core\Page\PageRenderer::setBodyContent (   $content)

Sets Content for Body

Parameters
string$content

Definition at line 521 of file PageRenderer.php.

◆ setCache()

static TYPO3\CMS\Core\Page\PageRenderer::setCache ( FrontendInterface  $cache)
static

◆ setCharSet()

TYPO3\CMS\Core\Page\PageRenderer::setCharSet (   $charSet)

Sets meta charset

Parameters
string$charSet‪Used charset

Definition at line 422 of file PageRenderer.php.

◆ setFavIcon()

TYPO3\CMS\Core\Page\PageRenderer::setFavIcon (   $favIcon)

Sets favicon

Parameters
string$favIcon

Definition at line 481 of file PageRenderer.php.

◆ setHeadTag()

TYPO3\CMS\Core\Page\PageRenderer::setHeadTag (   $headTag)

Sets HTML head tag

Parameters
string$headTag‪HTML head tag

Definition at line 471 of file PageRenderer.php.

◆ setHtmlTag()

TYPO3\CMS\Core\Page\PageRenderer::setHtmlTag (   $htmlTag)

Sets html tag

Parameters
string$htmlTagHtml tag

Definition at line 461 of file PageRenderer.php.

◆ setIconMimeType()

TYPO3\CMS\Core\Page\PageRenderer::setIconMimeType (   $iconMimeType)

Sets icon mime type

Parameters
string$iconMimeType

Definition at line 491 of file PageRenderer.php.

◆ setLanguage()

TYPO3\CMS\Core\Page\PageRenderer::setLanguage (   $lang)

Sets language

Parameters
string$lang‪Used language

Definition at line 432 of file PageRenderer.php.

References TYPO3\CMS\Core\Page\PageRenderer\$lang.

◆ setMetaCharsetTag()

TYPO3\CMS\Core\Page\PageRenderer::setMetaCharsetTag (   $metaCharsetTag)

Set the meta charset tag

Parameters
string$metaCharsetTag

Definition at line 451 of file PageRenderer.php.

◆ setMetaTag() [1/2]

array<string, $jsFiles = array( ); protected array $jsFooterFiles = array( ); protected array $jsLibs = array( ); protected array $jsFooterLibs = array( ); protected array<string, $cssFiles = array( ); protected array<string, $cssLibs = array( ); protected string $title; protected string $charSet; protected string $favIcon; protected string $baseUrl; protected bool $renderXhtml = true; protected string $xmlPrologAndDocType = ''; protected array $metaTags = array( ); protected array $inlineComments = array( ); protected array $headerData = array( ); protected array $footerData = array( ); protected string $titleTag = '<title>|</title>'; protected string $metaCharsetTag = '<meta http-equiv="Content-Type" content="text/html; charset=|" />'; protected string $htmlTag = '<html>'; protected string $headTag = '<head>'; protected string $baseUrlTag = '<base href="|" />'; protected string $iconMimeType = ''; protected string $shortcutTag = '<link rel="shortcut icon" href="%1$s"%2$s />'; protected array<string, $jsInline = array( ); protected array $jsFooterInline = array( ); protected array<string, $cssInline = array( ); protected string $bodyContent; protected string $templateFile; protected string $requireJsPath = 'EXT:core/Resources/Public/JavaScript/Contrib/'; protected bool $addRequireJs = false; protected array $requireJsConfig = array( ); protected array $internalRequireJsPathModuleNames = array( ); protected array $publicRequireJsConfig = array( ); protected array $inlineLanguageLabels = array( ); protected array $inlineLanguageLabelFiles = array( ); protected array $inlineSettings = array( ); protected array $inlineJavascriptWrap = array( '<script type="text/javascript">' . LF . '' . LF, '' . LF . '</script>' . LF ); protected array $inlineCssWrap = array( '<style type="text/css">' . LF . '' . LF . '<!-- ' . LF, '-->' . LF . '' . LF . '</style>' . LF ); protected string $compressError = ''; protected string $endingSlash = ''; protected MetaTagManagerRegistry $metaTagRegistry; protected static FrontendInterface $cache = null; public __construct($templateFile = '') { $this->reset(); $this->locales = GeneralUtility::makeInstance(Locales::class); if ($templateFile !== '') { $this->templateFile = $templateFile; } $this->metaTagRegistry = GeneralUtility::makeInstance(MetaTagManagerRegistry::class); $this-> TYPO3\CMS\Core\Page\PageRenderer::setMetaTag ( 'name'  ,
'generator'  ,
'TYPO3 CMS'   
)
protected

array>

◆ setMetaTag() [2/2]

TYPO3\CMS\Core\Page\PageRenderer::setMetaTag ( string  $type,
string  $name,
string  $content,
array  $subProperties = [],
  $replace = true 
)

Sets a given meta tag

Parameters
string$type‪The type of the meta tag. Allowed values are property, name or http-equiv
string$name‪The name of the property to add
string$content‪The content of the meta tag
array$subProperties‪Subproperties of the meta tag (like e.g. og:image:width)
bool$replace‪Replace earlier set meta tag
Exceptions

Definition at line 902 of file PageRenderer.php.

◆ setRenderXhtml()

TYPO3\CMS\Core\Page\PageRenderer::setRenderXhtml (   $enable)

Enables/disables rendering of XHTML code

Parameters
bool$enable‪Enable XHTML

Definition at line 395 of file PageRenderer.php.

◆ setRequireJsPath()

TYPO3\CMS\Core\Page\PageRenderer::setRequireJsPath (   $path)

Sets path to requireJS library (relative to typo3 directory)

Parameters
string$path‪Path to requireJS library

Definition at line 531 of file PageRenderer.php.

◆ setTemplateFile()

TYPO3\CMS\Core\Page\PageRenderer::setTemplateFile (   $file)

Sets template file

Parameters
string$file

Definition at line 511 of file PageRenderer.php.

◆ setTitle()

TYPO3\CMS\Core\Page\PageRenderer::setTitle (   $title)

Sets the title

Parameters
string$title‪title of webpage

Definition at line 385 of file PageRenderer.php.

◆ setXmlPrologAndDocType()

TYPO3\CMS\Core\Page\PageRenderer::setXmlPrologAndDocType (   $xmlPrologAndDocType)

Sets xml prolog and docType

Parameters
string$xmlPrologAndDocType‪Complete tags for xml prolog and docType

Definition at line 412 of file PageRenderer.php.

◆ updateState()

TYPO3\CMS\Core\Page\PageRenderer::updateState ( array  $newState)
Parameters
array$newState

Definition at line 309 of file PageRenderer.php.

Member Data Documentation

◆ $compressCss

bool TYPO3\CMS\Core\Page\PageRenderer::$compressCss = false
protected

Definition at line 57 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getCompressCss().

◆ $compressJavascript

bool TYPO3\CMS\Core\Page\PageRenderer::$compressJavascript = false
protected

◆ $compressor

ResourceCompressor TYPO3\CMS\Core\Page\PageRenderer::$compressor
protected

Definition at line 95 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getCompressor().

◆ $concatenateCss

bool TYPO3\CMS\Core\Page\PageRenderer::$concatenateCss = false
protected

Definition at line 69 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getConcatenateCss().

◆ $concatenateJavascript

bool TYPO3\CMS\Core\Page\PageRenderer::$concatenateJavascript = false
protected

◆ $lang

string TYPO3\CMS\Core\Page\PageRenderer::$lang
protected

The language key Two character string or 'default'

Definition at line 84 of file PageRenderer.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\getLanguage(), TYPO3\CMS\Core\Page\PageRenderer\readLLfile(), and TYPO3\CMS\Core\Page\PageRenderer\setLanguage().

◆ $languageDependencies

array TYPO3\CMS\Core\Page\PageRenderer::$languageDependencies = array( )
protected

List of language dependencies for actual language. This is used for local variants of a language that depend on their "main" language, like Brazilian Portuguese or Canadian French.

Definition at line 91 of file PageRenderer.php.

◆ $locales

Locales TYPO3\CMS\Core\Page\PageRenderer::$locales
protected

Definition at line 77 of file PageRenderer.php.

◆ $moveJsFromHeaderToFooter

bool TYPO3\CMS\Core\Page\PageRenderer::$moveJsFromHeaderToFooter = false
protected

◆ $removeLineBreaksFromTemplate

bool TYPO3\CMS\Core\Page\PageRenderer::$removeLineBreaksFromTemplate = false
protected

◆ PART_COMPLETE

const TYPO3\CMS\Core\Page\PageRenderer::PART_COMPLETE = 0

◆ PART_FOOTER

◆ PART_HEADER

◆ REQUIREJS_SCOPE_CONFIG

const TYPO3\CMS\Core\Page\PageRenderer::REQUIREJS_SCOPE_CONFIG = 'config'

Definition at line 48 of file PageRenderer.php.

◆ REQUIREJS_SCOPE_RESOLVE

const TYPO3\CMS\Core\Page\PageRenderer::REQUIREJS_SCOPE_RESOLVE = 'resolve'