
Public Member Functions | |
| init () | |
| getCurrentPageData () | |
| matching ($cc) | |
| start ($theRootLine) | |
| runThroughTemplates ($theRootLine, $start_template_uid=0) | |
| processTemplate ($row, $idList, $pid, $templateID='', $templateParent='') | |
| includeStaticTypoScriptSources ($idList, $templateID, $pid, $row) | |
| addExtensionStatics ($idList, $templateID, $pid, $row) | |
| prependStaticExtra ($subrow) | |
| versionOL (&$row) | |
| generateConfig () | |
| procesIncludes () | |
| mergeConstantsFromPageTSconfig ($constArray) | |
| flattenSetup ($setupArray, $prefix, $resourceFlag) | |
| substituteConstants ($all) | |
| substituteConstantsCallBack ($matches) | |
| splitConfArray ($conf, $splitCount) | |
| getFileName ($fileFromSetup) | |
| extractFromResources ($res, $file) | |
| checkFile ($name, $menuArr) | |
| printTitle ($title, $no_title=0, $titleFirst=0) | |
| fileContent ($fName) | |
| wrap ($content, $wrap) | |
| removeQueryString ($url) | |
| sortedKeyList ($setupArr, $acceptOnlyProperties=FALSE) | |
| linkData ($page, $oTarget, $no_cache, $script, $overrideArray='', $addParams='', $typeOverride='') | |
| getFromMPmap ($pageId=0) | |
| initMPmap_create ($id, $MP_array=array(), $level=0) | |
Public Attributes | |
| $tt_track = 1 | |
| $forceTemplateParsing = 0 | |
| $matchAlternative = array() | |
| $matchAll = 0 | |
| $parseEditorCfgField = 0 | |
| $backend_info = 0 | |
| $getFileName_backPath = '' | |
| $ext_constants_BRP = 0 | |
| $ext_config_BRP = 0 | |
| $ext_editorcfg_BRP = 0 | |
| $ext_regLinenumbers = FALSE | |
| $uplPath = 'uploads/tf/' | |
| $tempPath = 'typo3temp/' | |
| $menuclasses = 'gmenu,tmenu,imgmenu,jsmenu' | |
| $whereClause = '' | |
| $debug = 0 | |
| $allowedPaths = array() | |
| $currentPageData = '' | |
| $simulationHiddenOrTime = 0 | |
| $loaded = 0 | |
| $setup | |
| $flatSetup | |
| $const | |
| $config = array() | |
| $constants = array() | |
| $editorcfg = array() | |
| $hierarchyInfo = array() | |
| $hierarchyInfoToRoot = array() | |
| $nextLevel = 0 | |
| $rootId | |
| $rootLine | |
| $absoluteRootLine | |
| $outermostRootlineIndexWithTemplate = 0 | |
| $rowSum | |
| $resources = '' | |
| $sitetitle = '' | |
| $sections | |
| $sectionsMatch | |
| $clearList_const = array() | |
| $clearList_setup = array() | |
| $clearList_editorcfg = array() | |
| $parserErrors = array() | |
| $setup_constants = array() | |
| $fileCache = Array() | |
| $frames = Array() | |
| $MPmap = '' | |
Definition at line 109 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::init | ( | ) |
Initialize MUST be called directly after creating a new template-object
Definition at line 211 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::getCurrentPageData | ( | ) |
Fetches the "currentPageData" array from cache
NOTE about currentPageData: It holds information about the TypoScript conditions along with the list of template uid's which is used on the page. In the getFromCache function in TSFE, currentPageData is used to evaluate if there is a template and if the matching conditions are alright Unfortunately this does not take into account if the templates in the rowSum of currentPageData has changed composition, eg. due to hidden fields or start/end time. So if a template is hidden or times out, it'll not be discovered unless the page is regenerated - at least the this->start function must be called, because this will make a new portion of data in currentPageData string
Definition at line 249 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::matching | ( | $ | cc | ) |
Fetches data about which TypoScript-matches there are at this page. Then it performs a matchingtest.
| array | An array with three keys, "all", "rowSum" and "rootLine" - all coming from the $this->currentPageData array |
Definition at line 266 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::start | ( | $ | theRootLine | ) |
This is all about fetching the right TypoScript template structure. If it's not cached then it must be generated and cached! The method traverse the rootline structure from out to in, fetches the hierarchy of template records and based on this either finds the cached TypoScript template structure or parses the template and caches it for next time. Sets $this->setup to the parsed TypoScript Template array
| array | The rootline of the current page (going ALL the way to tree root) |
Definition at line 290 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::runThroughTemplates | ( | $ | theRootLine, | |
| $ | start_template_uid = 0 | |||
| ) |
Traverses the rootLine from the root and out. For each page it checks if there is a template record. If there is a template record, $this->processTemplate() is called. Resets and affects internal variables like $this->constants, $this->config, $this->editorcfg and $this->rowSum Also creates $this->rootLine which is a root line stopping at the root template (contrary to $GLOBALS['TSFE']->rootLine which goes all the way to the root of the tree
| array | The rootline of the current page (going ALL the way to tree root) | |
| integer | Set specific template record UID to select; this is only for debugging/development/analysis use in backend modules like "Web > Template". For parsing TypoScript templates in the frontend it should be 0 (zero) |
Definition at line 406 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::processTemplate | ( | $ | row, | |
| $ | idList, | |||
| $ | pid, | |||
| $ | templateID = '', |
|||
| $ | templateParent = '' | |||
| ) |
Checks if the template ($row) has some included templates and after including them it fills the arrays with the setup Builds up $this->rowSum
| array | A full TypoScript template record (sys_template/static_template/forged "dummy" record made from static template file) | |
| string | A list of already processed template ids including the current; The list is on the form "[prefix]_[uid]" where [prefix] is "sys" for "sys_template" records, "static" for "static_template" records and "ext_" for static include files (from extensions). The list is used to check that the recursive inclusion of templates does not go into circles: Simply it is used to NOT include a template record/file which has already BEEN included somewhere in the recursion. | |
| array | The PID of the input template record | |
| string | The id of the current template. Same syntax as $idList ids, eg. "sys_123" | |
| string | Parent template id (during recursive call); Same syntax as $idList ids, eg. "sys_123" |
Definition at line 459 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::includeStaticTypoScriptSources | ( | $ | idList, | |
| $ | templateID, | |||
| $ | pid, | |||
| $ | row | |||
| ) |
Includes static template records (from static_template table) and static template files (from extensions) for the input template record row.
| string | A list of already processed template ids including the current; The list is on the form "[prefix]_[uid]" where [prefix] is "sys" for "sys_template" records, "static" for "static_template" records and "ext_" for static include files (from extensions). The list is used to check that the recursive inclusion of templates does not go into circles: Simply it is used to NOT include a template record/file which has already BEEN included somewhere in the recursion. | |
| string | The id of the current template. Same syntax as $idList ids, eg. "sys_123" | |
| array | The PID of the input template record | |
| array | A full TypoScript template record |
Definition at line 580 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::addExtensionStatics | ( | $ | idList, | |
| $ | templateID, | |||
| $ | pid, | |||
| $ | row | |||
| ) |
Adds the default TypoScript files for extensions if any.
| string | A list of already processed template ids including the current; The list is on the form "[prefix]_[uid]" where [prefix] is "sys" for "sys_template" records, "static" for "static_template" records and "ext_" for static include files (from extensions). The list is used to check that the recursive inclusion of templates does not go into circles: Simply it is used to NOT include a template record/file which has already BEEN included somewhere in the recursion. | |
| string | The id of the current template. Same syntax as $idList ids, eg. "sys_123" | |
| array | The PID of the input template record | |
| array | A full TypoScript template record |
Definition at line 642 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::prependStaticExtra | ( | $ | subrow | ) |
Appends (not prepends) additional TypoScript code to static template records/files as set in TYPO3_CONF_VARS For records the "uid" value is the integer of the "static_template" record For files the "uid" value is the extension key but with any underscores removed. Possibly with a path if its a static file selected in the template record
| array | Static template record/file |
Definition at line 675 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::versionOL | ( | &$ | row | ) |
Creating versioning overlay of a sys_template record. This will use either frontend or backend overlay functionality depending on environment.
| array | Row to overlay. |
Definition at line 688 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::generateConfig | ( | ) |
Generates the configuration array by replacing constants and parsing the whole thing. Depends on $this->config and $this->constants to be set prior to this! (done by processTemplate/runThroughTemplates)
Definition at line 725 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::procesIncludes | ( | ) |
Searching TypoScript code text (for constants, config (Setup) and editorcfg) for include instructions and does the inclusion if needed. Modifies
Definition at line 891 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::mergeConstantsFromPageTSconfig | ( | $ | constArray | ) |
Loads Page TSconfig until the outermost template record and parses the configuration - if TSFE.constants object path is found it is merged with the default data in here!
| array | Constants array, default input. |
Definition at line 915 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::flattenSetup | ( | $ | setupArray, | |
| $ | prefix, | |||
| $ | resourceFlag | |||
| ) |
This flattens a hierarchical TypoScript array to $this->flatSetup
| array | TypoScript array | |
| string | Prefix to the object path. Used for recursive calls to this function. | |
| boolean | If set, then the constant value will be resolved as a TypoScript "resource" data type. Also used internally during recursive calls so that all subproperties for properties named "file." will be resolved as resources. |
Reimplemented in t3lib_tsparser_ext.
Definition at line 944 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::substituteConstants | ( | $ | all | ) |
Substitutes the constants from $this->flatSetup in the text string $all
| string | TypoScript code text string |
Reimplemented in t3lib_tsparser_ext.
Definition at line 968 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::substituteConstantsCallBack | ( | $ | matches | ) |
Call back method for preg_replace_callback in substituteConstants
| array | Regular expression matches |
Reimplemented in t3lib_tsparser_ext.
Definition at line 991 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::splitConfArray | ( | $ | conf, | |
| $ | splitCount | |||
| ) |
Implementation of the "optionSplit" feature in TypoScript (used eg. for MENU objects) What it does is to split the incoming TypoScript array so that the values are exploded by certain strings ("||" and "|*|") and each part distributed into individual TypoScript arrays with a similar structure, but individualized values. The concept is known as "optionSplit" and is rather advanced to handle but quite powerful, in particular for creating menus in TYPO3.
| array | A TypoScript array | |
| integer | The number of items for which to generated individual TypoScript arrays |
Definition at line 1022 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::getFileName | ( | $ | fileFromSetup | ) |
Returns the reference to a 'resource' in TypoScript. This could be from the filesystem if '/' is found in the value $fileFromSetup, else from the resource-list
| string | TypoScript "resource" data type value. |
Definition at line 1099 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::extractFromResources | ( | $ | res, | |
| $ | file | |||
| ) |
Searches for the TypoScript resource filename in the list of resource filenames.
| string | The resource file name list (from $this->setup['resources']) | |
| string | The resource value to match |
Definition at line 1162 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::checkFile | ( | $ | name, | |
| $ | menuArr | |||
| ) |
CheckFile runs through the $menuArr and checks every file-reference in $name (Not used anywhere)
| string | Property name in the menu array | |
| array | Menu array to traverse |
Definition at line 1190 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::printTitle | ( | $ | title, | |
| $ | no_title = 0, |
|||
| $ | titleFirst = 0 | |||
| ) |
Compiles the content for the page <title> tag.
| string | The input title string, typically the "title" field of a page's record. | |
| boolean | If set, then only the site title is outputted (from $this->setup['sitetitle']) | |
| boolean | If set, then "sitetitle" and $title is swapped |
Definition at line 1207 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::fileContent | ( | $ | fName | ) |
Reads the fileContent of $fName and returns it. The same as t3lib_div::getUrl()
| string | Absolute filepath to record |
Definition at line 1230 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::wrap | ( | $ | content, | |
| $ | wrap | |||
| ) |
Ordinary "wrapping" function. Used in the tslib_menu class and extension classes instead of the similar function in tslib_cObj
| string | The content to wrap | |
| string | The wrap value, eg. "<b> | </b>" |
Definition at line 1250 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::removeQueryString | ( | $ | url | ) |
Removes the "?" of input string IF the "?" is the last character.
| string | Input string |
Definition at line 1264 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::sortedKeyList | ( | $ | setupArr, | |
| $ | acceptOnlyProperties = FALSE | |||
| ) |
Takes a TypoScript array as input and returns an array which contains all integer properties found which had a value (not only properties). The output array will be sorted numerically. Call it like t3lib_TStemplate::sortedKeyList()
| array | TypoScript array with numerical array in | |
| boolean | If set, then a value is not required - the properties alone will be enough. |
Definition at line 1281 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::linkData | ( | $ | page, | |
| $ | oTarget, | |||
| $ | no_cache, | |||
| $ | script, | |||
| $ | overrideArray = '', |
|||
| $ | addParams = '', |
|||
| $ | typeOverride = '' | |||
| ) |
The mother of all functions creating links/URLs etc in a TypoScript environment. See the references below. Basically this function takes care of issues such as type,id,alias and Mount Points, simulate static documents, M5/B6 encoded parameters etc. It is important to pass all links created through this function since this is the guarantee that globally configured settings for link creating are observed and that your applications will conform to the various/many configuration options in TypoScript Templates regarding this.
| array | The page record of the page to which we are creating a link. Needed due to fields like uid, alias, target, no_cache, title and sectionIndex_uid. | |
| string | Default target string to use IF not $page['target'] is set. | |
| boolean | If set, then the "&no_cache=1" parameter is included in the URL. | |
| string | Alternative script name if you don't want to use $GLOBALS['TSFE']->config['mainScript'] (normally set to "index.php") | |
| array | Array with overriding values for the $page array. | |
| string | Additional URL parameters to set in the URL. Syntax is "&foo=bar&foo2=bar2" etc. Also used internally to add parameters if needed. | |
| string | If you set this value to something else than a blank string, then the typeNumber used in the link will be forced to this value. Normally the typeNum is based on the target set OR on $GLOBALS['TSFE']->config['config']['forceTypeValue'] if found. |
Definition at line 1328 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::getFromMPmap | ( | $ | pageId = 0 |
) |
Initializes the automatically created MPmap coming from the "config.MP_mapRootPoints" setting Can be called many times with overhead only the first time since then the map is generated and cached in memory.
| integer | Page id to return MPvar value for. |
Definition at line 1455 of file class.t3lib_tstemplate.php.
| t3lib_TStemplate::initMPmap_create | ( | $ | id, | |
| $ | MP_array = array(), |
|||
| $ | level = 0 | |||
| ) |
Creating MPmap for a certain ID root point.
| integer | Root id from which to start map creation. | |
| array | MP_array passed from root page. | |
| integer | Recursion brake. Incremented for each recursive call. 20 is the limit. |
Definition at line 1491 of file class.t3lib_tstemplate.php.