TYPO3 Frontend Rendering Process v1.5
TYPO3 Frontend Rendering Process v1.5
3
init time tracking
4
include mandatory libraries
5
include configuration
6
init db-wrapper object
7
check environment
8
check extension ID (eID)
9
include FE libraries
10
init FE-object ($TSFE)
tslib_fe-PostProc
11
open DB-connection connectToDB
Legend
GLOBAL
12 keyword preview (index.php)
re-init FE-object ($TSFE)
GLOBAL
(typo3/sysext /cms/tslib/index_ts.php)
13
ADMCMD_preview
tslib_fe / $TSFE
(typo3/sysext /cms/tslib/class.tslib_fe.php)
14 RDCT set / Redirect URL
send redirect = Hook
connect 2
16
Initialise object
init FE-user
preBeUser
BE user cookie exists
17
init „logged in“ BE-user
draft preview
18
init BE-user for preview
20
check alternative ID methods checkAlternativeIdMethods -PostProc
21
determine page ID
22
validate cache hash
23
get compressed TCA
24
initialise object
init template
25
get page from cache
Legend
headerNoCache
GLOBAL
26 (typo3/sysext /cms/tslib/index_ts.php)
get config array
tslib_fe / $TSFE
(typo3/sysext /cms/tslib/class.tslib_fe.php)
27 tslib_feUserAuth / $TSFE->fe_user
convert POST charset extends t3lib_userAuth
(typo3/sysext /cms/tslib/class.tslib_feuserauth.php)
28 t3lib_TStemplate / $TSFE->tmpl
setting language and locale (t3lib/class.t3lib_tstemplate.php)
= hook
connect 3
29
set jump URL
30
check data submission checkDataSubmission
31
generate the page
non chached objects
32
include non-cached objects
isOutputting
contentPostProc-output
external scripts
include external scripts
35
page outputting
36
$TSFE: store session data
37
save hit statistics
sys_stat-PreProcClass
preview mode
39 Legend
show preview info
tslib_fe / $TSFE
(typo3/sysext/cms/tslib/class .tslib_fe.php)
16.1
Initialise object
init FE-user object
16.2
start user session postUserLookUp
16.3
unpack uc
Legend
16.4
fetch session data tslib_fe / $TSFE
(typo3/sysext/cms/tslib/class.tslib_fe.php)
17.1
Initialise object
init BE user object
17.2
postUserLookUp
start user session
17.3
unpack uc
17.4
fetch group data
fetchGroupQuery
17.6
init admin panel usage
17.7
save admin panel changes
17.8
extEditAction load FE editing classes
Legend
GLOBAL
(typo3/sysext /cms/tslib/index_ts.php)
t3lib_tsfeBeUserAuth / $BE_USER
extends t3lib_beUserAuth
extends t3lib_userAuthGroup
extends t3lib_userAuth
(t3lib/class.t3lib_tsfebeuserauth.php)
= Hook
21.1
set ID from ArgV
is live workspace
21.4 21.5
check root line set preview flag
21.6
Check access
fetch the page ID
21.7
init user groups
21.8
fetch ID domain
21.9
fetch ID rootline
Legend
page not found / end with error
tslib_fe / $TSFE
(typo3/sysext/cms/tslib/class.tslib_fe.php)
21.12
check login allowed in branch = Hook
determineId-PostProc
31.1
generate page pre processing
31.2
determine which script
31.3
init pagegeneration
31.4
include files
31.7
custom external script
31.5
render content
31.6
setting header
31.8 31.9
generate page post processing store page in cache
contentPostProc-all
contentPostProc-cached
pageIndexing
insertPageIncache
Legend
tslib_fe / $TSFE
(typo3/sysext/cms/tslib/class.tslib_fe.php)
TSpagegen
(sysext/cms/tslib/class.tslib_pagegen.php,
sysext/cms/tslib/pagegen.php)
= Hook
17 init BE user index_ts.php See separate diagram Init the backend user object ($BE_USER)
18 init BE user for preview index_ts.php Init a “dummy” backend user for preview only
19 init workspace preview class.tslib_fe.php workspacePreviewInit() Init workspace preview functions
20 check alternative page ID class.tslib_fe.php checkAlternativeIdMethods Resolve alternative request URL such as
() “simulate static documents” or “Real URL”
checkAlternativeIdMethods- class.tslib_fe.php checkAlternativeIdMethods Hook
PostProc
21 determine page ID class.tslib_fe.php See separate diagram class.tslib_fe.php Determine the page id
22 validate cache hash class.tslib_fe.php makeCacheHash() Create the hash string based on additional
parameters in the URL if
get parameter cHash is set
23 get compressed TCA class.tslib_fe.php getCompressedTCarray() getting a compressed version of the TCA for
the frontend editing
24 init template class.tslib_fe.php initTemplate() Init the TypoScript template parser
> t3lib/class.t3lib_tstemplate.php
25 get page from cache class.tslib_fe.php getFromCache() Query the cache tablesfor the requested
page
headerNoCache class.tslib_fe.php headerNoCache() Hook
26 get config array class.tslib_fe.php getConfigArray() Getting the TypoScript config array if not yet
existing
27 convert POST charset class.tslib_fe.php convPOSTCharset() Convert POST data to internal
"renderCharset" if different from the
metaCharset:
28 setting language and class.tslib_fe.php settingLanguage() Setting the internal var,
locale settingLocale() sys_language_uid + locale settings
29 set jump URL class.tslib_fe.php setExternalJumpUrl() - set the jump URL for page type "External
checkJumpUrlReferer() URL"
- Checks the jumpurl referer if required
Jumpurl is a concept where external links are
redirected from the index_ts.php script.
30 check data submission class.tslib_fe.php checkDataSubmission() Process form input data
33 process page output class.tslib_fe.php processOutput() process the page before output
contentPostProc-output class.tslib_fe.php processOutput() Hook
16.5 update “is online” class.tslib_fe.php initFEuser() Update timestamp every 60 seconds
timestamp
5. Generate Page
No Action Title Filename Function Description
31.1 generate page pre class.tslib_fe.php generatePage_preProcessi store temporary temporary user message in
processing ng() cache table. ( Page is being generated..)
31.2 determine which class.tslib_fe.php generatePage_whichScript Determines to include custom or
script () pagegen.php script.
Returns script-filename if a TypoScript
(config) script is defined and should be
include instead of pagegen.php
31.3 init pagegen class.tslib_pagegen.php pagegenInit() Setting some vars in TSFE, primarily based
on TypoScript config settings.
31.4 include files class.tslib_pagegen.php getIncFiles() Returns an array with files to include. These
files are the ones set up in TypoScript config.
31.5 render content class.tslib_pagegen.php renderContent() Rendering the page content
31.6 setting header class.tslib_pagegen.php TSpagegen::renderContent rendering normal HTML-page with header by
WithHeader wrapping the generated content
($pageContent) in body-tags and setting the
header accordingly.
31.7 custom external class.tslib_fe.php Generate from custom external script
script
31.8 generate page post class.tslib_fe.php generatePage_postProces caching and indexing the page
processing sing()
contentPostProc-all class.tslib_fe.php generatePage_postProces Hook
sing()
contentPostProc- class.tslib_fe.php generatePage_postProces Hook
cached sing()
pageIndexing class.tslib_fe.php generatePage_postProces Hook
sing()
insertPageIncache class.tslib_fe.php realPageCacheContent() Hook