.T3X files are use to store all information including the code of an extension in a single file. For compatibility reasons, TER 2.0 does not come up with a completely new format but uses the existing one, supported by many TYPO3 versions.
Basically two variants exist, an uncompressed and a gzipped file format.
The file format is quite simple: It consists of a big serialized array which holds all information and is prepended by an MD5 hash of that serialized data followed by two colons ('::'). In case of the gzipped variant, the serialized array is zipped and the keyword “gzcompress” is inserted between the two colons.
Examples
Unzipped .T3X file (beginning)362e706ddd7ee003070c1cefb7c54579::a:5:{s:6:"extKey";s:7:"nothing";s: ...
Zipped .T3X file (beginning)362e706ddd7ee003070c1cefb7c54579:gzcompress:xœÃヘYÃヘnãÈvÂ’=Ä>-à ...
The following table explains the structure of the nested data array:
Root:
Key | Description | Example | Remarks |
|---|---|---|---|
extKey | The extension key | templavoila | |
EM_CONF | Information array from the ext_emconf.php file. See extra table below | ( Array ) | |
misc | Miscellaneous information about the extension. See extra table below. | ( Array ) | |
techInfo | Technical information about the extension. See extra table below. | ( Array ) | |
FILES | Array of file data arrays with the file name used as the key. See extra table below for explanation of the file data array structure. | ( Array ) |
EM_CONF:
Key | Description | Example | Remarks |
|---|---|---|---|
title | Title of the extension | TemplaVoila! | |
description | Short description of the extension | A new template mapping tool which ... | |
category | A category abbreviation. The following categories are commonly used: be -> Backend module -> Backend Modules fe -> Frontend plugin -> Frontend Plugins misc -> Miscellaneous services -> Services templates -> Templates example -> Examples doc -> Documentation | plugin | |
shy | Flag (boolean) stating if the extension is “shy”. A shy extension does not appear in the default list of extensions in the Extension Manager to not confuse the user with too many little extensions. | 1 | |
dependencies | Comma separated list of extension keys the extension depends on. | cms,lang,tt_news | |
conflicts | |||
priority | |||
loadOrder | |||
TYPO3_version | |||
PHP_version | |||
module | |||
state | |||
internal | |||
uploadfolder | |||
createDirs | |||
modify_tables | |||
clearCacheOnLoad | |||
lockType | |||
author | |||
author_email | |||
author_company | |||
CGLcompliance | |||
CGLcompliance_note | |||
private | |||
download_password | |||
version | |||
_md5_values_when_last_written |
misc:
Key | Description | Example | Required ? |
|---|---|---|---|
codelines | |||
codebytes |
techInfo:
Key | Description | Example | Required ? |
|---|---|---|---|
flags | (Array) | ||
locallang | |||
classes |
FILES (value array):
Key | Description | Example | Required ? |
|---|---|---|---|
name | |||
size | |||
mtime | |||
is_executable | |||
content | |||
content_md5 |